OLD | NEW |
1 library googleapis.urlshortener.v1.test; | 1 library googleapis.urlshortener.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/urlshortener/v1.dart' as api; | 10 import 'package:googleapis/urlshortener/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 buildUnnamed787() { | |
55 var o = new core.List<api.StringCount>(); | |
56 o.add(buildStringCount()); | |
57 o.add(buildStringCount()); | |
58 return o; | |
59 } | |
60 | |
61 checkUnnamed787(core.List<api.StringCount> o) { | |
62 unittest.expect(o, unittest.hasLength(2)); | |
63 checkStringCount(o[0]); | |
64 checkStringCount(o[1]); | |
65 } | |
66 | |
67 buildUnnamed788() { | |
68 var o = new core.List<api.StringCount>(); | |
69 o.add(buildStringCount()); | |
70 o.add(buildStringCount()); | |
71 return o; | |
72 } | |
73 | |
74 checkUnnamed788(core.List<api.StringCount> o) { | |
75 unittest.expect(o, unittest.hasLength(2)); | |
76 checkStringCount(o[0]); | |
77 checkStringCount(o[1]); | |
78 } | |
79 | |
80 buildUnnamed789() { | |
81 var o = new core.List<api.StringCount>(); | |
82 o.add(buildStringCount()); | |
83 o.add(buildStringCount()); | |
84 return o; | |
85 } | |
86 | |
87 checkUnnamed789(core.List<api.StringCount> o) { | |
88 unittest.expect(o, unittest.hasLength(2)); | |
89 checkStringCount(o[0]); | |
90 checkStringCount(o[1]); | |
91 } | |
92 | |
93 buildUnnamed790() { | 53 buildUnnamed790() { |
94 var o = new core.List<api.StringCount>(); | 54 var o = new core.List<api.StringCount>(); |
95 o.add(buildStringCount()); | 55 o.add(buildStringCount()); |
96 o.add(buildStringCount()); | 56 o.add(buildStringCount()); |
97 return o; | 57 return o; |
98 } | 58 } |
99 | 59 |
100 checkUnnamed790(core.List<api.StringCount> o) { | 60 checkUnnamed790(core.List<api.StringCount> o) { |
101 unittest.expect(o, unittest.hasLength(2)); | 61 unittest.expect(o, unittest.hasLength(2)); |
102 checkStringCount(o[0]); | 62 checkStringCount(o[0]); |
103 checkStringCount(o[1]); | 63 checkStringCount(o[1]); |
| 64 } |
| 65 |
| 66 buildUnnamed791() { |
| 67 var o = new core.List<api.StringCount>(); |
| 68 o.add(buildStringCount()); |
| 69 o.add(buildStringCount()); |
| 70 return o; |
| 71 } |
| 72 |
| 73 checkUnnamed791(core.List<api.StringCount> o) { |
| 74 unittest.expect(o, unittest.hasLength(2)); |
| 75 checkStringCount(o[0]); |
| 76 checkStringCount(o[1]); |
| 77 } |
| 78 |
| 79 buildUnnamed792() { |
| 80 var o = new core.List<api.StringCount>(); |
| 81 o.add(buildStringCount()); |
| 82 o.add(buildStringCount()); |
| 83 return o; |
| 84 } |
| 85 |
| 86 checkUnnamed792(core.List<api.StringCount> o) { |
| 87 unittest.expect(o, unittest.hasLength(2)); |
| 88 checkStringCount(o[0]); |
| 89 checkStringCount(o[1]); |
| 90 } |
| 91 |
| 92 buildUnnamed793() { |
| 93 var o = new core.List<api.StringCount>(); |
| 94 o.add(buildStringCount()); |
| 95 o.add(buildStringCount()); |
| 96 return o; |
| 97 } |
| 98 |
| 99 checkUnnamed793(core.List<api.StringCount> o) { |
| 100 unittest.expect(o, unittest.hasLength(2)); |
| 101 checkStringCount(o[0]); |
| 102 checkStringCount(o[1]); |
104 } | 103 } |
105 | 104 |
106 core.int buildCounterAnalyticsSnapshot = 0; | 105 core.int buildCounterAnalyticsSnapshot = 0; |
107 buildAnalyticsSnapshot() { | 106 buildAnalyticsSnapshot() { |
108 var o = new api.AnalyticsSnapshot(); | 107 var o = new api.AnalyticsSnapshot(); |
109 buildCounterAnalyticsSnapshot++; | 108 buildCounterAnalyticsSnapshot++; |
110 if (buildCounterAnalyticsSnapshot < 3) { | 109 if (buildCounterAnalyticsSnapshot < 3) { |
111 o.browsers = buildUnnamed787(); | 110 o.browsers = buildUnnamed790(); |
112 o.countries = buildUnnamed788(); | 111 o.countries = buildUnnamed791(); |
113 o.longUrlClicks = "foo"; | 112 o.longUrlClicks = "foo"; |
114 o.platforms = buildUnnamed789(); | 113 o.platforms = buildUnnamed792(); |
115 o.referrers = buildUnnamed790(); | 114 o.referrers = buildUnnamed793(); |
116 o.shortUrlClicks = "foo"; | 115 o.shortUrlClicks = "foo"; |
117 } | 116 } |
118 buildCounterAnalyticsSnapshot--; | 117 buildCounterAnalyticsSnapshot--; |
119 return o; | 118 return o; |
120 } | 119 } |
121 | 120 |
122 checkAnalyticsSnapshot(api.AnalyticsSnapshot o) { | 121 checkAnalyticsSnapshot(api.AnalyticsSnapshot o) { |
123 buildCounterAnalyticsSnapshot++; | 122 buildCounterAnalyticsSnapshot++; |
124 if (buildCounterAnalyticsSnapshot < 3) { | 123 if (buildCounterAnalyticsSnapshot < 3) { |
125 checkUnnamed787(o.browsers); | 124 checkUnnamed790(o.browsers); |
126 checkUnnamed788(o.countries); | 125 checkUnnamed791(o.countries); |
127 unittest.expect(o.longUrlClicks, unittest.equals('foo')); | 126 unittest.expect(o.longUrlClicks, unittest.equals('foo')); |
128 checkUnnamed789(o.platforms); | 127 checkUnnamed792(o.platforms); |
129 checkUnnamed790(o.referrers); | 128 checkUnnamed793(o.referrers); |
130 unittest.expect(o.shortUrlClicks, unittest.equals('foo')); | 129 unittest.expect(o.shortUrlClicks, unittest.equals('foo')); |
131 } | 130 } |
132 buildCounterAnalyticsSnapshot--; | 131 buildCounterAnalyticsSnapshot--; |
133 } | 132 } |
134 | 133 |
135 core.int buildCounterAnalyticsSummary = 0; | 134 core.int buildCounterAnalyticsSummary = 0; |
136 buildAnalyticsSummary() { | 135 buildAnalyticsSummary() { |
137 var o = new api.AnalyticsSummary(); | 136 var o = new api.AnalyticsSummary(); |
138 buildCounterAnalyticsSummary++; | 137 buildCounterAnalyticsSummary++; |
139 if (buildCounterAnalyticsSummary < 3) { | 138 if (buildCounterAnalyticsSummary < 3) { |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
202 checkAnalyticsSummary(o.analytics); | 201 checkAnalyticsSummary(o.analytics); |
203 unittest.expect(o.created, unittest.equals('foo')); | 202 unittest.expect(o.created, unittest.equals('foo')); |
204 unittest.expect(o.id, unittest.equals('foo')); | 203 unittest.expect(o.id, unittest.equals('foo')); |
205 unittest.expect(o.kind, unittest.equals('foo')); | 204 unittest.expect(o.kind, unittest.equals('foo')); |
206 unittest.expect(o.longUrl, unittest.equals('foo')); | 205 unittest.expect(o.longUrl, unittest.equals('foo')); |
207 unittest.expect(o.status, unittest.equals('foo')); | 206 unittest.expect(o.status, unittest.equals('foo')); |
208 } | 207 } |
209 buildCounterUrl--; | 208 buildCounterUrl--; |
210 } | 209 } |
211 | 210 |
212 buildUnnamed791() { | 211 buildUnnamed794() { |
213 var o = new core.List<api.Url>(); | 212 var o = new core.List<api.Url>(); |
214 o.add(buildUrl()); | 213 o.add(buildUrl()); |
215 o.add(buildUrl()); | 214 o.add(buildUrl()); |
216 return o; | 215 return o; |
217 } | 216 } |
218 | 217 |
219 checkUnnamed791(core.List<api.Url> o) { | 218 checkUnnamed794(core.List<api.Url> o) { |
220 unittest.expect(o, unittest.hasLength(2)); | 219 unittest.expect(o, unittest.hasLength(2)); |
221 checkUrl(o[0]); | 220 checkUrl(o[0]); |
222 checkUrl(o[1]); | 221 checkUrl(o[1]); |
223 } | 222 } |
224 | 223 |
225 core.int buildCounterUrlHistory = 0; | 224 core.int buildCounterUrlHistory = 0; |
226 buildUrlHistory() { | 225 buildUrlHistory() { |
227 var o = new api.UrlHistory(); | 226 var o = new api.UrlHistory(); |
228 buildCounterUrlHistory++; | 227 buildCounterUrlHistory++; |
229 if (buildCounterUrlHistory < 3) { | 228 if (buildCounterUrlHistory < 3) { |
230 o.items = buildUnnamed791(); | 229 o.items = buildUnnamed794(); |
231 o.itemsPerPage = 42; | 230 o.itemsPerPage = 42; |
232 o.kind = "foo"; | 231 o.kind = "foo"; |
233 o.nextPageToken = "foo"; | 232 o.nextPageToken = "foo"; |
234 o.totalItems = 42; | 233 o.totalItems = 42; |
235 } | 234 } |
236 buildCounterUrlHistory--; | 235 buildCounterUrlHistory--; |
237 return o; | 236 return o; |
238 } | 237 } |
239 | 238 |
240 checkUrlHistory(api.UrlHistory o) { | 239 checkUrlHistory(api.UrlHistory o) { |
241 buildCounterUrlHistory++; | 240 buildCounterUrlHistory++; |
242 if (buildCounterUrlHistory < 3) { | 241 if (buildCounterUrlHistory < 3) { |
243 checkUnnamed791(o.items); | 242 checkUnnamed794(o.items); |
244 unittest.expect(o.itemsPerPage, unittest.equals(42)); | 243 unittest.expect(o.itemsPerPage, unittest.equals(42)); |
245 unittest.expect(o.kind, unittest.equals('foo')); | 244 unittest.expect(o.kind, unittest.equals('foo')); |
246 unittest.expect(o.nextPageToken, unittest.equals('foo')); | 245 unittest.expect(o.nextPageToken, unittest.equals('foo')); |
247 unittest.expect(o.totalItems, unittest.equals(42)); | 246 unittest.expect(o.totalItems, unittest.equals(42)); |
248 } | 247 } |
249 buildCounterUrlHistory--; | 248 buildCounterUrlHistory--; |
250 } | 249 } |
251 | 250 |
252 | |
253 main() { | 251 main() { |
254 unittest.group("obj-schema-AnalyticsSnapshot", () { | 252 unittest.group("obj-schema-AnalyticsSnapshot", () { |
255 unittest.test("to-json--from-json", () { | 253 unittest.test("to-json--from-json", () { |
256 var o = buildAnalyticsSnapshot(); | 254 var o = buildAnalyticsSnapshot(); |
257 var od = new api.AnalyticsSnapshot.fromJson(o.toJson()); | 255 var od = new api.AnalyticsSnapshot.fromJson(o.toJson()); |
258 checkAnalyticsSnapshot(od); | 256 checkAnalyticsSnapshot(od); |
259 }); | 257 }); |
260 }); | 258 }); |
261 | 259 |
262 | |
263 unittest.group("obj-schema-AnalyticsSummary", () { | 260 unittest.group("obj-schema-AnalyticsSummary", () { |
264 unittest.test("to-json--from-json", () { | 261 unittest.test("to-json--from-json", () { |
265 var o = buildAnalyticsSummary(); | 262 var o = buildAnalyticsSummary(); |
266 var od = new api.AnalyticsSummary.fromJson(o.toJson()); | 263 var od = new api.AnalyticsSummary.fromJson(o.toJson()); |
267 checkAnalyticsSummary(od); | 264 checkAnalyticsSummary(od); |
268 }); | 265 }); |
269 }); | 266 }); |
270 | 267 |
271 | |
272 unittest.group("obj-schema-StringCount", () { | 268 unittest.group("obj-schema-StringCount", () { |
273 unittest.test("to-json--from-json", () { | 269 unittest.test("to-json--from-json", () { |
274 var o = buildStringCount(); | 270 var o = buildStringCount(); |
275 var od = new api.StringCount.fromJson(o.toJson()); | 271 var od = new api.StringCount.fromJson(o.toJson()); |
276 checkStringCount(od); | 272 checkStringCount(od); |
277 }); | 273 }); |
278 }); | 274 }); |
279 | 275 |
280 | |
281 unittest.group("obj-schema-Url", () { | 276 unittest.group("obj-schema-Url", () { |
282 unittest.test("to-json--from-json", () { | 277 unittest.test("to-json--from-json", () { |
283 var o = buildUrl(); | 278 var o = buildUrl(); |
284 var od = new api.Url.fromJson(o.toJson()); | 279 var od = new api.Url.fromJson(o.toJson()); |
285 checkUrl(od); | 280 checkUrl(od); |
286 }); | 281 }); |
287 }); | 282 }); |
288 | 283 |
289 | |
290 unittest.group("obj-schema-UrlHistory", () { | 284 unittest.group("obj-schema-UrlHistory", () { |
291 unittest.test("to-json--from-json", () { | 285 unittest.test("to-json--from-json", () { |
292 var o = buildUrlHistory(); | 286 var o = buildUrlHistory(); |
293 var od = new api.UrlHistory.fromJson(o.toJson()); | 287 var od = new api.UrlHistory.fromJson(o.toJson()); |
294 checkUrlHistory(od); | 288 checkUrlHistory(od); |
295 }); | 289 }); |
296 }); | 290 }); |
297 | 291 |
298 | |
299 unittest.group("resource-UrlResourceApi", () { | 292 unittest.group("resource-UrlResourceApi", () { |
300 unittest.test("method--get", () { | 293 unittest.test("method--get", () { |
301 | |
302 var mock = new HttpServerMock(); | 294 var mock = new HttpServerMock(); |
303 api.UrlResourceApi res = new api.UrlshortenerApi(mock).url; | 295 api.UrlResourceApi res = new api.UrlshortenerApi(mock).url; |
304 var arg_shortUrl = "foo"; | 296 var arg_shortUrl = "foo"; |
305 var arg_projection = "foo"; | 297 var arg_projection = "foo"; |
306 mock.register(unittest.expectAsync2((http.BaseRequest req, json) { | 298 mock.register(unittest.expectAsync2((http.BaseRequest req, json) { |
307 var path = (req.url).path; | 299 var path = (req.url).path; |
308 var pathOffset = 0; | 300 var pathOffset = 0; |
309 var index; | 301 var index; |
310 var subPart; | 302 var subPart; |
311 unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equ
als("/")); | 303 unittest.expect( |
| 304 path.substring(pathOffset, pathOffset + 1), unittest.equals("/")); |
312 pathOffset += 1; | 305 pathOffset += 1; |
313 unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.eq
uals("urlshortener/v1/")); | 306 unittest.expect(path.substring(pathOffset, pathOffset + 16), |
| 307 unittest.equals("urlshortener/v1/")); |
314 pathOffset += 16; | 308 pathOffset += 16; |
315 unittest.expect(path.substring(pathOffset, pathOffset + 3), unittest.equ
als("url")); | 309 unittest.expect( |
| 310 path.substring(pathOffset, pathOffset + 3), unittest.equals("url")); |
316 pathOffset += 3; | 311 pathOffset += 3; |
317 | 312 |
318 var query = (req.url).query; | 313 var query = (req.url).query; |
319 var queryOffset = 0; | 314 var queryOffset = 0; |
320 var queryMap = {}; | 315 var queryMap = {}; |
321 addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v); | 316 addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v); |
322 parseBool(n) { | 317 parseBool(n) { |
323 if (n == "true") return true; | 318 if (n == "true") return true; |
324 if (n == "false") return false; | 319 if (n == "false") return false; |
325 if (n == null) return null; | 320 if (n == null) return null; |
326 throw new core.ArgumentError("Invalid boolean: $n"); | 321 throw new core.ArgumentError("Invalid boolean: $n"); |
327 } | 322 } |
| 323 |
328 if (query.length > 0) { | 324 if (query.length > 0) { |
329 for (var part in query.split("&")) { | 325 for (var part in query.split("&")) { |
330 var keyvalue = part.split("="); | 326 var keyvalue = part.split("="); |
331 addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), core.Uri.d
ecodeQueryComponent(keyvalue[1])); | 327 addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), |
| 328 core.Uri.decodeQueryComponent(keyvalue[1])); |
332 } | 329 } |
333 } | 330 } |
334 unittest.expect(queryMap["shortUrl"].first, unittest.equals(arg_shortUrl
)); | 331 unittest.expect( |
335 unittest.expect(queryMap["projection"].first, unittest.equals(arg_projec
tion)); | 332 queryMap["shortUrl"].first, unittest.equals(arg_shortUrl)); |
336 | 333 unittest.expect( |
| 334 queryMap["projection"].first, unittest.equals(arg_projection)); |
337 | 335 |
338 var h = { | 336 var h = { |
339 "content-type" : "application/json; charset=utf-8", | 337 "content-type": "application/json; charset=utf-8", |
340 }; | 338 }; |
341 var resp = convert.JSON.encode(buildUrl()); | 339 var resp = convert.JSON.encode(buildUrl()); |
342 return new async.Future.value(stringResponse(200, h, resp)); | 340 return new async.Future.value(stringResponse(200, h, resp)); |
343 }), true); | 341 }), true); |
344 res.get(arg_shortUrl, projection: arg_projection).then(unittest.expectAsyn
c1(((api.Url response) { | 342 res |
| 343 .get(arg_shortUrl, projection: arg_projection) |
| 344 .then(unittest.expectAsync1(((api.Url response) { |
345 checkUrl(response); | 345 checkUrl(response); |
346 }))); | 346 }))); |
347 }); | 347 }); |
348 | 348 |
349 unittest.test("method--insert", () { | 349 unittest.test("method--insert", () { |
350 | |
351 var mock = new HttpServerMock(); | 350 var mock = new HttpServerMock(); |
352 api.UrlResourceApi res = new api.UrlshortenerApi(mock).url; | 351 api.UrlResourceApi res = new api.UrlshortenerApi(mock).url; |
353 var arg_request = buildUrl(); | 352 var arg_request = buildUrl(); |
354 mock.register(unittest.expectAsync2((http.BaseRequest req, json) { | 353 mock.register(unittest.expectAsync2((http.BaseRequest req, json) { |
355 var obj = new api.Url.fromJson(json); | 354 var obj = new api.Url.fromJson(json); |
356 checkUrl(obj); | 355 checkUrl(obj); |
357 | 356 |
358 var path = (req.url).path; | 357 var path = (req.url).path; |
359 var pathOffset = 0; | 358 var pathOffset = 0; |
360 var index; | 359 var index; |
361 var subPart; | 360 var subPart; |
362 unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equ
als("/")); | 361 unittest.expect( |
| 362 path.substring(pathOffset, pathOffset + 1), unittest.equals("/")); |
363 pathOffset += 1; | 363 pathOffset += 1; |
364 unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.eq
uals("urlshortener/v1/")); | 364 unittest.expect(path.substring(pathOffset, pathOffset + 16), |
| 365 unittest.equals("urlshortener/v1/")); |
365 pathOffset += 16; | 366 pathOffset += 16; |
366 unittest.expect(path.substring(pathOffset, pathOffset + 3), unittest.equ
als("url")); | 367 unittest.expect( |
| 368 path.substring(pathOffset, pathOffset + 3), unittest.equals("url")); |
367 pathOffset += 3; | 369 pathOffset += 3; |
368 | 370 |
369 var query = (req.url).query; | 371 var query = (req.url).query; |
370 var queryOffset = 0; | 372 var queryOffset = 0; |
371 var queryMap = {}; | 373 var queryMap = {}; |
372 addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v); | 374 addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v); |
373 parseBool(n) { | 375 parseBool(n) { |
374 if (n == "true") return true; | 376 if (n == "true") return true; |
375 if (n == "false") return false; | 377 if (n == "false") return false; |
376 if (n == null) return null; | 378 if (n == null) return null; |
377 throw new core.ArgumentError("Invalid boolean: $n"); | 379 throw new core.ArgumentError("Invalid boolean: $n"); |
378 } | 380 } |
| 381 |
379 if (query.length > 0) { | 382 if (query.length > 0) { |
380 for (var part in query.split("&")) { | 383 for (var part in query.split("&")) { |
381 var keyvalue = part.split("="); | 384 var keyvalue = part.split("="); |
382 addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), core.Uri.d
ecodeQueryComponent(keyvalue[1])); | 385 addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), |
| 386 core.Uri.decodeQueryComponent(keyvalue[1])); |
383 } | 387 } |
384 } | 388 } |
385 | 389 |
386 | |
387 var h = { | 390 var h = { |
388 "content-type" : "application/json; charset=utf-8", | 391 "content-type": "application/json; charset=utf-8", |
389 }; | 392 }; |
390 var resp = convert.JSON.encode(buildUrl()); | 393 var resp = convert.JSON.encode(buildUrl()); |
391 return new async.Future.value(stringResponse(200, h, resp)); | 394 return new async.Future.value(stringResponse(200, h, resp)); |
392 }), true); | 395 }), true); |
393 res.insert(arg_request).then(unittest.expectAsync1(((api.Url response) { | 396 res.insert(arg_request).then(unittest.expectAsync1(((api.Url response) { |
394 checkUrl(response); | 397 checkUrl(response); |
395 }))); | 398 }))); |
396 }); | 399 }); |
397 | 400 |
398 unittest.test("method--list", () { | 401 unittest.test("method--list", () { |
399 | |
400 var mock = new HttpServerMock(); | 402 var mock = new HttpServerMock(); |
401 api.UrlResourceApi res = new api.UrlshortenerApi(mock).url; | 403 api.UrlResourceApi res = new api.UrlshortenerApi(mock).url; |
402 var arg_projection = "foo"; | 404 var arg_projection = "foo"; |
403 var arg_start_token = "foo"; | 405 var arg_start_token = "foo"; |
404 mock.register(unittest.expectAsync2((http.BaseRequest req, json) { | 406 mock.register(unittest.expectAsync2((http.BaseRequest req, json) { |
405 var path = (req.url).path; | 407 var path = (req.url).path; |
406 var pathOffset = 0; | 408 var pathOffset = 0; |
407 var index; | 409 var index; |
408 var subPart; | 410 var subPart; |
409 unittest.expect(path.substring(pathOffset, pathOffset + 1), unittest.equ
als("/")); | 411 unittest.expect( |
| 412 path.substring(pathOffset, pathOffset + 1), unittest.equals("/")); |
410 pathOffset += 1; | 413 pathOffset += 1; |
411 unittest.expect(path.substring(pathOffset, pathOffset + 16), unittest.eq
uals("urlshortener/v1/")); | 414 unittest.expect(path.substring(pathOffset, pathOffset + 16), |
| 415 unittest.equals("urlshortener/v1/")); |
412 pathOffset += 16; | 416 pathOffset += 16; |
413 unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.eq
uals("url/history")); | 417 unittest.expect(path.substring(pathOffset, pathOffset + 11), |
| 418 unittest.equals("url/history")); |
414 pathOffset += 11; | 419 pathOffset += 11; |
415 | 420 |
416 var query = (req.url).query; | 421 var query = (req.url).query; |
417 var queryOffset = 0; | 422 var queryOffset = 0; |
418 var queryMap = {}; | 423 var queryMap = {}; |
419 addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v); | 424 addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v); |
420 parseBool(n) { | 425 parseBool(n) { |
421 if (n == "true") return true; | 426 if (n == "true") return true; |
422 if (n == "false") return false; | 427 if (n == "false") return false; |
423 if (n == null) return null; | 428 if (n == null) return null; |
424 throw new core.ArgumentError("Invalid boolean: $n"); | 429 throw new core.ArgumentError("Invalid boolean: $n"); |
425 } | 430 } |
| 431 |
426 if (query.length > 0) { | 432 if (query.length > 0) { |
427 for (var part in query.split("&")) { | 433 for (var part in query.split("&")) { |
428 var keyvalue = part.split("="); | 434 var keyvalue = part.split("="); |
429 addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), core.Uri.d
ecodeQueryComponent(keyvalue[1])); | 435 addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), |
| 436 core.Uri.decodeQueryComponent(keyvalue[1])); |
430 } | 437 } |
431 } | 438 } |
432 unittest.expect(queryMap["projection"].first, unittest.equals(arg_projec
tion)); | 439 unittest.expect( |
433 unittest.expect(queryMap["start-token"].first, unittest.equals(arg_start
_token)); | 440 queryMap["projection"].first, unittest.equals(arg_projection)); |
434 | 441 unittest.expect( |
| 442 queryMap["start-token"].first, unittest.equals(arg_start_token)); |
435 | 443 |
436 var h = { | 444 var h = { |
437 "content-type" : "application/json; charset=utf-8", | 445 "content-type": "application/json; charset=utf-8", |
438 }; | 446 }; |
439 var resp = convert.JSON.encode(buildUrlHistory()); | 447 var resp = convert.JSON.encode(buildUrlHistory()); |
440 return new async.Future.value(stringResponse(200, h, resp)); | 448 return new async.Future.value(stringResponse(200, h, resp)); |
441 }), true); | 449 }), true); |
442 res.list(projection: arg_projection, start_token: arg_start_token).then(un
ittest.expectAsync1(((api.UrlHistory response) { | 450 res |
| 451 .list(projection: arg_projection, start_token: arg_start_token) |
| 452 .then(unittest.expectAsync1(((api.UrlHistory response) { |
443 checkUrlHistory(response); | 453 checkUrlHistory(response); |
444 }))); | 454 }))); |
445 }); | 455 }); |
446 | |
447 }); | 456 }); |
448 | |
449 | |
450 } | 457 } |
451 | |
OLD | NEW |