Skip to content

Commit 84da315

Browse files
committed
Add GoogleCalendarTests for easily testing various errors (Issue #18)
1 parent 64812da commit 84da315

File tree

2 files changed

+108
-0
lines changed

2 files changed

+108
-0
lines changed

package/contents/ui/calendars/GoogleCalendarManager.qml

+7
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ import QtQuick 2.0
33
import "../lib/Requests.js" as Requests
44
import "../../code/ColorIdMap.js" as ColorIdMap
55

6+
// import "./GoogleCalendarTests.js" as GoogleCalendarTests
7+
68
CalendarManager {
79
id: googleCalendarManager
810

@@ -55,6 +57,11 @@ CalendarManager {
5557

5658
function fetchGCalEvents(args, callback) {
5759
logger.debug('fetchGCalEvents', args.calendarId)
60+
61+
// return GoogleCalendarTests.testInvalidCredentials(callback)
62+
// return GoogleCalendarTests.testDailyLimitExceeded(callback)
63+
// return GoogleCalendarTests.testBackendError(callback)
64+
5865
var onResponse = fetchGCalEventsPageResponse.bind(this, args, callback, null)
5966
fetchGCalEventsPage(args, onResponse)
6067
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
.pragma library
2+
3+
// Google Calendar Errors are documented at:
4+
// https://developers.google.com/calendar/v3/errors
5+
6+
function testInvalidCredentials(callback) {
7+
var err = {
8+
"error": {
9+
"errors": [
10+
{
11+
"domain": "global",
12+
"reason": "authError",
13+
"message": "Invalid Credentials",
14+
"locationType": "header",
15+
"location": "Authorization",
16+
}
17+
],
18+
"code": 401,
19+
"message": "Invalid Credentials"
20+
}
21+
}
22+
var data = null
23+
var xhr = { status: err.error.code }
24+
return callback(err, data, xhr)
25+
}
26+
27+
function testDailyLimitExceeded(callback) {
28+
var err = {
29+
"error": {
30+
"errors": [
31+
{
32+
"domain": "usageLimits",
33+
"reason": "dailyLimitExceeded",
34+
"message": "Daily Limit Exceeded"
35+
}
36+
],
37+
"code": 403,
38+
"message": "Daily Limit Exceeded"
39+
}
40+
}
41+
var data = null
42+
var xhr = { status: err.error.code }
43+
return callback(err, data, xhr)
44+
}
45+
46+
function testUserRateLimitExceeded(callback) {
47+
var err = {
48+
"error": {
49+
"errors": [
50+
{
51+
"domain": "usageLimits",
52+
"reason": "userRateLimitExceeded",
53+
"message": "User Rate Limit Exceeded"
54+
}
55+
],
56+
"code": 403,
57+
"message": "User Rate Limit Exceeded"
58+
}
59+
}
60+
var data = null
61+
var xhr = { status: err.error.code }
62+
return callback(err, data, xhr)
63+
}
64+
65+
function testRateLimitExceeded(callback) {
66+
var err = {
67+
"error": {
68+
"errors": [
69+
{
70+
"domain": "usageLimits",
71+
"reason": "rateLimitExceeded",
72+
"message": "Rate Limit Exceeded"
73+
}
74+
],
75+
"code": 403,
76+
"message": "Rate Limit Exceeded"
77+
}
78+
}
79+
var data = null
80+
var xhr = { status: err.error.code }
81+
return callback(err, data, xhr)
82+
}
83+
84+
function testBackendError(callback) {
85+
var err = {
86+
"error": {
87+
"errors": [
88+
{
89+
"domain": "global",
90+
"reason": "backendError",
91+
"message": "Backend Error",
92+
}
93+
],
94+
"code": 500,
95+
"message": "Backend Error"
96+
}
97+
}
98+
var data = null
99+
var xhr = { status: err.error.code }
100+
return callback(err, data, xhr)
101+
}

0 commit comments

Comments
 (0)