| 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 |