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