OLD | NEW |
1 library googleapis.appstate.v1.test; | 1 library googleapis.appstate.v1.test; |
2 | 2 |
3 import "dart:core" as core; | 3 import "dart:core" as core; |
4 import "dart:collection" as collection; | |
5 import "dart:async" as async; | 4 import "dart:async" as async; |
6 import "dart:convert" as convert; | 5 import "dart:convert" as convert; |
7 | 6 |
8 import 'package:http/http.dart' as http; | 7 import 'package:http/http.dart' as http; |
9 import 'package:http/testing.dart' as http_testing; | |
10 import 'package:test/test.dart' as unittest; | 8 import 'package:test/test.dart' as unittest; |
11 | 9 |
12 import 'package:googleapis/appstate/v1.dart' as api; | 10 import 'package:googleapis/appstate/v1.dart' as api; |
13 | 11 |
14 class HttpServerMock extends http.BaseClient { | 12 class HttpServerMock extends http.BaseClient { |
15 core.Function _callback; | 13 core.Function _callback; |
16 core.bool _expectJson; | 14 core.bool _expectJson; |
17 | 15 |
18 void register(core.Function callback, core.bool expectJson) { | 16 void register(core.Function callback, core.bool expectJson) { |
19 _callback = callback; | 17 _callback = callback; |
20 _expectJson = expectJson; | 18 _expectJson = expectJson; |
21 } | 19 } |
22 | 20 |
23 async.Future<http.StreamedResponse> send(http.BaseRequest request) { | 21 async.Future<http.StreamedResponse> send(http.BaseRequest request) { |
24 if (_expectJson) { | 22 if (_expectJson) { |
25 return request.finalize() | 23 return request |
| 24 .finalize() |
26 .transform(convert.UTF8.decoder) | 25 .transform(convert.UTF8.decoder) |
27 .join('') | 26 .join('') |
28 .then((core.String jsonString) { | 27 .then((core.String jsonString) { |
29 if (jsonString.isEmpty) { | 28 if (jsonString.isEmpty) { |
30 return _callback(request, null); | 29 return _callback(request, null); |
31 } else { | 30 } else { |
32 return _callback(request, convert.JSON.decode(jsonString)); | 31 return _callback(request, convert.JSON.decode(jsonString)); |
33 } | 32 } |
34 }); | 33 }); |
35 } else { | 34 } else { |
36 var stream = request.finalize(); | 35 var stream = request.finalize(); |
37 if (stream == null) { | 36 if (stream == null) { |
38 return _callback(request, []); | 37 return _callback(request, []); |
39 } else { | 38 } else { |
40 return stream.toBytes().then((data) { | 39 return stream.toBytes().then((data) { |
41 return _callback(request, data); | 40 return _callback(request, data); |
42 }); | 41 }); |
43 } | 42 } |
44 } | 43 } |
45 } | 44 } |
46 } | 45 } |
47 | 46 |
48 http.StreamedResponse stringResponse( | 47 http.StreamedResponse stringResponse(core.int status, |
49 core.int status, core.Map<core.String, core.String> headers, core.String bod
y) { | 48 core.Map<core.String, core.String> headers, core.String body) { |
50 var stream = new async.Stream.fromIterable([convert.UTF8.encode(body)]); | 49 var stream = new async.Stream.fromIterable([convert.UTF8.encode(body)]); |
51 return new http.StreamedResponse(stream, status, headers: headers); | 50 return new http.StreamedResponse(stream, status, headers: headers); |
52 } | 51 } |
53 | 52 |
54 core.int buildCounterGetResponse = 0; | 53 core.int buildCounterGetResponse = 0; |
55 buildGetResponse() { | 54 buildGetResponse() { |
56 var o = new api.GetResponse(); | 55 var o = new api.GetResponse(); |
57 buildCounterGetResponse++; | 56 buildCounterGetResponse++; |
58 if (buildCounterGetResponse < 3) { | 57 if (buildCounterGetResponse < 3) { |
59 o.currentStateVersion = "foo"; | 58 o.currentStateVersion = "foo"; |
60 o.data = "foo"; | 59 o.data = "foo"; |
61 o.kind = "foo"; | 60 o.kind = "foo"; |
62 o.stateKey = 42; | 61 o.stateKey = 42; |
63 } | 62 } |
64 buildCounterGetResponse--; | 63 buildCounterGetResponse--; |
65 return o; | 64 return o; |
66 } | 65 } |
67 | 66 |
68 checkGetResponse(api.GetResponse o) { | 67 checkGetResponse(api.GetResponse o) { |
69 buildCounterGetResponse++; | 68 buildCounterGetResponse++; |
70 if (buildCounterGetResponse < 3) { | 69 if (buildCounterGetResponse < 3) { |
71 unittest.expect(o.currentStateVersion, unittest.equals('foo')); | 70 unittest.expect(o.currentStateVersion, unittest.equals('foo')); |
72 unittest.expect(o.data, unittest.equals('foo')); | 71 unittest.expect(o.data, unittest.equals('foo')); |
73 unittest.expect(o.kind, unittest.equals('foo')); | 72 unittest.expect(o.kind, unittest.equals('foo')); |
74 unittest.expect(o.stateKey, unittest.equals(42)); | 73 unittest.expect(o.stateKey, unittest.equals(42)); |
75 } | 74 } |
76 buildCounterGetResponse--; | 75 buildCounterGetResponse--; |
77 } | 76 } |
78 | 77 |
79 buildUnnamed2515() { | 78 buildUnnamed2502() { |
80 var o = new core.List<api.GetResponse>(); | 79 var o = new core.List<api.GetResponse>(); |
81 o.add(buildGetResponse()); | 80 o.add(buildGetResponse()); |
82 o.add(buildGetResponse()); | 81 o.add(buildGetResponse()); |
83 return o; | 82 return o; |
84 } | 83 } |
85 | 84 |
86 checkUnnamed2515(core.List<api.GetResponse> o) { | 85 checkUnnamed2502(core.List<api.GetResponse> o) { |
87 unittest.expect(o, unittest.hasLength(2)); | 86 unittest.expect(o, unittest.hasLength(2)); |
88 checkGetResponse(o[0]); | 87 checkGetResponse(o[0]); |
89 checkGetResponse(o[1]); | 88 checkGetResponse(o[1]); |
90 } | 89 } |
91 | 90 |
92 core.int buildCounterListResponse = 0; | 91 core.int buildCounterListResponse = 0; |
93 buildListResponse() { | 92 buildListResponse() { |
94 var o = new api.ListResponse(); | 93 var o = new api.ListResponse(); |
95 buildCounterListResponse++; | 94 buildCounterListResponse++; |
96 if (buildCounterListResponse < 3) { | 95 if (buildCounterListResponse < 3) { |
97 o.items = buildUnnamed2515(); | 96 o.items = buildUnnamed2502(); |
98 o.kind = "foo"; | 97 o.kind = "foo"; |
99 o.maximumKeyCount = 42; | 98 o.maximumKeyCount = 42; |
100 } | 99 } |
101 buildCounterListResponse--; | 100 buildCounterListResponse--; |
102 return o; | 101 return o; |
103 } | 102 } |
104 | 103 |
105 checkListResponse(api.ListResponse o) { | 104 checkListResponse(api.ListResponse o) { |
106 buildCounterListResponse++; | 105 buildCounterListResponse++; |
107 if (buildCounterListResponse < 3) { | 106 if (buildCounterListResponse < 3) { |
108 checkUnnamed2515(o.items); | 107 checkUnnamed2502(o.items); |
109 unittest.expect(o.kind, unittest.equals('foo')); | 108 unittest.expect(o.kind, unittest.equals('foo')); |
110 unittest.expect(o.maximumKeyCount, unittest.equals(42)); | 109 unittest.expect(o.maximumKeyCount, unittest.equals(42)); |
111 } | 110 } |
112 buildCounterListResponse--; | 111 buildCounterListResponse--; |
113 } | 112 } |
114 | 113 |
115 core.int buildCounterUpdateRequest = 0; | 114 core.int buildCounterUpdateRequest = 0; |
116 buildUpdateRequest() { | 115 buildUpdateRequest() { |
117 var o = new api.UpdateRequest(); | 116 var o = new api.UpdateRequest(); |
118 buildCounterUpdateRequest++; | 117 buildCounterUpdateRequest++; |
(...skipping 30 matching lines...) Expand all Loading... |
149 checkWriteResult(api.WriteResult o) { | 148 checkWriteResult(api.WriteResult o) { |
150 buildCounterWriteResult++; | 149 buildCounterWriteResult++; |
151 if (buildCounterWriteResult < 3) { | 150 if (buildCounterWriteResult < 3) { |
152 unittest.expect(o.currentStateVersion, unittest.equals('foo')); | 151 unittest.expect(o.currentStateVersion, unittest.equals('foo')); |
153 unittest.expect(o.kind, unittest.equals('foo')); | 152 unittest.expect(o.kind, unittest.equals('foo')); |
154 unittest.expect(o.stateKey, unittest.equals(42)); | 153 unittest.expect(o.stateKey, unittest.equals(42)); |
155 } | 154 } |
156 buildCounterWriteResult--; | 155 buildCounterWriteResult--; |
157 } | 156 } |
158 | 157 |
159 | |
160 main() { | 158 main() { |
161 unittest.group("obj-schema-GetResponse", () { | 159 unittest.group("obj-schema-GetResponse", () { |
162 unittest.test("to-json--from-json", () { | 160 unittest.test("to-json--from-json", () { |
163 var o = buildGetResponse(); | 161 var o = buildGetResponse(); |
164 var od = new api.GetResponse.fromJson(o.toJson()); | 162 var od = new api.GetResponse.fromJson(o.toJson()); |
165 checkGetResponse(od); | 163 checkGetResponse(od); |
166 }); | 164 }); |
167 }); | 165 }); |
168 | 166 |
169 | |
170 unittest.group("obj-schema-ListResponse", () { | 167 unittest.group("obj-schema-ListResponse", () { |
171 unittest.test("to-json--from-json", () { | 168 unittest.test("to-json--from-json", () { |
172 var o = buildListResponse(); | 169 var o = buildListResponse(); |
173 var od = new api.ListResponse.fromJson(o.toJson()); | 170 var od = new api.ListResponse.fromJson(o.toJson()); |
174 checkListResponse(od); | 171 checkListResponse(od); |
175 }); | 172 }); |
176 }); | 173 }); |
177 | 174 |
178 | |
179 unittest.group("obj-schema-UpdateRequest", () { | 175 unittest.group("obj-schema-UpdateRequest", () { |
180 unittest.test("to-json--from-json", () { | 176 unittest.test("to-json--from-json", () { |
181 var o = buildUpdateRequest(); | 177 var o = buildUpdateRequest(); |
182 var od = new api.UpdateRequest.fromJson(o.toJson()); | 178 var od = new api.UpdateRequest.fromJson(o.toJson()); |
183 checkUpdateRequest(od); | 179 checkUpdateRequest(od); |
184 }); | 180 }); |
185 }); | 181 }); |
186 | 182 |
187 | |
188 unittest.group("obj-schema-WriteResult", () { | 183 unittest.group("obj-schema-WriteResult", () { |
189 unittest.test("to-json--from-json", () { | 184 unittest.test("to-json--from-json", () { |
190 var o = buildWriteResult(); | 185 var o = buildWriteResult(); |
191 var od = new api.WriteResult.fromJson(o.toJson()); | 186 var od = new api.WriteResult.fromJson(o.toJson()); |
192 checkWriteResult(od); | 187 checkWriteResult(od); |
193 }); | 188 }); |
194 }); | 189 }); |
195 | 190 |
196 | |
197 unittest.group("resource-StatesResourceApi", () { | 191 unittest.group("resource-StatesResourceApi", () { |
198 unittest.test("method--clear", () { | 192 unittest.test("method--clear", () { |
199 | |
200 var mock = new HttpServerMock(); | 193 var mock = new HttpServerMock(); |
201 api.StatesResourceApi res = new api.AppstateApi(mock).states; | 194 api.StatesResourceApi res = new api.AppstateApi(mock).states; |
202 var arg_stateKey = 42; | 195 var arg_stateKey = 42; |
203 var arg_currentDataVersion = "foo"; | 196 var arg_currentDataVersion = "foo"; |
204 mock.register(unittest.expectAsync2((http.BaseRequest req, json) { | 197 mock.register(unittest.expectAsync2((http.BaseRequest req, json) { |
205 var path = (req.url).path; | 198 var path = (req.url).path; |
206 var pathOffset = 0; | 199 var pathOffset = 0; |
207 var index; | 200 var index; |
208 var subPart; | 201 var subPart; |
209 unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equ
als("/")); | 202 unittest.expect( |
| 203 path.substring(pathOffset, pathOffset + 1), unittest.equals("/")); |
210 pathOffset += 1; | 204 pathOffset += 1; |
211 unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.eq
uals("appstate/v1/")); | 205 unittest.expect(path.substring(pathOffset, pathOffset + 12), |
| 206 unittest.equals("appstate/v1/")); |
212 pathOffset += 12; | 207 pathOffset += 12; |
213 unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equ
als("states/")); | 208 unittest.expect(path.substring(pathOffset, pathOffset + 7), |
| 209 unittest.equals("states/")); |
214 pathOffset += 7; | 210 pathOffset += 7; |
215 index = path.indexOf("/clear", pathOffset); | 211 index = path.indexOf("/clear", pathOffset); |
216 unittest.expect(index >= 0, unittest.isTrue); | 212 unittest.expect(index >= 0, unittest.isTrue); |
217 subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset, index
)); | 213 subPart = |
| 214 core.Uri.decodeQueryComponent(path.substring(pathOffset, index)); |
218 pathOffset = index; | 215 pathOffset = index; |
219 unittest.expect(subPart, unittest.equals("$arg_stateKey")); | 216 unittest.expect(subPart, unittest.equals("$arg_stateKey")); |
220 unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equ
als("/clear")); | 217 unittest.expect(path.substring(pathOffset, pathOffset + 6), |
| 218 unittest.equals("/clear")); |
221 pathOffset += 6; | 219 pathOffset += 6; |
222 | 220 |
223 var query = (req.url).query; | 221 var query = (req.url).query; |
224 var queryOffset = 0; | 222 var queryOffset = 0; |
225 var queryMap = {}; | 223 var queryMap = {}; |
226 addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v); | 224 addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v); |
227 parseBool(n) { | 225 parseBool(n) { |
228 if (n == "true") return true; | 226 if (n == "true") return true; |
229 if (n == "false") return false; | 227 if (n == "false") return false; |
230 if (n == null) return null; | 228 if (n == null) return null; |
231 throw new core.ArgumentError("Invalid boolean: $n"); | 229 throw new core.ArgumentError("Invalid boolean: $n"); |
232 } | 230 } |
| 231 |
233 if (query.length > 0) { | 232 if (query.length > 0) { |
234 for (var part in query.split("&")) { | 233 for (var part in query.split("&")) { |
235 var keyvalue = part.split("="); | 234 var keyvalue = part.split("="); |
236 addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), core.Uri.d
ecodeQueryComponent(keyvalue[1])); | 235 addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), |
| 236 core.Uri.decodeQueryComponent(keyvalue[1])); |
237 } | 237 } |
238 } | 238 } |
239 unittest.expect(queryMap["currentDataVersion"].first, unittest.equals(ar
g_currentDataVersion)); | 239 unittest.expect(queryMap["currentDataVersion"].first, |
240 | 240 unittest.equals(arg_currentDataVersion)); |
241 | 241 |
242 var h = { | 242 var h = { |
243 "content-type" : "application/json; charset=utf-8", | 243 "content-type": "application/json; charset=utf-8", |
244 }; | 244 }; |
245 var resp = convert.JSON.encode(buildWriteResult()); | 245 var resp = convert.JSON.encode(buildWriteResult()); |
246 return new async.Future.value(stringResponse(200, h, resp)); | 246 return new async.Future.value(stringResponse(200, h, resp)); |
247 }), true); | 247 }), true); |
248 res.clear(arg_stateKey, currentDataVersion: arg_currentDataVersion).then(u
nittest.expectAsync1(((api.WriteResult response) { | 248 res |
| 249 .clear(arg_stateKey, currentDataVersion: arg_currentDataVersion) |
| 250 .then(unittest.expectAsync1(((api.WriteResult response) { |
249 checkWriteResult(response); | 251 checkWriteResult(response); |
250 }))); | 252 }))); |
251 }); | 253 }); |
252 | 254 |
253 unittest.test("method--delete", () { | 255 unittest.test("method--delete", () { |
254 | |
255 var mock = new HttpServerMock(); | 256 var mock = new HttpServerMock(); |
256 api.StatesResourceApi res = new api.AppstateApi(mock).states; | 257 api.StatesResourceApi res = new api.AppstateApi(mock).states; |
257 var arg_stateKey = 42; | 258 var arg_stateKey = 42; |
258 mock.register(unittest.expectAsync2((http.BaseRequest req, json) { | 259 mock.register(unittest.expectAsync2((http.BaseRequest req, json) { |
259 var path = (req.url).path; | 260 var path = (req.url).path; |
260 var pathOffset = 0; | 261 var pathOffset = 0; |
261 var index; | 262 var index; |
262 var subPart; | 263 var subPart; |
263 unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equ
als("/")); | 264 unittest.expect( |
| 265 path.substring(pathOffset, pathOffset + 1), unittest.equals("/")); |
264 pathOffset += 1; | 266 pathOffset += 1; |
265 unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.eq
uals("appstate/v1/")); | 267 unittest.expect(path.substring(pathOffset, pathOffset + 12), |
| 268 unittest.equals("appstate/v1/")); |
266 pathOffset += 12; | 269 pathOffset += 12; |
267 unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equ
als("states/")); | 270 unittest.expect(path.substring(pathOffset, pathOffset + 7), |
| 271 unittest.equals("states/")); |
268 pathOffset += 7; | 272 pathOffset += 7; |
269 subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); | 273 subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); |
270 pathOffset = path.length; | 274 pathOffset = path.length; |
271 unittest.expect(subPart, unittest.equals("$arg_stateKey")); | 275 unittest.expect(subPart, unittest.equals("$arg_stateKey")); |
272 | 276 |
273 var query = (req.url).query; | 277 var query = (req.url).query; |
274 var queryOffset = 0; | 278 var queryOffset = 0; |
275 var queryMap = {}; | 279 var queryMap = {}; |
276 addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v); | 280 addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v); |
277 parseBool(n) { | 281 parseBool(n) { |
278 if (n == "true") return true; | 282 if (n == "true") return true; |
279 if (n == "false") return false; | 283 if (n == "false") return false; |
280 if (n == null) return null; | 284 if (n == null) return null; |
281 throw new core.ArgumentError("Invalid boolean: $n"); | 285 throw new core.ArgumentError("Invalid boolean: $n"); |
282 } | 286 } |
| 287 |
283 if (query.length > 0) { | 288 if (query.length > 0) { |
284 for (var part in query.split("&")) { | 289 for (var part in query.split("&")) { |
285 var keyvalue = part.split("="); | 290 var keyvalue = part.split("="); |
286 addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), core.Uri.d
ecodeQueryComponent(keyvalue[1])); | 291 addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), |
| 292 core.Uri.decodeQueryComponent(keyvalue[1])); |
287 } | 293 } |
288 } | 294 } |
289 | 295 |
290 | |
291 var h = { | 296 var h = { |
292 "content-type" : "application/json; charset=utf-8", | 297 "content-type": "application/json; charset=utf-8", |
293 }; | 298 }; |
294 var resp = ""; | 299 var resp = ""; |
295 return new async.Future.value(stringResponse(200, h, resp)); | 300 return new async.Future.value(stringResponse(200, h, resp)); |
296 }), true); | 301 }), true); |
297 res.delete(arg_stateKey).then(unittest.expectAsync1((_) {})); | 302 res.delete(arg_stateKey).then(unittest.expectAsync1((_) {})); |
298 }); | 303 }); |
299 | 304 |
300 unittest.test("method--get", () { | 305 unittest.test("method--get", () { |
301 | |
302 var mock = new HttpServerMock(); | 306 var mock = new HttpServerMock(); |
303 api.StatesResourceApi res = new api.AppstateApi(mock).states; | 307 api.StatesResourceApi res = new api.AppstateApi(mock).states; |
304 var arg_stateKey = 42; | 308 var arg_stateKey = 42; |
305 mock.register(unittest.expectAsync2((http.BaseRequest req, json) { | 309 mock.register(unittest.expectAsync2((http.BaseRequest req, json) { |
306 var path = (req.url).path; | 310 var path = (req.url).path; |
307 var pathOffset = 0; | 311 var pathOffset = 0; |
308 var index; | 312 var index; |
309 var subPart; | 313 var subPart; |
310 unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equ
als("/")); | 314 unittest.expect( |
| 315 path.substring(pathOffset, pathOffset + 1), unittest.equals("/")); |
311 pathOffset += 1; | 316 pathOffset += 1; |
312 unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.eq
uals("appstate/v1/")); | 317 unittest.expect(path.substring(pathOffset, pathOffset + 12), |
| 318 unittest.equals("appstate/v1/")); |
313 pathOffset += 12; | 319 pathOffset += 12; |
314 unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equ
als("states/")); | 320 unittest.expect(path.substring(pathOffset, pathOffset + 7), |
| 321 unittest.equals("states/")); |
315 pathOffset += 7; | 322 pathOffset += 7; |
316 subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); | 323 subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); |
317 pathOffset = path.length; | 324 pathOffset = path.length; |
318 unittest.expect(subPart, unittest.equals("$arg_stateKey")); | 325 unittest.expect(subPart, unittest.equals("$arg_stateKey")); |
319 | 326 |
320 var query = (req.url).query; | 327 var query = (req.url).query; |
321 var queryOffset = 0; | 328 var queryOffset = 0; |
322 var queryMap = {}; | 329 var queryMap = {}; |
323 addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v); | 330 addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v); |
324 parseBool(n) { | 331 parseBool(n) { |
325 if (n == "true") return true; | 332 if (n == "true") return true; |
326 if (n == "false") return false; | 333 if (n == "false") return false; |
327 if (n == null) return null; | 334 if (n == null) return null; |
328 throw new core.ArgumentError("Invalid boolean: $n"); | 335 throw new core.ArgumentError("Invalid boolean: $n"); |
329 } | 336 } |
| 337 |
330 if (query.length > 0) { | 338 if (query.length > 0) { |
331 for (var part in query.split("&")) { | 339 for (var part in query.split("&")) { |
332 var keyvalue = part.split("="); | 340 var keyvalue = part.split("="); |
333 addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), core.Uri.d
ecodeQueryComponent(keyvalue[1])); | 341 addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), |
| 342 core.Uri.decodeQueryComponent(keyvalue[1])); |
334 } | 343 } |
335 } | 344 } |
336 | 345 |
337 | |
338 var h = { | 346 var h = { |
339 "content-type" : "application/json; charset=utf-8", | 347 "content-type": "application/json; charset=utf-8", |
340 }; | 348 }; |
341 var resp = convert.JSON.encode(buildGetResponse()); | 349 var resp = convert.JSON.encode(buildGetResponse()); |
342 return new async.Future.value(stringResponse(200, h, resp)); | 350 return new async.Future.value(stringResponse(200, h, resp)); |
343 }), true); | 351 }), true); |
344 res.get(arg_stateKey).then(unittest.expectAsync1(((api.GetResponse respons
e) { | 352 res |
| 353 .get(arg_stateKey) |
| 354 .then(unittest.expectAsync1(((api.GetResponse response) { |
345 checkGetResponse(response); | 355 checkGetResponse(response); |
346 }))); | 356 }))); |
347 }); | 357 }); |
348 | 358 |
349 unittest.test("method--list", () { | 359 unittest.test("method--list", () { |
350 | |
351 var mock = new HttpServerMock(); | 360 var mock = new HttpServerMock(); |
352 api.StatesResourceApi res = new api.AppstateApi(mock).states; | 361 api.StatesResourceApi res = new api.AppstateApi(mock).states; |
353 var arg_includeData = true; | 362 var arg_includeData = true; |
354 mock.register(unittest.expectAsync2((http.BaseRequest req, json) { | 363 mock.register(unittest.expectAsync2((http.BaseRequest req, json) { |
355 var path = (req.url).path; | 364 var path = (req.url).path; |
356 var pathOffset = 0; | 365 var pathOffset = 0; |
357 var index; | 366 var index; |
358 var subPart; | 367 var subPart; |
359 unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equ
als("/")); | 368 unittest.expect( |
| 369 path.substring(pathOffset, pathOffset + 1), unittest.equals("/")); |
360 pathOffset += 1; | 370 pathOffset += 1; |
361 unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.eq
uals("appstate/v1/")); | 371 unittest.expect(path.substring(pathOffset, pathOffset + 12), |
| 372 unittest.equals("appstate/v1/")); |
362 pathOffset += 12; | 373 pathOffset += 12; |
363 unittest.expect(path.substring(pathOffset, pathOffset + 6), unittest.equ
als("states")); | 374 unittest.expect(path.substring(pathOffset, pathOffset + 6), |
| 375 unittest.equals("states")); |
364 pathOffset += 6; | 376 pathOffset += 6; |
365 | 377 |
366 var query = (req.url).query; | 378 var query = (req.url).query; |
367 var queryOffset = 0; | 379 var queryOffset = 0; |
368 var queryMap = {}; | 380 var queryMap = {}; |
369 addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v); | 381 addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v); |
370 parseBool(n) { | 382 parseBool(n) { |
371 if (n == "true") return true; | 383 if (n == "true") return true; |
372 if (n == "false") return false; | 384 if (n == "false") return false; |
373 if (n == null) return null; | 385 if (n == null) return null; |
374 throw new core.ArgumentError("Invalid boolean: $n"); | 386 throw new core.ArgumentError("Invalid boolean: $n"); |
375 } | 387 } |
| 388 |
376 if (query.length > 0) { | 389 if (query.length > 0) { |
377 for (var part in query.split("&")) { | 390 for (var part in query.split("&")) { |
378 var keyvalue = part.split("="); | 391 var keyvalue = part.split("="); |
379 addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), core.Uri.d
ecodeQueryComponent(keyvalue[1])); | 392 addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), |
| 393 core.Uri.decodeQueryComponent(keyvalue[1])); |
380 } | 394 } |
381 } | 395 } |
382 unittest.expect(queryMap["includeData"].first, unittest.equals("$arg_inc
ludeData")); | 396 unittest.expect( |
383 | 397 queryMap["includeData"].first, unittest.equals("$arg_includeData")); |
384 | 398 |
385 var h = { | 399 var h = { |
386 "content-type" : "application/json; charset=utf-8", | 400 "content-type": "application/json; charset=utf-8", |
387 }; | 401 }; |
388 var resp = convert.JSON.encode(buildListResponse()); | 402 var resp = convert.JSON.encode(buildListResponse()); |
389 return new async.Future.value(stringResponse(200, h, resp)); | 403 return new async.Future.value(stringResponse(200, h, resp)); |
390 }), true); | 404 }), true); |
391 res.list(includeData: arg_includeData).then(unittest.expectAsync1(((api.Li
stResponse response) { | 405 res |
| 406 .list(includeData: arg_includeData) |
| 407 .then(unittest.expectAsync1(((api.ListResponse response) { |
392 checkListResponse(response); | 408 checkListResponse(response); |
393 }))); | 409 }))); |
394 }); | 410 }); |
395 | 411 |
396 unittest.test("method--update", () { | 412 unittest.test("method--update", () { |
397 | |
398 var mock = new HttpServerMock(); | 413 var mock = new HttpServerMock(); |
399 api.StatesResourceApi res = new api.AppstateApi(mock).states; | 414 api.StatesResourceApi res = new api.AppstateApi(mock).states; |
400 var arg_request = buildUpdateRequest(); | 415 var arg_request = buildUpdateRequest(); |
401 var arg_stateKey = 42; | 416 var arg_stateKey = 42; |
402 var arg_currentStateVersion = "foo"; | 417 var arg_currentStateVersion = "foo"; |
403 mock.register(unittest.expectAsync2((http.BaseRequest req, json) { | 418 mock.register(unittest.expectAsync2((http.BaseRequest req, json) { |
404 var obj = new api.UpdateRequest.fromJson(json); | 419 var obj = new api.UpdateRequest.fromJson(json); |
405 checkUpdateRequest(obj); | 420 checkUpdateRequest(obj); |
406 | 421 |
407 var path = (req.url).path; | 422 var path = (req.url).path; |
408 var pathOffset = 0; | 423 var pathOffset = 0; |
409 var index; | 424 var index; |
410 var subPart; | 425 var subPart; |
411 unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equ
als("/")); | 426 unittest.expect( |
| 427 path.substring(pathOffset, pathOffset + 1), unittest.equals("/")); |
412 pathOffset += 1; | 428 pathOffset += 1; |
413 unittest.expect(path.substring(pathOffset, pathOffset + 12), unittest.eq
uals("appstate/v1/")); | 429 unittest.expect(path.substring(pathOffset, pathOffset + 12), |
| 430 unittest.equals("appstate/v1/")); |
414 pathOffset += 12; | 431 pathOffset += 12; |
415 unittest.expect(path.substring(pathOffset, pathOffset + 7), unittest.equ
als("states/")); | 432 unittest.expect(path.substring(pathOffset, pathOffset + 7), |
| 433 unittest.equals("states/")); |
416 pathOffset += 7; | 434 pathOffset += 7; |
417 subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); | 435 subPart = core.Uri.decodeQueryComponent(path.substring(pathOffset)); |
418 pathOffset = path.length; | 436 pathOffset = path.length; |
419 unittest.expect(subPart, unittest.equals("$arg_stateKey")); | 437 unittest.expect(subPart, unittest.equals("$arg_stateKey")); |
420 | 438 |
421 var query = (req.url).query; | 439 var query = (req.url).query; |
422 var queryOffset = 0; | 440 var queryOffset = 0; |
423 var queryMap = {}; | 441 var queryMap = {}; |
424 addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v); | 442 addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v); |
425 parseBool(n) { | 443 parseBool(n) { |
426 if (n == "true") return true; | 444 if (n == "true") return true; |
427 if (n == "false") return false; | 445 if (n == "false") return false; |
428 if (n == null) return null; | 446 if (n == null) return null; |
429 throw new core.ArgumentError("Invalid boolean: $n"); | 447 throw new core.ArgumentError("Invalid boolean: $n"); |
430 } | 448 } |
| 449 |
431 if (query.length > 0) { | 450 if (query.length > 0) { |
432 for (var part in query.split("&")) { | 451 for (var part in query.split("&")) { |
433 var keyvalue = part.split("="); | 452 var keyvalue = part.split("="); |
434 addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), core.Uri.d
ecodeQueryComponent(keyvalue[1])); | 453 addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), |
| 454 core.Uri.decodeQueryComponent(keyvalue[1])); |
435 } | 455 } |
436 } | 456 } |
437 unittest.expect(queryMap["currentStateVersion"].first, unittest.equals(a
rg_currentStateVersion)); | 457 unittest.expect(queryMap["currentStateVersion"].first, |
438 | 458 unittest.equals(arg_currentStateVersion)); |
439 | 459 |
440 var h = { | 460 var h = { |
441 "content-type" : "application/json; charset=utf-8", | 461 "content-type": "application/json; charset=utf-8", |
442 }; | 462 }; |
443 var resp = convert.JSON.encode(buildWriteResult()); | 463 var resp = convert.JSON.encode(buildWriteResult()); |
444 return new async.Future.value(stringResponse(200, h, resp)); | 464 return new async.Future.value(stringResponse(200, h, resp)); |
445 }), true); | 465 }), true); |
446 res.update(arg_request, arg_stateKey, currentStateVersion: arg_currentStat
eVersion).then(unittest.expectAsync1(((api.WriteResult response) { | 466 res |
| 467 .update(arg_request, arg_stateKey, |
| 468 currentStateVersion: arg_currentStateVersion) |
| 469 .then(unittest.expectAsync1(((api.WriteResult response) { |
447 checkWriteResult(response); | 470 checkWriteResult(response); |
448 }))); | 471 }))); |
449 }); | 472 }); |
450 | |
451 }); | 473 }); |
452 | |
453 | |
454 } | 474 } |
455 | |
OLD | NEW |