blob: 61739bc0e54b1e55ee842aa6f57a82c0afa56b6f [file] [log] [blame]
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001library googleapis.spanner.v1.test;
2
3import "dart:core" as core;
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004import "dart:async" as async;
5import "dart:convert" as convert;
6
7import 'package:http/http.dart' as http;
Martin Kustermann3953f0d2017-06-12 16:59:53 +02008import 'package:test/test.dart' as unittest;
Martin Kustermann77f42ff2017-03-06 13:56:35 +01009
10import 'package:googleapis/spanner/v1.dart' as api;
11
12class HttpServerMock extends http.BaseClient {
13 core.Function _callback;
14 core.bool _expectJson;
15
16 void register(core.Function callback, core.bool expectJson) {
17 _callback = callback;
18 _expectJson = expectJson;
19 }
20
21 async.Future<http.StreamedResponse> send(http.BaseRequest request) {
22 if (_expectJson) {
Martin Kustermann5eb85c12017-09-11 12:35:54 +020023 return request
24 .finalize()
Martin Kustermann77f42ff2017-03-06 13:56:35 +010025 .transform(convert.UTF8.decoder)
26 .join('')
27 .then((core.String jsonString) {
28 if (jsonString.isEmpty) {
29 return _callback(request, null);
30 } else {
31 return _callback(request, convert.JSON.decode(jsonString));
32 }
33 });
34 } else {
35 var stream = request.finalize();
36 if (stream == null) {
37 return _callback(request, []);
38 } else {
39 return stream.toBytes().then((data) {
40 return _callback(request, data);
41 });
42 }
43 }
44 }
45}
46
Martin Kustermann5eb85c12017-09-11 12:35:54 +020047http.StreamedResponse stringResponse(core.int status,
48 core.Map<core.String, core.String> headers, core.String body) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +010049 var stream = new async.Stream.fromIterable([convert.UTF8.encode(body)]);
50 return new http.StreamedResponse(stream, status, headers: headers);
51}
52
Martin Kustermann77f42ff2017-03-06 13:56:35 +010053core.int buildCounterBeginTransactionRequest = 0;
54buildBeginTransactionRequest() {
55 var o = new api.BeginTransactionRequest();
56 buildCounterBeginTransactionRequest++;
57 if (buildCounterBeginTransactionRequest < 3) {
58 o.options = buildTransactionOptions();
59 }
60 buildCounterBeginTransactionRequest--;
61 return o;
62}
63
64checkBeginTransactionRequest(api.BeginTransactionRequest o) {
65 buildCounterBeginTransactionRequest++;
66 if (buildCounterBeginTransactionRequest < 3) {
67 checkTransactionOptions(o.options);
68 }
69 buildCounterBeginTransactionRequest--;
70}
71
Martin Kustermannbe200482017-12-04 11:42:32 +010072buildUnnamed2178() {
Martin Kustermann77f42ff2017-03-06 13:56:35 +010073 var o = new core.List<core.String>();
74 o.add("foo");
75 o.add("foo");
76 return o;
77}
78
Martin Kustermannbe200482017-12-04 11:42:32 +010079checkUnnamed2178(core.List<core.String> o) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +010080 unittest.expect(o, unittest.hasLength(2));
81 unittest.expect(o[0], unittest.equals('foo'));
82 unittest.expect(o[1], unittest.equals('foo'));
83}
84
85core.int buildCounterBinding = 0;
86buildBinding() {
87 var o = new api.Binding();
88 buildCounterBinding++;
89 if (buildCounterBinding < 3) {
Martin Kustermannbe200482017-12-04 11:42:32 +010090 o.members = buildUnnamed2178();
Martin Kustermann77f42ff2017-03-06 13:56:35 +010091 o.role = "foo";
92 }
93 buildCounterBinding--;
94 return o;
95}
96
97checkBinding(api.Binding o) {
98 buildCounterBinding++;
99 if (buildCounterBinding < 3) {
Martin Kustermannbe200482017-12-04 11:42:32 +0100100 checkUnnamed2178(o.members);
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100101 unittest.expect(o.role, unittest.equals('foo'));
102 }
103 buildCounterBinding--;
104}
105
106core.int buildCounterChildLink = 0;
107buildChildLink() {
108 var o = new api.ChildLink();
109 buildCounterChildLink++;
110 if (buildCounterChildLink < 3) {
111 o.childIndex = 42;
112 o.type = "foo";
113 o.variable = "foo";
114 }
115 buildCounterChildLink--;
116 return o;
117}
118
119checkChildLink(api.ChildLink o) {
120 buildCounterChildLink++;
121 if (buildCounterChildLink < 3) {
122 unittest.expect(o.childIndex, unittest.equals(42));
123 unittest.expect(o.type, unittest.equals('foo'));
124 unittest.expect(o.variable, unittest.equals('foo'));
125 }
126 buildCounterChildLink--;
127}
128
Martin Kustermannbe200482017-12-04 11:42:32 +0100129buildUnnamed2179() {
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100130 var o = new core.List<api.Mutation>();
131 o.add(buildMutation());
132 o.add(buildMutation());
133 return o;
134}
135
Martin Kustermannbe200482017-12-04 11:42:32 +0100136checkUnnamed2179(core.List<api.Mutation> o) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100137 unittest.expect(o, unittest.hasLength(2));
138 checkMutation(o[0]);
139 checkMutation(o[1]);
140}
141
142core.int buildCounterCommitRequest = 0;
143buildCommitRequest() {
144 var o = new api.CommitRequest();
145 buildCounterCommitRequest++;
146 if (buildCounterCommitRequest < 3) {
Martin Kustermannbe200482017-12-04 11:42:32 +0100147 o.mutations = buildUnnamed2179();
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100148 o.singleUseTransaction = buildTransactionOptions();
149 o.transactionId = "foo";
150 }
151 buildCounterCommitRequest--;
152 return o;
153}
154
155checkCommitRequest(api.CommitRequest o) {
156 buildCounterCommitRequest++;
157 if (buildCounterCommitRequest < 3) {
Martin Kustermannbe200482017-12-04 11:42:32 +0100158 checkUnnamed2179(o.mutations);
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100159 checkTransactionOptions(o.singleUseTransaction);
160 unittest.expect(o.transactionId, unittest.equals('foo'));
161 }
162 buildCounterCommitRequest--;
163}
164
165core.int buildCounterCommitResponse = 0;
166buildCommitResponse() {
167 var o = new api.CommitResponse();
168 buildCounterCommitResponse++;
169 if (buildCounterCommitResponse < 3) {
170 o.commitTimestamp = "foo";
171 }
172 buildCounterCommitResponse--;
173 return o;
174}
175
176checkCommitResponse(api.CommitResponse o) {
177 buildCounterCommitResponse++;
178 if (buildCounterCommitResponse < 3) {
179 unittest.expect(o.commitTimestamp, unittest.equals('foo'));
180 }
181 buildCounterCommitResponse--;
182}
183
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100184core.int buildCounterCreateDatabaseMetadata = 0;
185buildCreateDatabaseMetadata() {
186 var o = new api.CreateDatabaseMetadata();
187 buildCounterCreateDatabaseMetadata++;
188 if (buildCounterCreateDatabaseMetadata < 3) {
189 o.database = "foo";
190 }
191 buildCounterCreateDatabaseMetadata--;
192 return o;
193}
194
195checkCreateDatabaseMetadata(api.CreateDatabaseMetadata o) {
196 buildCounterCreateDatabaseMetadata++;
197 if (buildCounterCreateDatabaseMetadata < 3) {
198 unittest.expect(o.database, unittest.equals('foo'));
199 }
200 buildCounterCreateDatabaseMetadata--;
201}
202
Martin Kustermannbe200482017-12-04 11:42:32 +0100203buildUnnamed2180() {
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100204 var o = new core.List<core.String>();
205 o.add("foo");
206 o.add("foo");
207 return o;
208}
209
Martin Kustermannbe200482017-12-04 11:42:32 +0100210checkUnnamed2180(core.List<core.String> o) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100211 unittest.expect(o, unittest.hasLength(2));
212 unittest.expect(o[0], unittest.equals('foo'));
213 unittest.expect(o[1], unittest.equals('foo'));
214}
215
216core.int buildCounterCreateDatabaseRequest = 0;
217buildCreateDatabaseRequest() {
218 var o = new api.CreateDatabaseRequest();
219 buildCounterCreateDatabaseRequest++;
220 if (buildCounterCreateDatabaseRequest < 3) {
221 o.createStatement = "foo";
Martin Kustermannbe200482017-12-04 11:42:32 +0100222 o.extraStatements = buildUnnamed2180();
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100223 }
224 buildCounterCreateDatabaseRequest--;
225 return o;
226}
227
228checkCreateDatabaseRequest(api.CreateDatabaseRequest o) {
229 buildCounterCreateDatabaseRequest++;
230 if (buildCounterCreateDatabaseRequest < 3) {
231 unittest.expect(o.createStatement, unittest.equals('foo'));
Martin Kustermannbe200482017-12-04 11:42:32 +0100232 checkUnnamed2180(o.extraStatements);
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100233 }
234 buildCounterCreateDatabaseRequest--;
235}
236
237core.int buildCounterCreateInstanceMetadata = 0;
238buildCreateInstanceMetadata() {
239 var o = new api.CreateInstanceMetadata();
240 buildCounterCreateInstanceMetadata++;
241 if (buildCounterCreateInstanceMetadata < 3) {
242 o.cancelTime = "foo";
243 o.endTime = "foo";
244 o.instance = buildInstance();
245 o.startTime = "foo";
246 }
247 buildCounterCreateInstanceMetadata--;
248 return o;
249}
250
251checkCreateInstanceMetadata(api.CreateInstanceMetadata o) {
252 buildCounterCreateInstanceMetadata++;
253 if (buildCounterCreateInstanceMetadata < 3) {
254 unittest.expect(o.cancelTime, unittest.equals('foo'));
255 unittest.expect(o.endTime, unittest.equals('foo'));
256 checkInstance(o.instance);
257 unittest.expect(o.startTime, unittest.equals('foo'));
258 }
259 buildCounterCreateInstanceMetadata--;
260}
261
262core.int buildCounterCreateInstanceRequest = 0;
263buildCreateInstanceRequest() {
264 var o = new api.CreateInstanceRequest();
265 buildCounterCreateInstanceRequest++;
266 if (buildCounterCreateInstanceRequest < 3) {
267 o.instance = buildInstance();
268 o.instanceId = "foo";
269 }
270 buildCounterCreateInstanceRequest--;
271 return o;
272}
273
274checkCreateInstanceRequest(api.CreateInstanceRequest o) {
275 buildCounterCreateInstanceRequest++;
276 if (buildCounterCreateInstanceRequest < 3) {
277 checkInstance(o.instance);
278 unittest.expect(o.instanceId, unittest.equals('foo'));
279 }
280 buildCounterCreateInstanceRequest--;
281}
282
Martin Kustermann0e130012017-10-05 15:54:21 +0100283core.int buildCounterCreateSessionRequest = 0;
284buildCreateSessionRequest() {
285 var o = new api.CreateSessionRequest();
286 buildCounterCreateSessionRequest++;
287 if (buildCounterCreateSessionRequest < 3) {
288 o.session = buildSession();
289 }
290 buildCounterCreateSessionRequest--;
291 return o;
292}
293
294checkCreateSessionRequest(api.CreateSessionRequest o) {
295 buildCounterCreateSessionRequest++;
296 if (buildCounterCreateSessionRequest < 3) {
297 checkSession(o.session);
298 }
299 buildCounterCreateSessionRequest--;
300}
301
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100302core.int buildCounterDatabase = 0;
303buildDatabase() {
304 var o = new api.Database();
305 buildCounterDatabase++;
306 if (buildCounterDatabase < 3) {
307 o.name = "foo";
308 o.state = "foo";
309 }
310 buildCounterDatabase--;
311 return o;
312}
313
314checkDatabase(api.Database o) {
315 buildCounterDatabase++;
316 if (buildCounterDatabase < 3) {
317 unittest.expect(o.name, unittest.equals('foo'));
318 unittest.expect(o.state, unittest.equals('foo'));
319 }
320 buildCounterDatabase--;
321}
322
323core.int buildCounterDelete = 0;
324buildDelete() {
325 var o = new api.Delete();
326 buildCounterDelete++;
327 if (buildCounterDelete < 3) {
328 o.keySet = buildKeySet();
329 o.table = "foo";
330 }
331 buildCounterDelete--;
332 return o;
333}
334
335checkDelete(api.Delete o) {
336 buildCounterDelete++;
337 if (buildCounterDelete < 3) {
338 checkKeySet(o.keySet);
339 unittest.expect(o.table, unittest.equals('foo'));
340 }
341 buildCounterDelete--;
342}
343
344core.int buildCounterEmpty = 0;
345buildEmpty() {
346 var o = new api.Empty();
347 buildCounterEmpty++;
Martin Kustermann5eb85c12017-09-11 12:35:54 +0200348 if (buildCounterEmpty < 3) {}
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100349 buildCounterEmpty--;
350 return o;
351}
352
353checkEmpty(api.Empty o) {
354 buildCounterEmpty++;
Martin Kustermann5eb85c12017-09-11 12:35:54 +0200355 if (buildCounterEmpty < 3) {}
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100356 buildCounterEmpty--;
357}
358
Martin Kustermannbe200482017-12-04 11:42:32 +0100359buildUnnamed2181() {
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100360 var o = new core.Map<core.String, api.Type>();
361 o["x"] = buildType();
362 o["y"] = buildType();
363 return o;
364}
365
Martin Kustermannbe200482017-12-04 11:42:32 +0100366checkUnnamed2181(core.Map<core.String, api.Type> o) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100367 unittest.expect(o, unittest.hasLength(2));
368 checkType(o["x"]);
369 checkType(o["y"]);
370}
371
Martin Kustermannbe200482017-12-04 11:42:32 +0100372buildUnnamed2182() {
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100373 var o = new core.Map<core.String, core.Object>();
Martin Kustermann5eb85c12017-09-11 12:35:54 +0200374 o["x"] = {
375 'list': [1, 2, 3],
376 'bool': true,
377 'string': 'foo'
378 };
379 o["y"] = {
380 'list': [1, 2, 3],
381 'bool': true,
382 'string': 'foo'
383 };
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100384 return o;
385}
386
Martin Kustermannbe200482017-12-04 11:42:32 +0100387checkUnnamed2182(core.Map<core.String, core.Object> o) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100388 unittest.expect(o, unittest.hasLength(2));
Martin Kustermann5eb85c12017-09-11 12:35:54 +0200389 var casted1 = (o["x"]) as core.Map;
390 unittest.expect(casted1, unittest.hasLength(3));
391 unittest.expect(casted1["list"], unittest.equals([1, 2, 3]));
392 unittest.expect(casted1["bool"], unittest.equals(true));
393 unittest.expect(casted1["string"], unittest.equals('foo'));
394 var casted2 = (o["y"]) as core.Map;
395 unittest.expect(casted2, unittest.hasLength(3));
396 unittest.expect(casted2["list"], unittest.equals([1, 2, 3]));
397 unittest.expect(casted2["bool"], unittest.equals(true));
398 unittest.expect(casted2["string"], unittest.equals('foo'));
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100399}
400
401core.int buildCounterExecuteSqlRequest = 0;
402buildExecuteSqlRequest() {
403 var o = new api.ExecuteSqlRequest();
404 buildCounterExecuteSqlRequest++;
405 if (buildCounterExecuteSqlRequest < 3) {
Martin Kustermannbe200482017-12-04 11:42:32 +0100406 o.paramTypes = buildUnnamed2181();
407 o.params = buildUnnamed2182();
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100408 o.queryMode = "foo";
409 o.resumeToken = "foo";
410 o.sql = "foo";
411 o.transaction = buildTransactionSelector();
412 }
413 buildCounterExecuteSqlRequest--;
414 return o;
415}
416
417checkExecuteSqlRequest(api.ExecuteSqlRequest o) {
418 buildCounterExecuteSqlRequest++;
419 if (buildCounterExecuteSqlRequest < 3) {
Martin Kustermannbe200482017-12-04 11:42:32 +0100420 checkUnnamed2181(o.paramTypes);
421 checkUnnamed2182(o.params);
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100422 unittest.expect(o.queryMode, unittest.equals('foo'));
423 unittest.expect(o.resumeToken, unittest.equals('foo'));
424 unittest.expect(o.sql, unittest.equals('foo'));
425 checkTransactionSelector(o.transaction);
426 }
427 buildCounterExecuteSqlRequest--;
428}
429
430core.int buildCounterField = 0;
431buildField() {
432 var o = new api.Field();
433 buildCounterField++;
434 if (buildCounterField < 3) {
435 o.name = "foo";
436 o.type = buildType();
437 }
438 buildCounterField--;
439 return o;
440}
441
442checkField(api.Field o) {
443 buildCounterField++;
444 if (buildCounterField < 3) {
445 unittest.expect(o.name, unittest.equals('foo'));
446 checkType(o.type);
447 }
448 buildCounterField--;
449}
450
Martin Kustermannbe200482017-12-04 11:42:32 +0100451buildUnnamed2183() {
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100452 var o = new core.List<core.String>();
453 o.add("foo");
454 o.add("foo");
455 return o;
456}
457
Martin Kustermannbe200482017-12-04 11:42:32 +0100458checkUnnamed2183(core.List<core.String> o) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100459 unittest.expect(o, unittest.hasLength(2));
460 unittest.expect(o[0], unittest.equals('foo'));
461 unittest.expect(o[1], unittest.equals('foo'));
462}
463
464core.int buildCounterGetDatabaseDdlResponse = 0;
465buildGetDatabaseDdlResponse() {
466 var o = new api.GetDatabaseDdlResponse();
467 buildCounterGetDatabaseDdlResponse++;
468 if (buildCounterGetDatabaseDdlResponse < 3) {
Martin Kustermannbe200482017-12-04 11:42:32 +0100469 o.statements = buildUnnamed2183();
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100470 }
471 buildCounterGetDatabaseDdlResponse--;
472 return o;
473}
474
475checkGetDatabaseDdlResponse(api.GetDatabaseDdlResponse o) {
476 buildCounterGetDatabaseDdlResponse++;
477 if (buildCounterGetDatabaseDdlResponse < 3) {
Martin Kustermannbe200482017-12-04 11:42:32 +0100478 checkUnnamed2183(o.statements);
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100479 }
480 buildCounterGetDatabaseDdlResponse--;
481}
482
483core.int buildCounterGetIamPolicyRequest = 0;
484buildGetIamPolicyRequest() {
485 var o = new api.GetIamPolicyRequest();
486 buildCounterGetIamPolicyRequest++;
Martin Kustermann5eb85c12017-09-11 12:35:54 +0200487 if (buildCounterGetIamPolicyRequest < 3) {}
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100488 buildCounterGetIamPolicyRequest--;
489 return o;
490}
491
492checkGetIamPolicyRequest(api.GetIamPolicyRequest o) {
493 buildCounterGetIamPolicyRequest++;
Martin Kustermann5eb85c12017-09-11 12:35:54 +0200494 if (buildCounterGetIamPolicyRequest < 3) {}
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100495 buildCounterGetIamPolicyRequest--;
496}
497
Martin Kustermannbe200482017-12-04 11:42:32 +0100498buildUnnamed2184() {
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100499 var o = new core.Map<core.String, core.String>();
500 o["x"] = "foo";
501 o["y"] = "foo";
502 return o;
503}
504
Martin Kustermannbe200482017-12-04 11:42:32 +0100505checkUnnamed2184(core.Map<core.String, core.String> o) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100506 unittest.expect(o, unittest.hasLength(2));
507 unittest.expect(o["x"], unittest.equals('foo'));
508 unittest.expect(o["y"], unittest.equals('foo'));
509}
510
511core.int buildCounterInstance = 0;
512buildInstance() {
513 var o = new api.Instance();
514 buildCounterInstance++;
515 if (buildCounterInstance < 3) {
516 o.config = "foo";
517 o.displayName = "foo";
Martin Kustermannbe200482017-12-04 11:42:32 +0100518 o.labels = buildUnnamed2184();
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100519 o.name = "foo";
520 o.nodeCount = 42;
521 o.state = "foo";
522 }
523 buildCounterInstance--;
524 return o;
525}
526
527checkInstance(api.Instance o) {
528 buildCounterInstance++;
529 if (buildCounterInstance < 3) {
530 unittest.expect(o.config, unittest.equals('foo'));
531 unittest.expect(o.displayName, unittest.equals('foo'));
Martin Kustermannbe200482017-12-04 11:42:32 +0100532 checkUnnamed2184(o.labels);
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100533 unittest.expect(o.name, unittest.equals('foo'));
534 unittest.expect(o.nodeCount, unittest.equals(42));
535 unittest.expect(o.state, unittest.equals('foo'));
536 }
537 buildCounterInstance--;
538}
539
540core.int buildCounterInstanceConfig = 0;
541buildInstanceConfig() {
542 var o = new api.InstanceConfig();
543 buildCounterInstanceConfig++;
544 if (buildCounterInstanceConfig < 3) {
545 o.displayName = "foo";
546 o.name = "foo";
547 }
548 buildCounterInstanceConfig--;
549 return o;
550}
551
552checkInstanceConfig(api.InstanceConfig o) {
553 buildCounterInstanceConfig++;
554 if (buildCounterInstanceConfig < 3) {
555 unittest.expect(o.displayName, unittest.equals('foo'));
556 unittest.expect(o.name, unittest.equals('foo'));
557 }
558 buildCounterInstanceConfig--;
559}
560
Martin Kustermannbe200482017-12-04 11:42:32 +0100561buildUnnamed2185() {
Martin Kustermann7a3b5f52017-10-23 11:34:19 +0200562 var o = new core.List<core.Object>();
563 o.add({
564 'list': [1, 2, 3],
565 'bool': true,
566 'string': 'foo'
567 });
568 o.add({
569 'list': [1, 2, 3],
570 'bool': true,
571 'string': 'foo'
572 });
573 return o;
574}
575
Martin Kustermannbe200482017-12-04 11:42:32 +0100576checkUnnamed2185(core.List<core.Object> o) {
Martin Kustermann7a3b5f52017-10-23 11:34:19 +0200577 unittest.expect(o, unittest.hasLength(2));
578 var casted3 = (o[0]) as core.Map;
579 unittest.expect(casted3, unittest.hasLength(3));
580 unittest.expect(casted3["list"], unittest.equals([1, 2, 3]));
581 unittest.expect(casted3["bool"], unittest.equals(true));
582 unittest.expect(casted3["string"], unittest.equals('foo'));
583 var casted4 = (o[1]) as core.Map;
584 unittest.expect(casted4, unittest.hasLength(3));
585 unittest.expect(casted4["list"], unittest.equals([1, 2, 3]));
586 unittest.expect(casted4["bool"], unittest.equals(true));
587 unittest.expect(casted4["string"], unittest.equals('foo'));
588}
589
Martin Kustermannbe200482017-12-04 11:42:32 +0100590buildUnnamed2186() {
Martin Kustermann7a3b5f52017-10-23 11:34:19 +0200591 var o = new core.List<core.Object>();
592 o.add({
593 'list': [1, 2, 3],
594 'bool': true,
595 'string': 'foo'
596 });
597 o.add({
598 'list': [1, 2, 3],
599 'bool': true,
600 'string': 'foo'
601 });
602 return o;
603}
604
Martin Kustermannbe200482017-12-04 11:42:32 +0100605checkUnnamed2186(core.List<core.Object> o) {
Martin Kustermann7a3b5f52017-10-23 11:34:19 +0200606 unittest.expect(o, unittest.hasLength(2));
607 var casted5 = (o[0]) as core.Map;
608 unittest.expect(casted5, unittest.hasLength(3));
609 unittest.expect(casted5["list"], unittest.equals([1, 2, 3]));
610 unittest.expect(casted5["bool"], unittest.equals(true));
611 unittest.expect(casted5["string"], unittest.equals('foo'));
612 var casted6 = (o[1]) as core.Map;
613 unittest.expect(casted6, unittest.hasLength(3));
614 unittest.expect(casted6["list"], unittest.equals([1, 2, 3]));
615 unittest.expect(casted6["bool"], unittest.equals(true));
616 unittest.expect(casted6["string"], unittest.equals('foo'));
617}
618
Martin Kustermannbe200482017-12-04 11:42:32 +0100619buildUnnamed2187() {
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100620 var o = new core.List<core.Object>();
Martin Kustermann5eb85c12017-09-11 12:35:54 +0200621 o.add({
622 'list': [1, 2, 3],
623 'bool': true,
624 'string': 'foo'
625 });
626 o.add({
627 'list': [1, 2, 3],
628 'bool': true,
629 'string': 'foo'
630 });
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100631 return o;
632}
633
Martin Kustermannbe200482017-12-04 11:42:32 +0100634checkUnnamed2187(core.List<core.Object> o) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100635 unittest.expect(o, unittest.hasLength(2));
Martin Kustermann7a3b5f52017-10-23 11:34:19 +0200636 var casted7 = (o[0]) as core.Map;
637 unittest.expect(casted7, unittest.hasLength(3));
638 unittest.expect(casted7["list"], unittest.equals([1, 2, 3]));
639 unittest.expect(casted7["bool"], unittest.equals(true));
640 unittest.expect(casted7["string"], unittest.equals('foo'));
641 var casted8 = (o[1]) as core.Map;
642 unittest.expect(casted8, unittest.hasLength(3));
643 unittest.expect(casted8["list"], unittest.equals([1, 2, 3]));
644 unittest.expect(casted8["bool"], unittest.equals(true));
645 unittest.expect(casted8["string"], unittest.equals('foo'));
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100646}
647
Martin Kustermannbe200482017-12-04 11:42:32 +0100648buildUnnamed2188() {
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100649 var o = new core.List<core.Object>();
Martin Kustermann5eb85c12017-09-11 12:35:54 +0200650 o.add({
651 'list': [1, 2, 3],
652 'bool': true,
653 'string': 'foo'
654 });
655 o.add({
656 'list': [1, 2, 3],
657 'bool': true,
658 'string': 'foo'
659 });
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100660 return o;
661}
662
Martin Kustermannbe200482017-12-04 11:42:32 +0100663checkUnnamed2188(core.List<core.Object> o) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100664 unittest.expect(o, unittest.hasLength(2));
Martin Kustermann7a3b5f52017-10-23 11:34:19 +0200665 var casted9 = (o[0]) as core.Map;
666 unittest.expect(casted9, unittest.hasLength(3));
667 unittest.expect(casted9["list"], unittest.equals([1, 2, 3]));
668 unittest.expect(casted9["bool"], unittest.equals(true));
669 unittest.expect(casted9["string"], unittest.equals('foo'));
670 var casted10 = (o[1]) as core.Map;
671 unittest.expect(casted10, unittest.hasLength(3));
672 unittest.expect(casted10["list"], unittest.equals([1, 2, 3]));
673 unittest.expect(casted10["bool"], unittest.equals(true));
674 unittest.expect(casted10["string"], unittest.equals('foo'));
675}
676
677core.int buildCounterKeyRange = 0;
678buildKeyRange() {
679 var o = new api.KeyRange();
680 buildCounterKeyRange++;
681 if (buildCounterKeyRange < 3) {
Martin Kustermannbe200482017-12-04 11:42:32 +0100682 o.endClosed = buildUnnamed2185();
683 o.endOpen = buildUnnamed2186();
684 o.startClosed = buildUnnamed2187();
685 o.startOpen = buildUnnamed2188();
Martin Kustermann7a3b5f52017-10-23 11:34:19 +0200686 }
687 buildCounterKeyRange--;
688 return o;
689}
690
691checkKeyRange(api.KeyRange o) {
692 buildCounterKeyRange++;
693 if (buildCounterKeyRange < 3) {
Martin Kustermannbe200482017-12-04 11:42:32 +0100694 checkUnnamed2185(o.endClosed);
695 checkUnnamed2186(o.endOpen);
696 checkUnnamed2187(o.startClosed);
697 checkUnnamed2188(o.startOpen);
Martin Kustermann7a3b5f52017-10-23 11:34:19 +0200698 }
699 buildCounterKeyRange--;
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100700}
701
Martin Kustermannbe200482017-12-04 11:42:32 +0100702buildUnnamed2189() {
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100703 var o = new core.List<core.Object>();
Martin Kustermann5eb85c12017-09-11 12:35:54 +0200704 o.add({
705 'list': [1, 2, 3],
706 'bool': true,
707 'string': 'foo'
708 });
709 o.add({
710 'list': [1, 2, 3],
711 'bool': true,
712 'string': 'foo'
713 });
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100714 return o;
715}
716
Martin Kustermannbe200482017-12-04 11:42:32 +0100717checkUnnamed2189(core.List<core.Object> o) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100718 unittest.expect(o, unittest.hasLength(2));
Martin Kustermann5eb85c12017-09-11 12:35:54 +0200719 var casted11 = (o[0]) as core.Map;
720 unittest.expect(casted11, unittest.hasLength(3));
721 unittest.expect(casted11["list"], unittest.equals([1, 2, 3]));
722 unittest.expect(casted11["bool"], unittest.equals(true));
723 unittest.expect(casted11["string"], unittest.equals('foo'));
724 var casted12 = (o[1]) as core.Map;
725 unittest.expect(casted12, unittest.hasLength(3));
726 unittest.expect(casted12["list"], unittest.equals([1, 2, 3]));
727 unittest.expect(casted12["bool"], unittest.equals(true));
728 unittest.expect(casted12["string"], unittest.equals('foo'));
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100729}
730
Martin Kustermannbe200482017-12-04 11:42:32 +0100731buildUnnamed2190() {
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100732 var o = new core.List<core.List<core.Object>>();
Martin Kustermannbe200482017-12-04 11:42:32 +0100733 o.add(buildUnnamed2189());
734 o.add(buildUnnamed2189());
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100735 return o;
736}
737
Martin Kustermannbe200482017-12-04 11:42:32 +0100738checkUnnamed2190(core.List<core.List<core.Object>> o) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100739 unittest.expect(o, unittest.hasLength(2));
Martin Kustermannbe200482017-12-04 11:42:32 +0100740 checkUnnamed2189(o[0]);
741 checkUnnamed2189(o[1]);
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100742}
743
Martin Kustermannbe200482017-12-04 11:42:32 +0100744buildUnnamed2191() {
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100745 var o = new core.List<api.KeyRange>();
746 o.add(buildKeyRange());
747 o.add(buildKeyRange());
748 return o;
749}
750
Martin Kustermannbe200482017-12-04 11:42:32 +0100751checkUnnamed2191(core.List<api.KeyRange> o) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100752 unittest.expect(o, unittest.hasLength(2));
753 checkKeyRange(o[0]);
754 checkKeyRange(o[1]);
755}
756
757core.int buildCounterKeySet = 0;
758buildKeySet() {
759 var o = new api.KeySet();
760 buildCounterKeySet++;
761 if (buildCounterKeySet < 3) {
762 o.all = true;
Martin Kustermannbe200482017-12-04 11:42:32 +0100763 o.keys = buildUnnamed2190();
764 o.ranges = buildUnnamed2191();
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100765 }
766 buildCounterKeySet--;
767 return o;
768}
769
770checkKeySet(api.KeySet o) {
771 buildCounterKeySet++;
772 if (buildCounterKeySet < 3) {
773 unittest.expect(o.all, unittest.isTrue);
Martin Kustermannbe200482017-12-04 11:42:32 +0100774 checkUnnamed2190(o.keys);
775 checkUnnamed2191(o.ranges);
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100776 }
777 buildCounterKeySet--;
778}
779
Martin Kustermannbe200482017-12-04 11:42:32 +0100780buildUnnamed2192() {
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100781 var o = new core.List<api.Database>();
782 o.add(buildDatabase());
783 o.add(buildDatabase());
784 return o;
785}
786
Martin Kustermannbe200482017-12-04 11:42:32 +0100787checkUnnamed2192(core.List<api.Database> o) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100788 unittest.expect(o, unittest.hasLength(2));
789 checkDatabase(o[0]);
790 checkDatabase(o[1]);
791}
792
793core.int buildCounterListDatabasesResponse = 0;
794buildListDatabasesResponse() {
795 var o = new api.ListDatabasesResponse();
796 buildCounterListDatabasesResponse++;
797 if (buildCounterListDatabasesResponse < 3) {
Martin Kustermannbe200482017-12-04 11:42:32 +0100798 o.databases = buildUnnamed2192();
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100799 o.nextPageToken = "foo";
800 }
801 buildCounterListDatabasesResponse--;
802 return o;
803}
804
805checkListDatabasesResponse(api.ListDatabasesResponse o) {
806 buildCounterListDatabasesResponse++;
807 if (buildCounterListDatabasesResponse < 3) {
Martin Kustermannbe200482017-12-04 11:42:32 +0100808 checkUnnamed2192(o.databases);
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100809 unittest.expect(o.nextPageToken, unittest.equals('foo'));
810 }
811 buildCounterListDatabasesResponse--;
812}
813
Martin Kustermannbe200482017-12-04 11:42:32 +0100814buildUnnamed2193() {
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100815 var o = new core.List<api.InstanceConfig>();
816 o.add(buildInstanceConfig());
817 o.add(buildInstanceConfig());
818 return o;
819}
820
Martin Kustermannbe200482017-12-04 11:42:32 +0100821checkUnnamed2193(core.List<api.InstanceConfig> o) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100822 unittest.expect(o, unittest.hasLength(2));
823 checkInstanceConfig(o[0]);
824 checkInstanceConfig(o[1]);
825}
826
827core.int buildCounterListInstanceConfigsResponse = 0;
828buildListInstanceConfigsResponse() {
829 var o = new api.ListInstanceConfigsResponse();
830 buildCounterListInstanceConfigsResponse++;
831 if (buildCounterListInstanceConfigsResponse < 3) {
Martin Kustermannbe200482017-12-04 11:42:32 +0100832 o.instanceConfigs = buildUnnamed2193();
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100833 o.nextPageToken = "foo";
834 }
835 buildCounterListInstanceConfigsResponse--;
836 return o;
837}
838
839checkListInstanceConfigsResponse(api.ListInstanceConfigsResponse o) {
840 buildCounterListInstanceConfigsResponse++;
841 if (buildCounterListInstanceConfigsResponse < 3) {
Martin Kustermannbe200482017-12-04 11:42:32 +0100842 checkUnnamed2193(o.instanceConfigs);
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100843 unittest.expect(o.nextPageToken, unittest.equals('foo'));
844 }
845 buildCounterListInstanceConfigsResponse--;
846}
847
Martin Kustermannbe200482017-12-04 11:42:32 +0100848buildUnnamed2194() {
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100849 var o = new core.List<api.Instance>();
850 o.add(buildInstance());
851 o.add(buildInstance());
852 return o;
853}
854
Martin Kustermannbe200482017-12-04 11:42:32 +0100855checkUnnamed2194(core.List<api.Instance> o) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100856 unittest.expect(o, unittest.hasLength(2));
857 checkInstance(o[0]);
858 checkInstance(o[1]);
859}
860
861core.int buildCounterListInstancesResponse = 0;
862buildListInstancesResponse() {
863 var o = new api.ListInstancesResponse();
864 buildCounterListInstancesResponse++;
865 if (buildCounterListInstancesResponse < 3) {
Martin Kustermannbe200482017-12-04 11:42:32 +0100866 o.instances = buildUnnamed2194();
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100867 o.nextPageToken = "foo";
868 }
869 buildCounterListInstancesResponse--;
870 return o;
871}
872
873checkListInstancesResponse(api.ListInstancesResponse o) {
874 buildCounterListInstancesResponse++;
875 if (buildCounterListInstancesResponse < 3) {
Martin Kustermannbe200482017-12-04 11:42:32 +0100876 checkUnnamed2194(o.instances);
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100877 unittest.expect(o.nextPageToken, unittest.equals('foo'));
878 }
879 buildCounterListInstancesResponse--;
880}
881
Martin Kustermannbe200482017-12-04 11:42:32 +0100882buildUnnamed2195() {
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100883 var o = new core.List<api.Operation>();
884 o.add(buildOperation());
885 o.add(buildOperation());
886 return o;
887}
888
Martin Kustermannbe200482017-12-04 11:42:32 +0100889checkUnnamed2195(core.List<api.Operation> o) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100890 unittest.expect(o, unittest.hasLength(2));
891 checkOperation(o[0]);
892 checkOperation(o[1]);
893}
894
895core.int buildCounterListOperationsResponse = 0;
896buildListOperationsResponse() {
897 var o = new api.ListOperationsResponse();
898 buildCounterListOperationsResponse++;
899 if (buildCounterListOperationsResponse < 3) {
900 o.nextPageToken = "foo";
Martin Kustermannbe200482017-12-04 11:42:32 +0100901 o.operations = buildUnnamed2195();
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100902 }
903 buildCounterListOperationsResponse--;
904 return o;
905}
906
907checkListOperationsResponse(api.ListOperationsResponse o) {
908 buildCounterListOperationsResponse++;
909 if (buildCounterListOperationsResponse < 3) {
910 unittest.expect(o.nextPageToken, unittest.equals('foo'));
Martin Kustermannbe200482017-12-04 11:42:32 +0100911 checkUnnamed2195(o.operations);
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100912 }
913 buildCounterListOperationsResponse--;
914}
915
Martin Kustermannbe200482017-12-04 11:42:32 +0100916buildUnnamed2196() {
Martin Kustermann0e130012017-10-05 15:54:21 +0100917 var o = new core.List<api.Session>();
918 o.add(buildSession());
919 o.add(buildSession());
920 return o;
921}
922
Martin Kustermannbe200482017-12-04 11:42:32 +0100923checkUnnamed2196(core.List<api.Session> o) {
Martin Kustermann0e130012017-10-05 15:54:21 +0100924 unittest.expect(o, unittest.hasLength(2));
925 checkSession(o[0]);
926 checkSession(o[1]);
927}
928
929core.int buildCounterListSessionsResponse = 0;
930buildListSessionsResponse() {
931 var o = new api.ListSessionsResponse();
932 buildCounterListSessionsResponse++;
933 if (buildCounterListSessionsResponse < 3) {
934 o.nextPageToken = "foo";
Martin Kustermannbe200482017-12-04 11:42:32 +0100935 o.sessions = buildUnnamed2196();
Martin Kustermann0e130012017-10-05 15:54:21 +0100936 }
937 buildCounterListSessionsResponse--;
938 return o;
939}
940
941checkListSessionsResponse(api.ListSessionsResponse o) {
942 buildCounterListSessionsResponse++;
943 if (buildCounterListSessionsResponse < 3) {
944 unittest.expect(o.nextPageToken, unittest.equals('foo'));
Martin Kustermannbe200482017-12-04 11:42:32 +0100945 checkUnnamed2196(o.sessions);
Martin Kustermann0e130012017-10-05 15:54:21 +0100946 }
947 buildCounterListSessionsResponse--;
948}
949
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100950core.int buildCounterMutation = 0;
951buildMutation() {
952 var o = new api.Mutation();
953 buildCounterMutation++;
954 if (buildCounterMutation < 3) {
955 o.delete = buildDelete();
956 o.insert = buildWrite();
957 o.insertOrUpdate = buildWrite();
958 o.replace = buildWrite();
959 o.update = buildWrite();
960 }
961 buildCounterMutation--;
962 return o;
963}
964
965checkMutation(api.Mutation o) {
966 buildCounterMutation++;
967 if (buildCounterMutation < 3) {
968 checkDelete(o.delete);
969 checkWrite(o.insert);
970 checkWrite(o.insertOrUpdate);
971 checkWrite(o.replace);
972 checkWrite(o.update);
973 }
974 buildCounterMutation--;
975}
976
Martin Kustermannbe200482017-12-04 11:42:32 +0100977buildUnnamed2197() {
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100978 var o = new core.Map<core.String, core.Object>();
Martin Kustermann5eb85c12017-09-11 12:35:54 +0200979 o["x"] = {
980 'list': [1, 2, 3],
981 'bool': true,
982 'string': 'foo'
983 };
984 o["y"] = {
985 'list': [1, 2, 3],
986 'bool': true,
987 'string': 'foo'
988 };
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100989 return o;
990}
991
Martin Kustermannbe200482017-12-04 11:42:32 +0100992checkUnnamed2197(core.Map<core.String, core.Object> o) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +0100993 unittest.expect(o, unittest.hasLength(2));
Martin Kustermann5eb85c12017-09-11 12:35:54 +0200994 var casted13 = (o["x"]) as core.Map;
995 unittest.expect(casted13, unittest.hasLength(3));
996 unittest.expect(casted13["list"], unittest.equals([1, 2, 3]));
997 unittest.expect(casted13["bool"], unittest.equals(true));
998 unittest.expect(casted13["string"], unittest.equals('foo'));
999 var casted14 = (o["y"]) as core.Map;
1000 unittest.expect(casted14, unittest.hasLength(3));
1001 unittest.expect(casted14["list"], unittest.equals([1, 2, 3]));
1002 unittest.expect(casted14["bool"], unittest.equals(true));
1003 unittest.expect(casted14["string"], unittest.equals('foo'));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001004}
1005
Martin Kustermannbe200482017-12-04 11:42:32 +01001006buildUnnamed2198() {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001007 var o = new core.Map<core.String, core.Object>();
Martin Kustermann5eb85c12017-09-11 12:35:54 +02001008 o["x"] = {
1009 'list': [1, 2, 3],
1010 'bool': true,
1011 'string': 'foo'
1012 };
1013 o["y"] = {
1014 'list': [1, 2, 3],
1015 'bool': true,
1016 'string': 'foo'
1017 };
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001018 return o;
1019}
1020
Martin Kustermannbe200482017-12-04 11:42:32 +01001021checkUnnamed2198(core.Map<core.String, core.Object> o) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001022 unittest.expect(o, unittest.hasLength(2));
Martin Kustermann5eb85c12017-09-11 12:35:54 +02001023 var casted15 = (o["x"]) as core.Map;
1024 unittest.expect(casted15, unittest.hasLength(3));
1025 unittest.expect(casted15["list"], unittest.equals([1, 2, 3]));
1026 unittest.expect(casted15["bool"], unittest.equals(true));
1027 unittest.expect(casted15["string"], unittest.equals('foo'));
1028 var casted16 = (o["y"]) as core.Map;
1029 unittest.expect(casted16, unittest.hasLength(3));
1030 unittest.expect(casted16["list"], unittest.equals([1, 2, 3]));
1031 unittest.expect(casted16["bool"], unittest.equals(true));
1032 unittest.expect(casted16["string"], unittest.equals('foo'));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001033}
1034
1035core.int buildCounterOperation = 0;
1036buildOperation() {
1037 var o = new api.Operation();
1038 buildCounterOperation++;
1039 if (buildCounterOperation < 3) {
1040 o.done = true;
1041 o.error = buildStatus();
Martin Kustermannbe200482017-12-04 11:42:32 +01001042 o.metadata = buildUnnamed2197();
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001043 o.name = "foo";
Martin Kustermannbe200482017-12-04 11:42:32 +01001044 o.response = buildUnnamed2198();
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001045 }
1046 buildCounterOperation--;
1047 return o;
1048}
1049
1050checkOperation(api.Operation o) {
1051 buildCounterOperation++;
1052 if (buildCounterOperation < 3) {
1053 unittest.expect(o.done, unittest.isTrue);
1054 checkStatus(o.error);
Martin Kustermannbe200482017-12-04 11:42:32 +01001055 checkUnnamed2197(o.metadata);
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001056 unittest.expect(o.name, unittest.equals('foo'));
Martin Kustermannbe200482017-12-04 11:42:32 +01001057 checkUnnamed2198(o.response);
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001058 }
1059 buildCounterOperation--;
1060}
1061
Martin Kustermannbe200482017-12-04 11:42:32 +01001062buildUnnamed2199() {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001063 var o = new core.List<core.Object>();
Martin Kustermann5eb85c12017-09-11 12:35:54 +02001064 o.add({
1065 'list': [1, 2, 3],
1066 'bool': true,
1067 'string': 'foo'
1068 });
1069 o.add({
1070 'list': [1, 2, 3],
1071 'bool': true,
1072 'string': 'foo'
1073 });
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001074 return o;
1075}
1076
Martin Kustermannbe200482017-12-04 11:42:32 +01001077checkUnnamed2199(core.List<core.Object> o) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001078 unittest.expect(o, unittest.hasLength(2));
Martin Kustermann5eb85c12017-09-11 12:35:54 +02001079 var casted17 = (o[0]) as core.Map;
1080 unittest.expect(casted17, unittest.hasLength(3));
1081 unittest.expect(casted17["list"], unittest.equals([1, 2, 3]));
1082 unittest.expect(casted17["bool"], unittest.equals(true));
1083 unittest.expect(casted17["string"], unittest.equals('foo'));
1084 var casted18 = (o[1]) as core.Map;
1085 unittest.expect(casted18, unittest.hasLength(3));
1086 unittest.expect(casted18["list"], unittest.equals([1, 2, 3]));
1087 unittest.expect(casted18["bool"], unittest.equals(true));
1088 unittest.expect(casted18["string"], unittest.equals('foo'));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001089}
1090
1091core.int buildCounterPartialResultSet = 0;
1092buildPartialResultSet() {
1093 var o = new api.PartialResultSet();
1094 buildCounterPartialResultSet++;
1095 if (buildCounterPartialResultSet < 3) {
1096 o.chunkedValue = true;
1097 o.metadata = buildResultSetMetadata();
1098 o.resumeToken = "foo";
1099 o.stats = buildResultSetStats();
Martin Kustermannbe200482017-12-04 11:42:32 +01001100 o.values = buildUnnamed2199();
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001101 }
1102 buildCounterPartialResultSet--;
1103 return o;
1104}
1105
1106checkPartialResultSet(api.PartialResultSet o) {
1107 buildCounterPartialResultSet++;
1108 if (buildCounterPartialResultSet < 3) {
1109 unittest.expect(o.chunkedValue, unittest.isTrue);
1110 checkResultSetMetadata(o.metadata);
1111 unittest.expect(o.resumeToken, unittest.equals('foo'));
1112 checkResultSetStats(o.stats);
Martin Kustermannbe200482017-12-04 11:42:32 +01001113 checkUnnamed2199(o.values);
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001114 }
1115 buildCounterPartialResultSet--;
1116}
1117
Martin Kustermannbe200482017-12-04 11:42:32 +01001118buildUnnamed2200() {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001119 var o = new core.List<api.ChildLink>();
1120 o.add(buildChildLink());
1121 o.add(buildChildLink());
1122 return o;
1123}
1124
Martin Kustermannbe200482017-12-04 11:42:32 +01001125checkUnnamed2200(core.List<api.ChildLink> o) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001126 unittest.expect(o, unittest.hasLength(2));
1127 checkChildLink(o[0]);
1128 checkChildLink(o[1]);
1129}
1130
Martin Kustermannbe200482017-12-04 11:42:32 +01001131buildUnnamed2201() {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001132 var o = new core.Map<core.String, core.Object>();
Martin Kustermann5eb85c12017-09-11 12:35:54 +02001133 o["x"] = {
1134 'list': [1, 2, 3],
1135 'bool': true,
1136 'string': 'foo'
1137 };
1138 o["y"] = {
1139 'list': [1, 2, 3],
1140 'bool': true,
1141 'string': 'foo'
1142 };
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001143 return o;
1144}
1145
Martin Kustermannbe200482017-12-04 11:42:32 +01001146checkUnnamed2201(core.Map<core.String, core.Object> o) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001147 unittest.expect(o, unittest.hasLength(2));
Martin Kustermann5eb85c12017-09-11 12:35:54 +02001148 var casted19 = (o["x"]) as core.Map;
1149 unittest.expect(casted19, unittest.hasLength(3));
1150 unittest.expect(casted19["list"], unittest.equals([1, 2, 3]));
1151 unittest.expect(casted19["bool"], unittest.equals(true));
1152 unittest.expect(casted19["string"], unittest.equals('foo'));
1153 var casted20 = (o["y"]) as core.Map;
1154 unittest.expect(casted20, unittest.hasLength(3));
1155 unittest.expect(casted20["list"], unittest.equals([1, 2, 3]));
1156 unittest.expect(casted20["bool"], unittest.equals(true));
1157 unittest.expect(casted20["string"], unittest.equals('foo'));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001158}
1159
Martin Kustermannbe200482017-12-04 11:42:32 +01001160buildUnnamed2202() {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001161 var o = new core.Map<core.String, core.Object>();
Martin Kustermann5eb85c12017-09-11 12:35:54 +02001162 o["x"] = {
1163 'list': [1, 2, 3],
1164 'bool': true,
1165 'string': 'foo'
1166 };
1167 o["y"] = {
1168 'list': [1, 2, 3],
1169 'bool': true,
1170 'string': 'foo'
1171 };
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001172 return o;
1173}
1174
Martin Kustermannbe200482017-12-04 11:42:32 +01001175checkUnnamed2202(core.Map<core.String, core.Object> o) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001176 unittest.expect(o, unittest.hasLength(2));
Martin Kustermann5eb85c12017-09-11 12:35:54 +02001177 var casted21 = (o["x"]) as core.Map;
1178 unittest.expect(casted21, unittest.hasLength(3));
1179 unittest.expect(casted21["list"], unittest.equals([1, 2, 3]));
1180 unittest.expect(casted21["bool"], unittest.equals(true));
1181 unittest.expect(casted21["string"], unittest.equals('foo'));
1182 var casted22 = (o["y"]) as core.Map;
1183 unittest.expect(casted22, unittest.hasLength(3));
1184 unittest.expect(casted22["list"], unittest.equals([1, 2, 3]));
1185 unittest.expect(casted22["bool"], unittest.equals(true));
1186 unittest.expect(casted22["string"], unittest.equals('foo'));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001187}
1188
1189core.int buildCounterPlanNode = 0;
1190buildPlanNode() {
1191 var o = new api.PlanNode();
1192 buildCounterPlanNode++;
1193 if (buildCounterPlanNode < 3) {
Martin Kustermannbe200482017-12-04 11:42:32 +01001194 o.childLinks = buildUnnamed2200();
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001195 o.displayName = "foo";
Martin Kustermannbe200482017-12-04 11:42:32 +01001196 o.executionStats = buildUnnamed2201();
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001197 o.index = 42;
1198 o.kind = "foo";
Martin Kustermannbe200482017-12-04 11:42:32 +01001199 o.metadata = buildUnnamed2202();
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001200 o.shortRepresentation = buildShortRepresentation();
1201 }
1202 buildCounterPlanNode--;
1203 return o;
1204}
1205
1206checkPlanNode(api.PlanNode o) {
1207 buildCounterPlanNode++;
1208 if (buildCounterPlanNode < 3) {
Martin Kustermannbe200482017-12-04 11:42:32 +01001209 checkUnnamed2200(o.childLinks);
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001210 unittest.expect(o.displayName, unittest.equals('foo'));
Martin Kustermannbe200482017-12-04 11:42:32 +01001211 checkUnnamed2201(o.executionStats);
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001212 unittest.expect(o.index, unittest.equals(42));
1213 unittest.expect(o.kind, unittest.equals('foo'));
Martin Kustermannbe200482017-12-04 11:42:32 +01001214 checkUnnamed2202(o.metadata);
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001215 checkShortRepresentation(o.shortRepresentation);
1216 }
1217 buildCounterPlanNode--;
1218}
1219
Martin Kustermannbe200482017-12-04 11:42:32 +01001220buildUnnamed2203() {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001221 var o = new core.List<api.Binding>();
1222 o.add(buildBinding());
1223 o.add(buildBinding());
1224 return o;
1225}
1226
Martin Kustermannbe200482017-12-04 11:42:32 +01001227checkUnnamed2203(core.List<api.Binding> o) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001228 unittest.expect(o, unittest.hasLength(2));
1229 checkBinding(o[0]);
1230 checkBinding(o[1]);
1231}
1232
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001233core.int buildCounterPolicy = 0;
1234buildPolicy() {
1235 var o = new api.Policy();
1236 buildCounterPolicy++;
1237 if (buildCounterPolicy < 3) {
Martin Kustermannbe200482017-12-04 11:42:32 +01001238 o.bindings = buildUnnamed2203();
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001239 o.etag = "foo";
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001240 o.version = 42;
1241 }
1242 buildCounterPolicy--;
1243 return o;
1244}
1245
1246checkPolicy(api.Policy o) {
1247 buildCounterPolicy++;
1248 if (buildCounterPolicy < 3) {
Martin Kustermannbe200482017-12-04 11:42:32 +01001249 checkUnnamed2203(o.bindings);
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001250 unittest.expect(o.etag, unittest.equals('foo'));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001251 unittest.expect(o.version, unittest.equals(42));
1252 }
1253 buildCounterPolicy--;
1254}
1255
Martin Kustermannbe200482017-12-04 11:42:32 +01001256buildUnnamed2204() {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001257 var o = new core.List<api.PlanNode>();
1258 o.add(buildPlanNode());
1259 o.add(buildPlanNode());
1260 return o;
1261}
1262
Martin Kustermannbe200482017-12-04 11:42:32 +01001263checkUnnamed2204(core.List<api.PlanNode> o) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001264 unittest.expect(o, unittest.hasLength(2));
1265 checkPlanNode(o[0]);
1266 checkPlanNode(o[1]);
1267}
1268
1269core.int buildCounterQueryPlan = 0;
1270buildQueryPlan() {
1271 var o = new api.QueryPlan();
1272 buildCounterQueryPlan++;
1273 if (buildCounterQueryPlan < 3) {
Martin Kustermannbe200482017-12-04 11:42:32 +01001274 o.planNodes = buildUnnamed2204();
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001275 }
1276 buildCounterQueryPlan--;
1277 return o;
1278}
1279
1280checkQueryPlan(api.QueryPlan o) {
1281 buildCounterQueryPlan++;
1282 if (buildCounterQueryPlan < 3) {
Martin Kustermannbe200482017-12-04 11:42:32 +01001283 checkUnnamed2204(o.planNodes);
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001284 }
1285 buildCounterQueryPlan--;
1286}
1287
1288core.int buildCounterReadOnly = 0;
1289buildReadOnly() {
1290 var o = new api.ReadOnly();
1291 buildCounterReadOnly++;
1292 if (buildCounterReadOnly < 3) {
1293 o.exactStaleness = "foo";
1294 o.maxStaleness = "foo";
1295 o.minReadTimestamp = "foo";
1296 o.readTimestamp = "foo";
1297 o.returnReadTimestamp = true;
1298 o.strong = true;
1299 }
1300 buildCounterReadOnly--;
1301 return o;
1302}
1303
1304checkReadOnly(api.ReadOnly o) {
1305 buildCounterReadOnly++;
1306 if (buildCounterReadOnly < 3) {
1307 unittest.expect(o.exactStaleness, unittest.equals('foo'));
1308 unittest.expect(o.maxStaleness, unittest.equals('foo'));
1309 unittest.expect(o.minReadTimestamp, unittest.equals('foo'));
1310 unittest.expect(o.readTimestamp, unittest.equals('foo'));
1311 unittest.expect(o.returnReadTimestamp, unittest.isTrue);
1312 unittest.expect(o.strong, unittest.isTrue);
1313 }
1314 buildCounterReadOnly--;
1315}
1316
Martin Kustermannbe200482017-12-04 11:42:32 +01001317buildUnnamed2205() {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001318 var o = new core.List<core.String>();
1319 o.add("foo");
1320 o.add("foo");
1321 return o;
1322}
1323
Martin Kustermannbe200482017-12-04 11:42:32 +01001324checkUnnamed2205(core.List<core.String> o) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001325 unittest.expect(o, unittest.hasLength(2));
1326 unittest.expect(o[0], unittest.equals('foo'));
1327 unittest.expect(o[1], unittest.equals('foo'));
1328}
1329
1330core.int buildCounterReadRequest = 0;
1331buildReadRequest() {
1332 var o = new api.ReadRequest();
1333 buildCounterReadRequest++;
1334 if (buildCounterReadRequest < 3) {
Martin Kustermannbe200482017-12-04 11:42:32 +01001335 o.columns = buildUnnamed2205();
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001336 o.index = "foo";
1337 o.keySet = buildKeySet();
1338 o.limit = "foo";
1339 o.resumeToken = "foo";
1340 o.table = "foo";
1341 o.transaction = buildTransactionSelector();
1342 }
1343 buildCounterReadRequest--;
1344 return o;
1345}
1346
1347checkReadRequest(api.ReadRequest o) {
1348 buildCounterReadRequest++;
1349 if (buildCounterReadRequest < 3) {
Martin Kustermannbe200482017-12-04 11:42:32 +01001350 checkUnnamed2205(o.columns);
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001351 unittest.expect(o.index, unittest.equals('foo'));
1352 checkKeySet(o.keySet);
1353 unittest.expect(o.limit, unittest.equals('foo'));
1354 unittest.expect(o.resumeToken, unittest.equals('foo'));
1355 unittest.expect(o.table, unittest.equals('foo'));
1356 checkTransactionSelector(o.transaction);
1357 }
1358 buildCounterReadRequest--;
1359}
1360
1361core.int buildCounterReadWrite = 0;
1362buildReadWrite() {
1363 var o = new api.ReadWrite();
1364 buildCounterReadWrite++;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02001365 if (buildCounterReadWrite < 3) {}
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001366 buildCounterReadWrite--;
1367 return o;
1368}
1369
1370checkReadWrite(api.ReadWrite o) {
1371 buildCounterReadWrite++;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02001372 if (buildCounterReadWrite < 3) {}
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001373 buildCounterReadWrite--;
1374}
1375
Martin Kustermannbe200482017-12-04 11:42:32 +01001376buildUnnamed2206() {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001377 var o = new core.List<core.Object>();
Martin Kustermann5eb85c12017-09-11 12:35:54 +02001378 o.add({
1379 'list': [1, 2, 3],
1380 'bool': true,
1381 'string': 'foo'
1382 });
1383 o.add({
1384 'list': [1, 2, 3],
1385 'bool': true,
1386 'string': 'foo'
1387 });
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001388 return o;
1389}
1390
Martin Kustermannbe200482017-12-04 11:42:32 +01001391checkUnnamed2206(core.List<core.Object> o) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001392 unittest.expect(o, unittest.hasLength(2));
Martin Kustermann5eb85c12017-09-11 12:35:54 +02001393 var casted23 = (o[0]) as core.Map;
1394 unittest.expect(casted23, unittest.hasLength(3));
1395 unittest.expect(casted23["list"], unittest.equals([1, 2, 3]));
1396 unittest.expect(casted23["bool"], unittest.equals(true));
1397 unittest.expect(casted23["string"], unittest.equals('foo'));
1398 var casted24 = (o[1]) as core.Map;
1399 unittest.expect(casted24, unittest.hasLength(3));
1400 unittest.expect(casted24["list"], unittest.equals([1, 2, 3]));
1401 unittest.expect(casted24["bool"], unittest.equals(true));
1402 unittest.expect(casted24["string"], unittest.equals('foo'));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001403}
1404
Martin Kustermannbe200482017-12-04 11:42:32 +01001405buildUnnamed2207() {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001406 var o = new core.List<core.List<core.Object>>();
Martin Kustermannbe200482017-12-04 11:42:32 +01001407 o.add(buildUnnamed2206());
1408 o.add(buildUnnamed2206());
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001409 return o;
1410}
1411
Martin Kustermannbe200482017-12-04 11:42:32 +01001412checkUnnamed2207(core.List<core.List<core.Object>> o) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001413 unittest.expect(o, unittest.hasLength(2));
Martin Kustermannbe200482017-12-04 11:42:32 +01001414 checkUnnamed2206(o[0]);
1415 checkUnnamed2206(o[1]);
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001416}
1417
1418core.int buildCounterResultSet = 0;
1419buildResultSet() {
1420 var o = new api.ResultSet();
1421 buildCounterResultSet++;
1422 if (buildCounterResultSet < 3) {
1423 o.metadata = buildResultSetMetadata();
Martin Kustermannbe200482017-12-04 11:42:32 +01001424 o.rows = buildUnnamed2207();
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001425 o.stats = buildResultSetStats();
1426 }
1427 buildCounterResultSet--;
1428 return o;
1429}
1430
1431checkResultSet(api.ResultSet o) {
1432 buildCounterResultSet++;
1433 if (buildCounterResultSet < 3) {
1434 checkResultSetMetadata(o.metadata);
Martin Kustermannbe200482017-12-04 11:42:32 +01001435 checkUnnamed2207(o.rows);
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001436 checkResultSetStats(o.stats);
1437 }
1438 buildCounterResultSet--;
1439}
1440
1441core.int buildCounterResultSetMetadata = 0;
1442buildResultSetMetadata() {
1443 var o = new api.ResultSetMetadata();
1444 buildCounterResultSetMetadata++;
1445 if (buildCounterResultSetMetadata < 3) {
1446 o.rowType = buildStructType();
1447 o.transaction = buildTransaction();
1448 }
1449 buildCounterResultSetMetadata--;
1450 return o;
1451}
1452
1453checkResultSetMetadata(api.ResultSetMetadata o) {
1454 buildCounterResultSetMetadata++;
1455 if (buildCounterResultSetMetadata < 3) {
1456 checkStructType(o.rowType);
1457 checkTransaction(o.transaction);
1458 }
1459 buildCounterResultSetMetadata--;
1460}
1461
Martin Kustermannbe200482017-12-04 11:42:32 +01001462buildUnnamed2208() {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001463 var o = new core.Map<core.String, core.Object>();
Martin Kustermann5eb85c12017-09-11 12:35:54 +02001464 o["x"] = {
1465 'list': [1, 2, 3],
1466 'bool': true,
1467 'string': 'foo'
1468 };
1469 o["y"] = {
1470 'list': [1, 2, 3],
1471 'bool': true,
1472 'string': 'foo'
1473 };
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001474 return o;
1475}
1476
Martin Kustermannbe200482017-12-04 11:42:32 +01001477checkUnnamed2208(core.Map<core.String, core.Object> o) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001478 unittest.expect(o, unittest.hasLength(2));
Martin Kustermann5eb85c12017-09-11 12:35:54 +02001479 var casted25 = (o["x"]) as core.Map;
1480 unittest.expect(casted25, unittest.hasLength(3));
1481 unittest.expect(casted25["list"], unittest.equals([1, 2, 3]));
1482 unittest.expect(casted25["bool"], unittest.equals(true));
1483 unittest.expect(casted25["string"], unittest.equals('foo'));
1484 var casted26 = (o["y"]) as core.Map;
1485 unittest.expect(casted26, unittest.hasLength(3));
1486 unittest.expect(casted26["list"], unittest.equals([1, 2, 3]));
1487 unittest.expect(casted26["bool"], unittest.equals(true));
1488 unittest.expect(casted26["string"], unittest.equals('foo'));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001489}
1490
1491core.int buildCounterResultSetStats = 0;
1492buildResultSetStats() {
1493 var o = new api.ResultSetStats();
1494 buildCounterResultSetStats++;
1495 if (buildCounterResultSetStats < 3) {
1496 o.queryPlan = buildQueryPlan();
Martin Kustermannbe200482017-12-04 11:42:32 +01001497 o.queryStats = buildUnnamed2208();
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001498 }
1499 buildCounterResultSetStats--;
1500 return o;
1501}
1502
1503checkResultSetStats(api.ResultSetStats o) {
1504 buildCounterResultSetStats++;
1505 if (buildCounterResultSetStats < 3) {
1506 checkQueryPlan(o.queryPlan);
Martin Kustermannbe200482017-12-04 11:42:32 +01001507 checkUnnamed2208(o.queryStats);
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001508 }
1509 buildCounterResultSetStats--;
1510}
1511
1512core.int buildCounterRollbackRequest = 0;
1513buildRollbackRequest() {
1514 var o = new api.RollbackRequest();
1515 buildCounterRollbackRequest++;
1516 if (buildCounterRollbackRequest < 3) {
1517 o.transactionId = "foo";
1518 }
1519 buildCounterRollbackRequest--;
1520 return o;
1521}
1522
1523checkRollbackRequest(api.RollbackRequest o) {
1524 buildCounterRollbackRequest++;
1525 if (buildCounterRollbackRequest < 3) {
1526 unittest.expect(o.transactionId, unittest.equals('foo'));
1527 }
1528 buildCounterRollbackRequest--;
1529}
1530
Martin Kustermannbe200482017-12-04 11:42:32 +01001531buildUnnamed2209() {
Martin Kustermann0e130012017-10-05 15:54:21 +01001532 var o = new core.Map<core.String, core.String>();
1533 o["x"] = "foo";
1534 o["y"] = "foo";
1535 return o;
1536}
1537
Martin Kustermannbe200482017-12-04 11:42:32 +01001538checkUnnamed2209(core.Map<core.String, core.String> o) {
Martin Kustermann0e130012017-10-05 15:54:21 +01001539 unittest.expect(o, unittest.hasLength(2));
1540 unittest.expect(o["x"], unittest.equals('foo'));
1541 unittest.expect(o["y"], unittest.equals('foo'));
1542}
1543
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001544core.int buildCounterSession = 0;
1545buildSession() {
1546 var o = new api.Session();
1547 buildCounterSession++;
1548 if (buildCounterSession < 3) {
Martin Kustermann0e130012017-10-05 15:54:21 +01001549 o.approximateLastUseTime = "foo";
1550 o.createTime = "foo";
Martin Kustermannbe200482017-12-04 11:42:32 +01001551 o.labels = buildUnnamed2209();
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001552 o.name = "foo";
1553 }
1554 buildCounterSession--;
1555 return o;
1556}
1557
1558checkSession(api.Session o) {
1559 buildCounterSession++;
1560 if (buildCounterSession < 3) {
Martin Kustermann0e130012017-10-05 15:54:21 +01001561 unittest.expect(o.approximateLastUseTime, unittest.equals('foo'));
1562 unittest.expect(o.createTime, unittest.equals('foo'));
Martin Kustermannbe200482017-12-04 11:42:32 +01001563 checkUnnamed2209(o.labels);
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001564 unittest.expect(o.name, unittest.equals('foo'));
1565 }
1566 buildCounterSession--;
1567}
1568
1569core.int buildCounterSetIamPolicyRequest = 0;
1570buildSetIamPolicyRequest() {
1571 var o = new api.SetIamPolicyRequest();
1572 buildCounterSetIamPolicyRequest++;
1573 if (buildCounterSetIamPolicyRequest < 3) {
1574 o.policy = buildPolicy();
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001575 }
1576 buildCounterSetIamPolicyRequest--;
1577 return o;
1578}
1579
1580checkSetIamPolicyRequest(api.SetIamPolicyRequest o) {
1581 buildCounterSetIamPolicyRequest++;
1582 if (buildCounterSetIamPolicyRequest < 3) {
1583 checkPolicy(o.policy);
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001584 }
1585 buildCounterSetIamPolicyRequest--;
1586}
1587
Martin Kustermannbe200482017-12-04 11:42:32 +01001588buildUnnamed2210() {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001589 var o = new core.Map<core.String, core.int>();
1590 o["x"] = 42;
1591 o["y"] = 42;
1592 return o;
1593}
1594
Martin Kustermannbe200482017-12-04 11:42:32 +01001595checkUnnamed2210(core.Map<core.String, core.int> o) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001596 unittest.expect(o, unittest.hasLength(2));
1597 unittest.expect(o["x"], unittest.equals(42));
1598 unittest.expect(o["y"], unittest.equals(42));
1599}
1600
1601core.int buildCounterShortRepresentation = 0;
1602buildShortRepresentation() {
1603 var o = new api.ShortRepresentation();
1604 buildCounterShortRepresentation++;
1605 if (buildCounterShortRepresentation < 3) {
1606 o.description = "foo";
Martin Kustermannbe200482017-12-04 11:42:32 +01001607 o.subqueries = buildUnnamed2210();
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001608 }
1609 buildCounterShortRepresentation--;
1610 return o;
1611}
1612
1613checkShortRepresentation(api.ShortRepresentation o) {
1614 buildCounterShortRepresentation++;
1615 if (buildCounterShortRepresentation < 3) {
1616 unittest.expect(o.description, unittest.equals('foo'));
Martin Kustermannbe200482017-12-04 11:42:32 +01001617 checkUnnamed2210(o.subqueries);
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001618 }
1619 buildCounterShortRepresentation--;
1620}
1621
Martin Kustermannbe200482017-12-04 11:42:32 +01001622buildUnnamed2211() {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001623 var o = new core.Map<core.String, core.Object>();
Martin Kustermann5eb85c12017-09-11 12:35:54 +02001624 o["x"] = {
1625 'list': [1, 2, 3],
1626 'bool': true,
1627 'string': 'foo'
1628 };
1629 o["y"] = {
1630 'list': [1, 2, 3],
1631 'bool': true,
1632 'string': 'foo'
1633 };
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001634 return o;
1635}
1636
Martin Kustermannbe200482017-12-04 11:42:32 +01001637checkUnnamed2211(core.Map<core.String, core.Object> o) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001638 unittest.expect(o, unittest.hasLength(2));
Martin Kustermann5eb85c12017-09-11 12:35:54 +02001639 var casted27 = (o["x"]) as core.Map;
1640 unittest.expect(casted27, unittest.hasLength(3));
1641 unittest.expect(casted27["list"], unittest.equals([1, 2, 3]));
1642 unittest.expect(casted27["bool"], unittest.equals(true));
1643 unittest.expect(casted27["string"], unittest.equals('foo'));
1644 var casted28 = (o["y"]) as core.Map;
1645 unittest.expect(casted28, unittest.hasLength(3));
1646 unittest.expect(casted28["list"], unittest.equals([1, 2, 3]));
1647 unittest.expect(casted28["bool"], unittest.equals(true));
1648 unittest.expect(casted28["string"], unittest.equals('foo'));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001649}
1650
Martin Kustermannbe200482017-12-04 11:42:32 +01001651buildUnnamed2212() {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001652 var o = new core.List<core.Map<core.String, core.Object>>();
Martin Kustermannbe200482017-12-04 11:42:32 +01001653 o.add(buildUnnamed2211());
1654 o.add(buildUnnamed2211());
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001655 return o;
1656}
1657
Martin Kustermannbe200482017-12-04 11:42:32 +01001658checkUnnamed2212(core.List<core.Map<core.String, core.Object>> o) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001659 unittest.expect(o, unittest.hasLength(2));
Martin Kustermannbe200482017-12-04 11:42:32 +01001660 checkUnnamed2211(o[0]);
1661 checkUnnamed2211(o[1]);
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001662}
1663
1664core.int buildCounterStatus = 0;
1665buildStatus() {
1666 var o = new api.Status();
1667 buildCounterStatus++;
1668 if (buildCounterStatus < 3) {
1669 o.code = 42;
Martin Kustermannbe200482017-12-04 11:42:32 +01001670 o.details = buildUnnamed2212();
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001671 o.message = "foo";
1672 }
1673 buildCounterStatus--;
1674 return o;
1675}
1676
1677checkStatus(api.Status o) {
1678 buildCounterStatus++;
1679 if (buildCounterStatus < 3) {
1680 unittest.expect(o.code, unittest.equals(42));
Martin Kustermannbe200482017-12-04 11:42:32 +01001681 checkUnnamed2212(o.details);
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001682 unittest.expect(o.message, unittest.equals('foo'));
1683 }
1684 buildCounterStatus--;
1685}
1686
Martin Kustermannbe200482017-12-04 11:42:32 +01001687buildUnnamed2213() {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001688 var o = new core.List<api.Field>();
1689 o.add(buildField());
1690 o.add(buildField());
1691 return o;
1692}
1693
Martin Kustermannbe200482017-12-04 11:42:32 +01001694checkUnnamed2213(core.List<api.Field> o) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001695 unittest.expect(o, unittest.hasLength(2));
1696 checkField(o[0]);
1697 checkField(o[1]);
1698}
1699
1700core.int buildCounterStructType = 0;
1701buildStructType() {
1702 var o = new api.StructType();
1703 buildCounterStructType++;
1704 if (buildCounterStructType < 3) {
Martin Kustermannbe200482017-12-04 11:42:32 +01001705 o.fields = buildUnnamed2213();
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001706 }
1707 buildCounterStructType--;
1708 return o;
1709}
1710
1711checkStructType(api.StructType o) {
1712 buildCounterStructType++;
1713 if (buildCounterStructType < 3) {
Martin Kustermannbe200482017-12-04 11:42:32 +01001714 checkUnnamed2213(o.fields);
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001715 }
1716 buildCounterStructType--;
1717}
1718
Martin Kustermannbe200482017-12-04 11:42:32 +01001719buildUnnamed2214() {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001720 var o = new core.List<core.String>();
1721 o.add("foo");
1722 o.add("foo");
1723 return o;
1724}
1725
Martin Kustermannbe200482017-12-04 11:42:32 +01001726checkUnnamed2214(core.List<core.String> o) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001727 unittest.expect(o, unittest.hasLength(2));
1728 unittest.expect(o[0], unittest.equals('foo'));
1729 unittest.expect(o[1], unittest.equals('foo'));
1730}
1731
1732core.int buildCounterTestIamPermissionsRequest = 0;
1733buildTestIamPermissionsRequest() {
1734 var o = new api.TestIamPermissionsRequest();
1735 buildCounterTestIamPermissionsRequest++;
1736 if (buildCounterTestIamPermissionsRequest < 3) {
Martin Kustermannbe200482017-12-04 11:42:32 +01001737 o.permissions = buildUnnamed2214();
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001738 }
1739 buildCounterTestIamPermissionsRequest--;
1740 return o;
1741}
1742
1743checkTestIamPermissionsRequest(api.TestIamPermissionsRequest o) {
1744 buildCounterTestIamPermissionsRequest++;
1745 if (buildCounterTestIamPermissionsRequest < 3) {
Martin Kustermannbe200482017-12-04 11:42:32 +01001746 checkUnnamed2214(o.permissions);
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001747 }
1748 buildCounterTestIamPermissionsRequest--;
1749}
1750
Martin Kustermannbe200482017-12-04 11:42:32 +01001751buildUnnamed2215() {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001752 var o = new core.List<core.String>();
1753 o.add("foo");
1754 o.add("foo");
1755 return o;
1756}
1757
Martin Kustermannbe200482017-12-04 11:42:32 +01001758checkUnnamed2215(core.List<core.String> o) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001759 unittest.expect(o, unittest.hasLength(2));
1760 unittest.expect(o[0], unittest.equals('foo'));
1761 unittest.expect(o[1], unittest.equals('foo'));
1762}
1763
1764core.int buildCounterTestIamPermissionsResponse = 0;
1765buildTestIamPermissionsResponse() {
1766 var o = new api.TestIamPermissionsResponse();
1767 buildCounterTestIamPermissionsResponse++;
1768 if (buildCounterTestIamPermissionsResponse < 3) {
Martin Kustermannbe200482017-12-04 11:42:32 +01001769 o.permissions = buildUnnamed2215();
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001770 }
1771 buildCounterTestIamPermissionsResponse--;
1772 return o;
1773}
1774
1775checkTestIamPermissionsResponse(api.TestIamPermissionsResponse o) {
1776 buildCounterTestIamPermissionsResponse++;
1777 if (buildCounterTestIamPermissionsResponse < 3) {
Martin Kustermannbe200482017-12-04 11:42:32 +01001778 checkUnnamed2215(o.permissions);
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001779 }
1780 buildCounterTestIamPermissionsResponse--;
1781}
1782
1783core.int buildCounterTransaction = 0;
1784buildTransaction() {
1785 var o = new api.Transaction();
1786 buildCounterTransaction++;
1787 if (buildCounterTransaction < 3) {
1788 o.id = "foo";
1789 o.readTimestamp = "foo";
1790 }
1791 buildCounterTransaction--;
1792 return o;
1793}
1794
1795checkTransaction(api.Transaction o) {
1796 buildCounterTransaction++;
1797 if (buildCounterTransaction < 3) {
1798 unittest.expect(o.id, unittest.equals('foo'));
1799 unittest.expect(o.readTimestamp, unittest.equals('foo'));
1800 }
1801 buildCounterTransaction--;
1802}
1803
1804core.int buildCounterTransactionOptions = 0;
1805buildTransactionOptions() {
1806 var o = new api.TransactionOptions();
1807 buildCounterTransactionOptions++;
1808 if (buildCounterTransactionOptions < 3) {
1809 o.readOnly = buildReadOnly();
1810 o.readWrite = buildReadWrite();
1811 }
1812 buildCounterTransactionOptions--;
1813 return o;
1814}
1815
1816checkTransactionOptions(api.TransactionOptions o) {
1817 buildCounterTransactionOptions++;
1818 if (buildCounterTransactionOptions < 3) {
1819 checkReadOnly(o.readOnly);
1820 checkReadWrite(o.readWrite);
1821 }
1822 buildCounterTransactionOptions--;
1823}
1824
1825core.int buildCounterTransactionSelector = 0;
1826buildTransactionSelector() {
1827 var o = new api.TransactionSelector();
1828 buildCounterTransactionSelector++;
1829 if (buildCounterTransactionSelector < 3) {
1830 o.begin = buildTransactionOptions();
1831 o.id = "foo";
1832 o.singleUse = buildTransactionOptions();
1833 }
1834 buildCounterTransactionSelector--;
1835 return o;
1836}
1837
1838checkTransactionSelector(api.TransactionSelector o) {
1839 buildCounterTransactionSelector++;
1840 if (buildCounterTransactionSelector < 3) {
1841 checkTransactionOptions(o.begin);
1842 unittest.expect(o.id, unittest.equals('foo'));
1843 checkTransactionOptions(o.singleUse);
1844 }
1845 buildCounterTransactionSelector--;
1846}
1847
1848core.int buildCounterType = 0;
1849buildType() {
1850 var o = new api.Type();
1851 buildCounterType++;
1852 if (buildCounterType < 3) {
1853 o.arrayElementType = buildType();
1854 o.code = "foo";
1855 o.structType = buildStructType();
1856 }
1857 buildCounterType--;
1858 return o;
1859}
1860
1861checkType(api.Type o) {
1862 buildCounterType++;
1863 if (buildCounterType < 3) {
1864 checkType(o.arrayElementType);
1865 unittest.expect(o.code, unittest.equals('foo'));
1866 checkStructType(o.structType);
1867 }
1868 buildCounterType--;
1869}
1870
Martin Kustermannbe200482017-12-04 11:42:32 +01001871buildUnnamed2216() {
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02001872 var o = new core.List<core.String>();
1873 o.add("foo");
1874 o.add("foo");
1875 return o;
1876}
1877
Martin Kustermannbe200482017-12-04 11:42:32 +01001878checkUnnamed2216(core.List<core.String> o) {
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02001879 unittest.expect(o, unittest.hasLength(2));
1880 unittest.expect(o[0], unittest.equals('foo'));
1881 unittest.expect(o[1], unittest.equals('foo'));
1882}
1883
Martin Kustermannbe200482017-12-04 11:42:32 +01001884buildUnnamed2217() {
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02001885 var o = new core.List<core.String>();
1886 o.add("foo");
1887 o.add("foo");
1888 return o;
1889}
1890
Martin Kustermannbe200482017-12-04 11:42:32 +01001891checkUnnamed2217(core.List<core.String> o) {
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02001892 unittest.expect(o, unittest.hasLength(2));
1893 unittest.expect(o[0], unittest.equals('foo'));
1894 unittest.expect(o[1], unittest.equals('foo'));
1895}
1896
1897core.int buildCounterUpdateDatabaseDdlMetadata = 0;
1898buildUpdateDatabaseDdlMetadata() {
1899 var o = new api.UpdateDatabaseDdlMetadata();
1900 buildCounterUpdateDatabaseDdlMetadata++;
1901 if (buildCounterUpdateDatabaseDdlMetadata < 3) {
Martin Kustermannbe200482017-12-04 11:42:32 +01001902 o.commitTimestamps = buildUnnamed2216();
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02001903 o.database = "foo";
Martin Kustermannbe200482017-12-04 11:42:32 +01001904 o.statements = buildUnnamed2217();
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02001905 }
1906 buildCounterUpdateDatabaseDdlMetadata--;
1907 return o;
1908}
1909
1910checkUpdateDatabaseDdlMetadata(api.UpdateDatabaseDdlMetadata o) {
1911 buildCounterUpdateDatabaseDdlMetadata++;
1912 if (buildCounterUpdateDatabaseDdlMetadata < 3) {
Martin Kustermannbe200482017-12-04 11:42:32 +01001913 checkUnnamed2216(o.commitTimestamps);
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02001914 unittest.expect(o.database, unittest.equals('foo'));
Martin Kustermannbe200482017-12-04 11:42:32 +01001915 checkUnnamed2217(o.statements);
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02001916 }
1917 buildCounterUpdateDatabaseDdlMetadata--;
1918}
1919
Martin Kustermannbe200482017-12-04 11:42:32 +01001920buildUnnamed2218() {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001921 var o = new core.List<core.String>();
1922 o.add("foo");
1923 o.add("foo");
1924 return o;
1925}
1926
Martin Kustermannbe200482017-12-04 11:42:32 +01001927checkUnnamed2218(core.List<core.String> o) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001928 unittest.expect(o, unittest.hasLength(2));
1929 unittest.expect(o[0], unittest.equals('foo'));
1930 unittest.expect(o[1], unittest.equals('foo'));
1931}
1932
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001933core.int buildCounterUpdateDatabaseDdlRequest = 0;
1934buildUpdateDatabaseDdlRequest() {
1935 var o = new api.UpdateDatabaseDdlRequest();
1936 buildCounterUpdateDatabaseDdlRequest++;
1937 if (buildCounterUpdateDatabaseDdlRequest < 3) {
1938 o.operationId = "foo";
Martin Kustermannbe200482017-12-04 11:42:32 +01001939 o.statements = buildUnnamed2218();
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001940 }
1941 buildCounterUpdateDatabaseDdlRequest--;
1942 return o;
1943}
1944
1945checkUpdateDatabaseDdlRequest(api.UpdateDatabaseDdlRequest o) {
1946 buildCounterUpdateDatabaseDdlRequest++;
1947 if (buildCounterUpdateDatabaseDdlRequest < 3) {
1948 unittest.expect(o.operationId, unittest.equals('foo'));
Martin Kustermannbe200482017-12-04 11:42:32 +01001949 checkUnnamed2218(o.statements);
Martin Kustermann77f42ff2017-03-06 13:56:35 +01001950 }
1951 buildCounterUpdateDatabaseDdlRequest--;
1952}
1953
1954core.int buildCounterUpdateInstanceMetadata = 0;
1955buildUpdateInstanceMetadata() {
1956 var o = new api.UpdateInstanceMetadata();
1957 buildCounterUpdateInstanceMetadata++;
1958 if (buildCounterUpdateInstanceMetadata < 3) {
1959 o.cancelTime = "foo";
1960 o.endTime = "foo";
1961 o.instance = buildInstance();
1962 o.startTime = "foo";
1963 }
1964 buildCounterUpdateInstanceMetadata--;
1965 return o;
1966}
1967
1968checkUpdateInstanceMetadata(api.UpdateInstanceMetadata o) {
1969 buildCounterUpdateInstanceMetadata++;
1970 if (buildCounterUpdateInstanceMetadata < 3) {
1971 unittest.expect(o.cancelTime, unittest.equals('foo'));
1972 unittest.expect(o.endTime, unittest.equals('foo'));
1973 checkInstance(o.instance);
1974 unittest.expect(o.startTime, unittest.equals('foo'));
1975 }
1976 buildCounterUpdateInstanceMetadata--;
1977}
1978
1979core.int buildCounterUpdateInstanceRequest = 0;
1980buildUpdateInstanceRequest() {
1981 var o = new api.UpdateInstanceRequest();
1982 buildCounterUpdateInstanceRequest++;
1983 if (buildCounterUpdateInstanceRequest < 3) {
1984 o.fieldMask = "foo";
1985 o.instance = buildInstance();
1986 }
1987 buildCounterUpdateInstanceRequest--;
1988 return o;
1989}
1990
1991checkUpdateInstanceRequest(api.UpdateInstanceRequest o) {
1992 buildCounterUpdateInstanceRequest++;
1993 if (buildCounterUpdateInstanceRequest < 3) {
1994 unittest.expect(o.fieldMask, unittest.equals('foo'));
1995 checkInstance(o.instance);
1996 }
1997 buildCounterUpdateInstanceRequest--;
1998}
1999
Martin Kustermannbe200482017-12-04 11:42:32 +01002000buildUnnamed2219() {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002001 var o = new core.List<core.String>();
2002 o.add("foo");
2003 o.add("foo");
2004 return o;
2005}
2006
Martin Kustermannbe200482017-12-04 11:42:32 +01002007checkUnnamed2219(core.List<core.String> o) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002008 unittest.expect(o, unittest.hasLength(2));
2009 unittest.expect(o[0], unittest.equals('foo'));
2010 unittest.expect(o[1], unittest.equals('foo'));
2011}
2012
Martin Kustermannbe200482017-12-04 11:42:32 +01002013buildUnnamed2220() {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002014 var o = new core.List<core.Object>();
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002015 o.add({
2016 'list': [1, 2, 3],
2017 'bool': true,
2018 'string': 'foo'
2019 });
2020 o.add({
2021 'list': [1, 2, 3],
2022 'bool': true,
2023 'string': 'foo'
2024 });
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002025 return o;
2026}
2027
Martin Kustermannbe200482017-12-04 11:42:32 +01002028checkUnnamed2220(core.List<core.Object> o) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002029 unittest.expect(o, unittest.hasLength(2));
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002030 var casted29 = (o[0]) as core.Map;
2031 unittest.expect(casted29, unittest.hasLength(3));
2032 unittest.expect(casted29["list"], unittest.equals([1, 2, 3]));
2033 unittest.expect(casted29["bool"], unittest.equals(true));
2034 unittest.expect(casted29["string"], unittest.equals('foo'));
2035 var casted30 = (o[1]) as core.Map;
2036 unittest.expect(casted30, unittest.hasLength(3));
2037 unittest.expect(casted30["list"], unittest.equals([1, 2, 3]));
2038 unittest.expect(casted30["bool"], unittest.equals(true));
2039 unittest.expect(casted30["string"], unittest.equals('foo'));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002040}
2041
Martin Kustermannbe200482017-12-04 11:42:32 +01002042buildUnnamed2221() {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002043 var o = new core.List<core.List<core.Object>>();
Martin Kustermannbe200482017-12-04 11:42:32 +01002044 o.add(buildUnnamed2220());
2045 o.add(buildUnnamed2220());
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002046 return o;
2047}
2048
Martin Kustermannbe200482017-12-04 11:42:32 +01002049checkUnnamed2221(core.List<core.List<core.Object>> o) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002050 unittest.expect(o, unittest.hasLength(2));
Martin Kustermannbe200482017-12-04 11:42:32 +01002051 checkUnnamed2220(o[0]);
2052 checkUnnamed2220(o[1]);
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002053}
2054
2055core.int buildCounterWrite = 0;
2056buildWrite() {
2057 var o = new api.Write();
2058 buildCounterWrite++;
2059 if (buildCounterWrite < 3) {
Martin Kustermannbe200482017-12-04 11:42:32 +01002060 o.columns = buildUnnamed2219();
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002061 o.table = "foo";
Martin Kustermannbe200482017-12-04 11:42:32 +01002062 o.values = buildUnnamed2221();
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002063 }
2064 buildCounterWrite--;
2065 return o;
2066}
2067
2068checkWrite(api.Write o) {
2069 buildCounterWrite++;
2070 if (buildCounterWrite < 3) {
Martin Kustermannbe200482017-12-04 11:42:32 +01002071 checkUnnamed2219(o.columns);
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002072 unittest.expect(o.table, unittest.equals('foo'));
Martin Kustermannbe200482017-12-04 11:42:32 +01002073 checkUnnamed2221(o.values);
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002074 }
2075 buildCounterWrite--;
2076}
2077
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002078main() {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002079 unittest.group("obj-schema-BeginTransactionRequest", () {
2080 unittest.test("to-json--from-json", () {
2081 var o = buildBeginTransactionRequest();
2082 var od = new api.BeginTransactionRequest.fromJson(o.toJson());
2083 checkBeginTransactionRequest(od);
2084 });
2085 });
2086
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002087 unittest.group("obj-schema-Binding", () {
2088 unittest.test("to-json--from-json", () {
2089 var o = buildBinding();
2090 var od = new api.Binding.fromJson(o.toJson());
2091 checkBinding(od);
2092 });
2093 });
2094
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002095 unittest.group("obj-schema-ChildLink", () {
2096 unittest.test("to-json--from-json", () {
2097 var o = buildChildLink();
2098 var od = new api.ChildLink.fromJson(o.toJson());
2099 checkChildLink(od);
2100 });
2101 });
2102
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002103 unittest.group("obj-schema-CommitRequest", () {
2104 unittest.test("to-json--from-json", () {
2105 var o = buildCommitRequest();
2106 var od = new api.CommitRequest.fromJson(o.toJson());
2107 checkCommitRequest(od);
2108 });
2109 });
2110
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002111 unittest.group("obj-schema-CommitResponse", () {
2112 unittest.test("to-json--from-json", () {
2113 var o = buildCommitResponse();
2114 var od = new api.CommitResponse.fromJson(o.toJson());
2115 checkCommitResponse(od);
2116 });
2117 });
2118
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002119 unittest.group("obj-schema-CreateDatabaseMetadata", () {
2120 unittest.test("to-json--from-json", () {
2121 var o = buildCreateDatabaseMetadata();
2122 var od = new api.CreateDatabaseMetadata.fromJson(o.toJson());
2123 checkCreateDatabaseMetadata(od);
2124 });
2125 });
2126
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002127 unittest.group("obj-schema-CreateDatabaseRequest", () {
2128 unittest.test("to-json--from-json", () {
2129 var o = buildCreateDatabaseRequest();
2130 var od = new api.CreateDatabaseRequest.fromJson(o.toJson());
2131 checkCreateDatabaseRequest(od);
2132 });
2133 });
2134
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002135 unittest.group("obj-schema-CreateInstanceMetadata", () {
2136 unittest.test("to-json--from-json", () {
2137 var o = buildCreateInstanceMetadata();
2138 var od = new api.CreateInstanceMetadata.fromJson(o.toJson());
2139 checkCreateInstanceMetadata(od);
2140 });
2141 });
2142
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002143 unittest.group("obj-schema-CreateInstanceRequest", () {
2144 unittest.test("to-json--from-json", () {
2145 var o = buildCreateInstanceRequest();
2146 var od = new api.CreateInstanceRequest.fromJson(o.toJson());
2147 checkCreateInstanceRequest(od);
2148 });
2149 });
2150
Martin Kustermann0e130012017-10-05 15:54:21 +01002151 unittest.group("obj-schema-CreateSessionRequest", () {
2152 unittest.test("to-json--from-json", () {
2153 var o = buildCreateSessionRequest();
2154 var od = new api.CreateSessionRequest.fromJson(o.toJson());
2155 checkCreateSessionRequest(od);
2156 });
2157 });
2158
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002159 unittest.group("obj-schema-Database", () {
2160 unittest.test("to-json--from-json", () {
2161 var o = buildDatabase();
2162 var od = new api.Database.fromJson(o.toJson());
2163 checkDatabase(od);
2164 });
2165 });
2166
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002167 unittest.group("obj-schema-Delete", () {
2168 unittest.test("to-json--from-json", () {
2169 var o = buildDelete();
2170 var od = new api.Delete.fromJson(o.toJson());
2171 checkDelete(od);
2172 });
2173 });
2174
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002175 unittest.group("obj-schema-Empty", () {
2176 unittest.test("to-json--from-json", () {
2177 var o = buildEmpty();
2178 var od = new api.Empty.fromJson(o.toJson());
2179 checkEmpty(od);
2180 });
2181 });
2182
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002183 unittest.group("obj-schema-ExecuteSqlRequest", () {
2184 unittest.test("to-json--from-json", () {
2185 var o = buildExecuteSqlRequest();
2186 var od = new api.ExecuteSqlRequest.fromJson(o.toJson());
2187 checkExecuteSqlRequest(od);
2188 });
2189 });
2190
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002191 unittest.group("obj-schema-Field", () {
2192 unittest.test("to-json--from-json", () {
2193 var o = buildField();
2194 var od = new api.Field.fromJson(o.toJson());
2195 checkField(od);
2196 });
2197 });
2198
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002199 unittest.group("obj-schema-GetDatabaseDdlResponse", () {
2200 unittest.test("to-json--from-json", () {
2201 var o = buildGetDatabaseDdlResponse();
2202 var od = new api.GetDatabaseDdlResponse.fromJson(o.toJson());
2203 checkGetDatabaseDdlResponse(od);
2204 });
2205 });
2206
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002207 unittest.group("obj-schema-GetIamPolicyRequest", () {
2208 unittest.test("to-json--from-json", () {
2209 var o = buildGetIamPolicyRequest();
2210 var od = new api.GetIamPolicyRequest.fromJson(o.toJson());
2211 checkGetIamPolicyRequest(od);
2212 });
2213 });
2214
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002215 unittest.group("obj-schema-Instance", () {
2216 unittest.test("to-json--from-json", () {
2217 var o = buildInstance();
2218 var od = new api.Instance.fromJson(o.toJson());
2219 checkInstance(od);
2220 });
2221 });
2222
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002223 unittest.group("obj-schema-InstanceConfig", () {
2224 unittest.test("to-json--from-json", () {
2225 var o = buildInstanceConfig();
2226 var od = new api.InstanceConfig.fromJson(o.toJson());
2227 checkInstanceConfig(od);
2228 });
2229 });
2230
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002231 unittest.group("obj-schema-KeyRange", () {
2232 unittest.test("to-json--from-json", () {
2233 var o = buildKeyRange();
2234 var od = new api.KeyRange.fromJson(o.toJson());
2235 checkKeyRange(od);
2236 });
2237 });
2238
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002239 unittest.group("obj-schema-KeySet", () {
2240 unittest.test("to-json--from-json", () {
2241 var o = buildKeySet();
2242 var od = new api.KeySet.fromJson(o.toJson());
2243 checkKeySet(od);
2244 });
2245 });
2246
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002247 unittest.group("obj-schema-ListDatabasesResponse", () {
2248 unittest.test("to-json--from-json", () {
2249 var o = buildListDatabasesResponse();
2250 var od = new api.ListDatabasesResponse.fromJson(o.toJson());
2251 checkListDatabasesResponse(od);
2252 });
2253 });
2254
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002255 unittest.group("obj-schema-ListInstanceConfigsResponse", () {
2256 unittest.test("to-json--from-json", () {
2257 var o = buildListInstanceConfigsResponse();
2258 var od = new api.ListInstanceConfigsResponse.fromJson(o.toJson());
2259 checkListInstanceConfigsResponse(od);
2260 });
2261 });
2262
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002263 unittest.group("obj-schema-ListInstancesResponse", () {
2264 unittest.test("to-json--from-json", () {
2265 var o = buildListInstancesResponse();
2266 var od = new api.ListInstancesResponse.fromJson(o.toJson());
2267 checkListInstancesResponse(od);
2268 });
2269 });
2270
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002271 unittest.group("obj-schema-ListOperationsResponse", () {
2272 unittest.test("to-json--from-json", () {
2273 var o = buildListOperationsResponse();
2274 var od = new api.ListOperationsResponse.fromJson(o.toJson());
2275 checkListOperationsResponse(od);
2276 });
2277 });
2278
Martin Kustermann0e130012017-10-05 15:54:21 +01002279 unittest.group("obj-schema-ListSessionsResponse", () {
2280 unittest.test("to-json--from-json", () {
2281 var o = buildListSessionsResponse();
2282 var od = new api.ListSessionsResponse.fromJson(o.toJson());
2283 checkListSessionsResponse(od);
2284 });
2285 });
2286
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002287 unittest.group("obj-schema-Mutation", () {
2288 unittest.test("to-json--from-json", () {
2289 var o = buildMutation();
2290 var od = new api.Mutation.fromJson(o.toJson());
2291 checkMutation(od);
2292 });
2293 });
2294
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002295 unittest.group("obj-schema-Operation", () {
2296 unittest.test("to-json--from-json", () {
2297 var o = buildOperation();
2298 var od = new api.Operation.fromJson(o.toJson());
2299 checkOperation(od);
2300 });
2301 });
2302
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002303 unittest.group("obj-schema-PartialResultSet", () {
2304 unittest.test("to-json--from-json", () {
2305 var o = buildPartialResultSet();
2306 var od = new api.PartialResultSet.fromJson(o.toJson());
2307 checkPartialResultSet(od);
2308 });
2309 });
2310
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002311 unittest.group("obj-schema-PlanNode", () {
2312 unittest.test("to-json--from-json", () {
2313 var o = buildPlanNode();
2314 var od = new api.PlanNode.fromJson(o.toJson());
2315 checkPlanNode(od);
2316 });
2317 });
2318
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002319 unittest.group("obj-schema-Policy", () {
2320 unittest.test("to-json--from-json", () {
2321 var o = buildPolicy();
2322 var od = new api.Policy.fromJson(o.toJson());
2323 checkPolicy(od);
2324 });
2325 });
2326
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002327 unittest.group("obj-schema-QueryPlan", () {
2328 unittest.test("to-json--from-json", () {
2329 var o = buildQueryPlan();
2330 var od = new api.QueryPlan.fromJson(o.toJson());
2331 checkQueryPlan(od);
2332 });
2333 });
2334
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002335 unittest.group("obj-schema-ReadOnly", () {
2336 unittest.test("to-json--from-json", () {
2337 var o = buildReadOnly();
2338 var od = new api.ReadOnly.fromJson(o.toJson());
2339 checkReadOnly(od);
2340 });
2341 });
2342
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002343 unittest.group("obj-schema-ReadRequest", () {
2344 unittest.test("to-json--from-json", () {
2345 var o = buildReadRequest();
2346 var od = new api.ReadRequest.fromJson(o.toJson());
2347 checkReadRequest(od);
2348 });
2349 });
2350
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002351 unittest.group("obj-schema-ReadWrite", () {
2352 unittest.test("to-json--from-json", () {
2353 var o = buildReadWrite();
2354 var od = new api.ReadWrite.fromJson(o.toJson());
2355 checkReadWrite(od);
2356 });
2357 });
2358
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002359 unittest.group("obj-schema-ResultSet", () {
2360 unittest.test("to-json--from-json", () {
2361 var o = buildResultSet();
2362 var od = new api.ResultSet.fromJson(o.toJson());
2363 checkResultSet(od);
2364 });
2365 });
2366
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002367 unittest.group("obj-schema-ResultSetMetadata", () {
2368 unittest.test("to-json--from-json", () {
2369 var o = buildResultSetMetadata();
2370 var od = new api.ResultSetMetadata.fromJson(o.toJson());
2371 checkResultSetMetadata(od);
2372 });
2373 });
2374
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002375 unittest.group("obj-schema-ResultSetStats", () {
2376 unittest.test("to-json--from-json", () {
2377 var o = buildResultSetStats();
2378 var od = new api.ResultSetStats.fromJson(o.toJson());
2379 checkResultSetStats(od);
2380 });
2381 });
2382
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002383 unittest.group("obj-schema-RollbackRequest", () {
2384 unittest.test("to-json--from-json", () {
2385 var o = buildRollbackRequest();
2386 var od = new api.RollbackRequest.fromJson(o.toJson());
2387 checkRollbackRequest(od);
2388 });
2389 });
2390
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002391 unittest.group("obj-schema-Session", () {
2392 unittest.test("to-json--from-json", () {
2393 var o = buildSession();
2394 var od = new api.Session.fromJson(o.toJson());
2395 checkSession(od);
2396 });
2397 });
2398
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002399 unittest.group("obj-schema-SetIamPolicyRequest", () {
2400 unittest.test("to-json--from-json", () {
2401 var o = buildSetIamPolicyRequest();
2402 var od = new api.SetIamPolicyRequest.fromJson(o.toJson());
2403 checkSetIamPolicyRequest(od);
2404 });
2405 });
2406
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002407 unittest.group("obj-schema-ShortRepresentation", () {
2408 unittest.test("to-json--from-json", () {
2409 var o = buildShortRepresentation();
2410 var od = new api.ShortRepresentation.fromJson(o.toJson());
2411 checkShortRepresentation(od);
2412 });
2413 });
2414
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002415 unittest.group("obj-schema-Status", () {
2416 unittest.test("to-json--from-json", () {
2417 var o = buildStatus();
2418 var od = new api.Status.fromJson(o.toJson());
2419 checkStatus(od);
2420 });
2421 });
2422
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002423 unittest.group("obj-schema-StructType", () {
2424 unittest.test("to-json--from-json", () {
2425 var o = buildStructType();
2426 var od = new api.StructType.fromJson(o.toJson());
2427 checkStructType(od);
2428 });
2429 });
2430
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002431 unittest.group("obj-schema-TestIamPermissionsRequest", () {
2432 unittest.test("to-json--from-json", () {
2433 var o = buildTestIamPermissionsRequest();
2434 var od = new api.TestIamPermissionsRequest.fromJson(o.toJson());
2435 checkTestIamPermissionsRequest(od);
2436 });
2437 });
2438
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002439 unittest.group("obj-schema-TestIamPermissionsResponse", () {
2440 unittest.test("to-json--from-json", () {
2441 var o = buildTestIamPermissionsResponse();
2442 var od = new api.TestIamPermissionsResponse.fromJson(o.toJson());
2443 checkTestIamPermissionsResponse(od);
2444 });
2445 });
2446
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002447 unittest.group("obj-schema-Transaction", () {
2448 unittest.test("to-json--from-json", () {
2449 var o = buildTransaction();
2450 var od = new api.Transaction.fromJson(o.toJson());
2451 checkTransaction(od);
2452 });
2453 });
2454
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002455 unittest.group("obj-schema-TransactionOptions", () {
2456 unittest.test("to-json--from-json", () {
2457 var o = buildTransactionOptions();
2458 var od = new api.TransactionOptions.fromJson(o.toJson());
2459 checkTransactionOptions(od);
2460 });
2461 });
2462
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002463 unittest.group("obj-schema-TransactionSelector", () {
2464 unittest.test("to-json--from-json", () {
2465 var o = buildTransactionSelector();
2466 var od = new api.TransactionSelector.fromJson(o.toJson());
2467 checkTransactionSelector(od);
2468 });
2469 });
2470
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002471 unittest.group("obj-schema-Type", () {
2472 unittest.test("to-json--from-json", () {
2473 var o = buildType();
2474 var od = new api.Type.fromJson(o.toJson());
2475 checkType(od);
2476 });
2477 });
2478
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002479 unittest.group("obj-schema-UpdateDatabaseDdlMetadata", () {
2480 unittest.test("to-json--from-json", () {
2481 var o = buildUpdateDatabaseDdlMetadata();
2482 var od = new api.UpdateDatabaseDdlMetadata.fromJson(o.toJson());
2483 checkUpdateDatabaseDdlMetadata(od);
2484 });
2485 });
2486
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002487 unittest.group("obj-schema-UpdateDatabaseDdlRequest", () {
2488 unittest.test("to-json--from-json", () {
2489 var o = buildUpdateDatabaseDdlRequest();
2490 var od = new api.UpdateDatabaseDdlRequest.fromJson(o.toJson());
2491 checkUpdateDatabaseDdlRequest(od);
2492 });
2493 });
2494
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002495 unittest.group("obj-schema-UpdateInstanceMetadata", () {
2496 unittest.test("to-json--from-json", () {
2497 var o = buildUpdateInstanceMetadata();
2498 var od = new api.UpdateInstanceMetadata.fromJson(o.toJson());
2499 checkUpdateInstanceMetadata(od);
2500 });
2501 });
2502
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002503 unittest.group("obj-schema-UpdateInstanceRequest", () {
2504 unittest.test("to-json--from-json", () {
2505 var o = buildUpdateInstanceRequest();
2506 var od = new api.UpdateInstanceRequest.fromJson(o.toJson());
2507 checkUpdateInstanceRequest(od);
2508 });
2509 });
2510
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002511 unittest.group("obj-schema-Write", () {
2512 unittest.test("to-json--from-json", () {
2513 var o = buildWrite();
2514 var od = new api.Write.fromJson(o.toJson());
2515 checkWrite(od);
2516 });
2517 });
2518
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002519 unittest.group("resource-ProjectsInstanceConfigsResourceApi", () {
2520 unittest.test("method--get", () {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002521 var mock = new HttpServerMock();
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002522 api.ProjectsInstanceConfigsResourceApi res =
2523 new api.SpannerApi(mock).projects.instanceConfigs;
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002524 var arg_name = "foo";
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02002525 var arg_$fields = "foo";
Martin Kustermann3953f0d2017-06-12 16:59:53 +02002526 mock.register(unittest.expectAsync2((http.BaseRequest req, json) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002527 var path = (req.url).path;
2528 var pathOffset = 0;
2529 var index;
2530 var subPart;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002531 unittest.expect(
2532 path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002533 pathOffset += 1;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002534 unittest.expect(
2535 path.substring(pathOffset, pathOffset + 3), unittest.equals("v1/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002536 pathOffset += 3;
2537 // NOTE: We cannot test reserved expansions due to the inability to reverse the operation;
2538
2539 var query = (req.url).query;
2540 var queryOffset = 0;
2541 var queryMap = {};
2542 addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
2543 parseBool(n) {
2544 if (n == "true") return true;
2545 if (n == "false") return false;
2546 if (n == null) return null;
2547 throw new core.ArgumentError("Invalid boolean: $n");
2548 }
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002549
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002550 if (query.length > 0) {
2551 for (var part in query.split("&")) {
2552 var keyvalue = part.split("=");
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002553 addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]),
2554 core.Uri.decodeQueryComponent(keyvalue[1]));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002555 }
2556 }
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02002557 unittest.expect(queryMap["fields"].first, unittest.equals(arg_$fields));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002558
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002559 var h = {
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002560 "content-type": "application/json; charset=utf-8",
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002561 };
2562 var resp = convert.JSON.encode(buildInstanceConfig());
2563 return new async.Future.value(stringResponse(200, h, resp));
2564 }), true);
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002565 res
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02002566 .get(arg_name, $fields: arg_$fields)
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002567 .then(unittest.expectAsync1(((api.InstanceConfig response) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002568 checkInstanceConfig(response);
2569 })));
2570 });
2571
2572 unittest.test("method--list", () {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002573 var mock = new HttpServerMock();
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002574 api.ProjectsInstanceConfigsResourceApi res =
2575 new api.SpannerApi(mock).projects.instanceConfigs;
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002576 var arg_parent = "foo";
Martin Kustermanna6d0a322017-03-27 13:52:31 +02002577 var arg_pageToken = "foo";
Martin Kustermannc95693d2017-04-18 12:30:00 +02002578 var arg_pageSize = 42;
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02002579 var arg_$fields = "foo";
Martin Kustermann3953f0d2017-06-12 16:59:53 +02002580 mock.register(unittest.expectAsync2((http.BaseRequest req, json) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002581 var path = (req.url).path;
2582 var pathOffset = 0;
2583 var index;
2584 var subPart;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002585 unittest.expect(
2586 path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002587 pathOffset += 1;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002588 unittest.expect(
2589 path.substring(pathOffset, pathOffset + 3), unittest.equals("v1/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002590 pathOffset += 3;
2591 // NOTE: We cannot test reserved expansions due to the inability to reverse the operation;
2592
2593 var query = (req.url).query;
2594 var queryOffset = 0;
2595 var queryMap = {};
2596 addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
2597 parseBool(n) {
2598 if (n == "true") return true;
2599 if (n == "false") return false;
2600 if (n == null) return null;
2601 throw new core.ArgumentError("Invalid boolean: $n");
2602 }
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002603
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002604 if (query.length > 0) {
2605 for (var part in query.split("&")) {
2606 var keyvalue = part.split("=");
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002607 addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]),
2608 core.Uri.decodeQueryComponent(keyvalue[1]));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002609 }
2610 }
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002611 unittest.expect(
2612 queryMap["pageToken"].first, unittest.equals(arg_pageToken));
2613 unittest.expect(core.int.parse(queryMap["pageSize"].first),
2614 unittest.equals(arg_pageSize));
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02002615 unittest.expect(queryMap["fields"].first, unittest.equals(arg_$fields));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002616
2617 var h = {
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002618 "content-type": "application/json; charset=utf-8",
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002619 };
2620 var resp = convert.JSON.encode(buildListInstanceConfigsResponse());
2621 return new async.Future.value(stringResponse(200, h, resp));
2622 }), true);
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002623 res
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02002624 .list(arg_parent,
2625 pageToken: arg_pageToken,
2626 pageSize: arg_pageSize,
2627 $fields: arg_$fields)
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002628 .then(unittest
2629 .expectAsync1(((api.ListInstanceConfigsResponse response) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002630 checkListInstanceConfigsResponse(response);
2631 })));
2632 });
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002633 });
2634
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002635 unittest.group("resource-ProjectsInstancesResourceApi", () {
2636 unittest.test("method--create", () {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002637 var mock = new HttpServerMock();
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002638 api.ProjectsInstancesResourceApi res =
2639 new api.SpannerApi(mock).projects.instances;
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002640 var arg_request = buildCreateInstanceRequest();
2641 var arg_parent = "foo";
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02002642 var arg_$fields = "foo";
Martin Kustermann3953f0d2017-06-12 16:59:53 +02002643 mock.register(unittest.expectAsync2((http.BaseRequest req, json) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002644 var obj = new api.CreateInstanceRequest.fromJson(json);
2645 checkCreateInstanceRequest(obj);
2646
2647 var path = (req.url).path;
2648 var pathOffset = 0;
2649 var index;
2650 var subPart;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002651 unittest.expect(
2652 path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002653 pathOffset += 1;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002654 unittest.expect(
2655 path.substring(pathOffset, pathOffset + 3), unittest.equals("v1/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002656 pathOffset += 3;
2657 // NOTE: We cannot test reserved expansions due to the inability to reverse the operation;
2658
2659 var query = (req.url).query;
2660 var queryOffset = 0;
2661 var queryMap = {};
2662 addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
2663 parseBool(n) {
2664 if (n == "true") return true;
2665 if (n == "false") return false;
2666 if (n == null) return null;
2667 throw new core.ArgumentError("Invalid boolean: $n");
2668 }
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002669
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002670 if (query.length > 0) {
2671 for (var part in query.split("&")) {
2672 var keyvalue = part.split("=");
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002673 addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]),
2674 core.Uri.decodeQueryComponent(keyvalue[1]));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002675 }
2676 }
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02002677 unittest.expect(queryMap["fields"].first, unittest.equals(arg_$fields));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002678
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002679 var h = {
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002680 "content-type": "application/json; charset=utf-8",
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002681 };
2682 var resp = convert.JSON.encode(buildOperation());
2683 return new async.Future.value(stringResponse(200, h, resp));
2684 }), true);
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002685 res
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02002686 .create(arg_request, arg_parent, $fields: arg_$fields)
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002687 .then(unittest.expectAsync1(((api.Operation response) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002688 checkOperation(response);
2689 })));
2690 });
2691
2692 unittest.test("method--delete", () {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002693 var mock = new HttpServerMock();
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002694 api.ProjectsInstancesResourceApi res =
2695 new api.SpannerApi(mock).projects.instances;
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002696 var arg_name = "foo";
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02002697 var arg_$fields = "foo";
Martin Kustermann3953f0d2017-06-12 16:59:53 +02002698 mock.register(unittest.expectAsync2((http.BaseRequest req, json) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002699 var path = (req.url).path;
2700 var pathOffset = 0;
2701 var index;
2702 var subPart;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002703 unittest.expect(
2704 path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002705 pathOffset += 1;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002706 unittest.expect(
2707 path.substring(pathOffset, pathOffset + 3), unittest.equals("v1/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002708 pathOffset += 3;
2709 // NOTE: We cannot test reserved expansions due to the inability to reverse the operation;
2710
2711 var query = (req.url).query;
2712 var queryOffset = 0;
2713 var queryMap = {};
2714 addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
2715 parseBool(n) {
2716 if (n == "true") return true;
2717 if (n == "false") return false;
2718 if (n == null) return null;
2719 throw new core.ArgumentError("Invalid boolean: $n");
2720 }
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002721
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002722 if (query.length > 0) {
2723 for (var part in query.split("&")) {
2724 var keyvalue = part.split("=");
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002725 addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]),
2726 core.Uri.decodeQueryComponent(keyvalue[1]));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002727 }
2728 }
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02002729 unittest.expect(queryMap["fields"].first, unittest.equals(arg_$fields));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002730
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002731 var h = {
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002732 "content-type": "application/json; charset=utf-8",
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002733 };
2734 var resp = convert.JSON.encode(buildEmpty());
2735 return new async.Future.value(stringResponse(200, h, resp));
2736 }), true);
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02002737 res
2738 .delete(arg_name, $fields: arg_$fields)
2739 .then(unittest.expectAsync1(((api.Empty response) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002740 checkEmpty(response);
2741 })));
2742 });
2743
2744 unittest.test("method--get", () {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002745 var mock = new HttpServerMock();
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002746 api.ProjectsInstancesResourceApi res =
2747 new api.SpannerApi(mock).projects.instances;
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002748 var arg_name = "foo";
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02002749 var arg_$fields = "foo";
Martin Kustermann3953f0d2017-06-12 16:59:53 +02002750 mock.register(unittest.expectAsync2((http.BaseRequest req, json) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002751 var path = (req.url).path;
2752 var pathOffset = 0;
2753 var index;
2754 var subPart;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002755 unittest.expect(
2756 path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002757 pathOffset += 1;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002758 unittest.expect(
2759 path.substring(pathOffset, pathOffset + 3), unittest.equals("v1/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002760 pathOffset += 3;
2761 // NOTE: We cannot test reserved expansions due to the inability to reverse the operation;
2762
2763 var query = (req.url).query;
2764 var queryOffset = 0;
2765 var queryMap = {};
2766 addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
2767 parseBool(n) {
2768 if (n == "true") return true;
2769 if (n == "false") return false;
2770 if (n == null) return null;
2771 throw new core.ArgumentError("Invalid boolean: $n");
2772 }
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002773
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002774 if (query.length > 0) {
2775 for (var part in query.split("&")) {
2776 var keyvalue = part.split("=");
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002777 addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]),
2778 core.Uri.decodeQueryComponent(keyvalue[1]));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002779 }
2780 }
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02002781 unittest.expect(queryMap["fields"].first, unittest.equals(arg_$fields));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002782
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002783 var h = {
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002784 "content-type": "application/json; charset=utf-8",
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002785 };
2786 var resp = convert.JSON.encode(buildInstance());
2787 return new async.Future.value(stringResponse(200, h, resp));
2788 }), true);
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02002789 res
2790 .get(arg_name, $fields: arg_$fields)
2791 .then(unittest.expectAsync1(((api.Instance response) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002792 checkInstance(response);
2793 })));
2794 });
2795
2796 unittest.test("method--getIamPolicy", () {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002797 var mock = new HttpServerMock();
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002798 api.ProjectsInstancesResourceApi res =
2799 new api.SpannerApi(mock).projects.instances;
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002800 var arg_request = buildGetIamPolicyRequest();
2801 var arg_resource = "foo";
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02002802 var arg_$fields = "foo";
Martin Kustermann3953f0d2017-06-12 16:59:53 +02002803 mock.register(unittest.expectAsync2((http.BaseRequest req, json) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002804 var obj = new api.GetIamPolicyRequest.fromJson(json);
2805 checkGetIamPolicyRequest(obj);
2806
2807 var path = (req.url).path;
2808 var pathOffset = 0;
2809 var index;
2810 var subPart;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002811 unittest.expect(
2812 path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002813 pathOffset += 1;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002814 unittest.expect(
2815 path.substring(pathOffset, pathOffset + 3), unittest.equals("v1/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002816 pathOffset += 3;
2817 // NOTE: We cannot test reserved expansions due to the inability to reverse the operation;
2818
2819 var query = (req.url).query;
2820 var queryOffset = 0;
2821 var queryMap = {};
2822 addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
2823 parseBool(n) {
2824 if (n == "true") return true;
2825 if (n == "false") return false;
2826 if (n == null) return null;
2827 throw new core.ArgumentError("Invalid boolean: $n");
2828 }
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002829
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002830 if (query.length > 0) {
2831 for (var part in query.split("&")) {
2832 var keyvalue = part.split("=");
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002833 addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]),
2834 core.Uri.decodeQueryComponent(keyvalue[1]));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002835 }
2836 }
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02002837 unittest.expect(queryMap["fields"].first, unittest.equals(arg_$fields));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002838
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002839 var h = {
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002840 "content-type": "application/json; charset=utf-8",
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002841 };
2842 var resp = convert.JSON.encode(buildPolicy());
2843 return new async.Future.value(stringResponse(200, h, resp));
2844 }), true);
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002845 res
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02002846 .getIamPolicy(arg_request, arg_resource, $fields: arg_$fields)
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002847 .then(unittest.expectAsync1(((api.Policy response) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002848 checkPolicy(response);
2849 })));
2850 });
2851
2852 unittest.test("method--list", () {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002853 var mock = new HttpServerMock();
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002854 api.ProjectsInstancesResourceApi res =
2855 new api.SpannerApi(mock).projects.instances;
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002856 var arg_parent = "foo";
Martin Kustermann2a131182017-11-13 13:50:07 +01002857 var arg_pageToken = "foo";
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02002858 var arg_pageSize = 42;
Martin Kustermann0e130012017-10-05 15:54:21 +01002859 var arg_filter = "foo";
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02002860 var arg_$fields = "foo";
Martin Kustermann3953f0d2017-06-12 16:59:53 +02002861 mock.register(unittest.expectAsync2((http.BaseRequest req, json) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002862 var path = (req.url).path;
2863 var pathOffset = 0;
2864 var index;
2865 var subPart;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002866 unittest.expect(
2867 path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002868 pathOffset += 1;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002869 unittest.expect(
2870 path.substring(pathOffset, pathOffset + 3), unittest.equals("v1/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002871 pathOffset += 3;
2872 // NOTE: We cannot test reserved expansions due to the inability to reverse the operation;
2873
2874 var query = (req.url).query;
2875 var queryOffset = 0;
2876 var queryMap = {};
2877 addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
2878 parseBool(n) {
2879 if (n == "true") return true;
2880 if (n == "false") return false;
2881 if (n == null) return null;
2882 throw new core.ArgumentError("Invalid boolean: $n");
2883 }
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002884
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002885 if (query.length > 0) {
2886 for (var part in query.split("&")) {
2887 var keyvalue = part.split("=");
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002888 addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]),
2889 core.Uri.decodeQueryComponent(keyvalue[1]));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002890 }
2891 }
Martin Kustermann2a131182017-11-13 13:50:07 +01002892 unittest.expect(
2893 queryMap["pageToken"].first, unittest.equals(arg_pageToken));
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02002894 unittest.expect(core.int.parse(queryMap["pageSize"].first),
2895 unittest.equals(arg_pageSize));
Martin Kustermann0e130012017-10-05 15:54:21 +01002896 unittest.expect(queryMap["filter"].first, unittest.equals(arg_filter));
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02002897 unittest.expect(queryMap["fields"].first, unittest.equals(arg_$fields));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002898
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002899 var h = {
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002900 "content-type": "application/json; charset=utf-8",
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002901 };
2902 var resp = convert.JSON.encode(buildListInstancesResponse());
2903 return new async.Future.value(stringResponse(200, h, resp));
2904 }), true);
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002905 res
2906 .list(arg_parent,
Martin Kustermann2a131182017-11-13 13:50:07 +01002907 pageToken: arg_pageToken,
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02002908 pageSize: arg_pageSize,
Martin Kustermann0e130012017-10-05 15:54:21 +01002909 filter: arg_filter,
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02002910 $fields: arg_$fields)
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002911 .then(unittest.expectAsync1(((api.ListInstancesResponse response) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002912 checkListInstancesResponse(response);
2913 })));
2914 });
2915
2916 unittest.test("method--patch", () {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002917 var mock = new HttpServerMock();
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002918 api.ProjectsInstancesResourceApi res =
2919 new api.SpannerApi(mock).projects.instances;
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002920 var arg_request = buildUpdateInstanceRequest();
2921 var arg_name = "foo";
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02002922 var arg_$fields = "foo";
Martin Kustermann3953f0d2017-06-12 16:59:53 +02002923 mock.register(unittest.expectAsync2((http.BaseRequest req, json) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002924 var obj = new api.UpdateInstanceRequest.fromJson(json);
2925 checkUpdateInstanceRequest(obj);
2926
2927 var path = (req.url).path;
2928 var pathOffset = 0;
2929 var index;
2930 var subPart;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002931 unittest.expect(
2932 path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002933 pathOffset += 1;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002934 unittest.expect(
2935 path.substring(pathOffset, pathOffset + 3), unittest.equals("v1/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002936 pathOffset += 3;
2937 // NOTE: We cannot test reserved expansions due to the inability to reverse the operation;
2938
2939 var query = (req.url).query;
2940 var queryOffset = 0;
2941 var queryMap = {};
2942 addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
2943 parseBool(n) {
2944 if (n == "true") return true;
2945 if (n == "false") return false;
2946 if (n == null) return null;
2947 throw new core.ArgumentError("Invalid boolean: $n");
2948 }
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002949
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002950 if (query.length > 0) {
2951 for (var part in query.split("&")) {
2952 var keyvalue = part.split("=");
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002953 addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]),
2954 core.Uri.decodeQueryComponent(keyvalue[1]));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002955 }
2956 }
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02002957 unittest.expect(queryMap["fields"].first, unittest.equals(arg_$fields));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002958
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002959 var h = {
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002960 "content-type": "application/json; charset=utf-8",
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002961 };
2962 var resp = convert.JSON.encode(buildOperation());
2963 return new async.Future.value(stringResponse(200, h, resp));
2964 }), true);
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002965 res
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02002966 .patch(arg_request, arg_name, $fields: arg_$fields)
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002967 .then(unittest.expectAsync1(((api.Operation response) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002968 checkOperation(response);
2969 })));
2970 });
2971
2972 unittest.test("method--setIamPolicy", () {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002973 var mock = new HttpServerMock();
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002974 api.ProjectsInstancesResourceApi res =
2975 new api.SpannerApi(mock).projects.instances;
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002976 var arg_request = buildSetIamPolicyRequest();
2977 var arg_resource = "foo";
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02002978 var arg_$fields = "foo";
Martin Kustermann3953f0d2017-06-12 16:59:53 +02002979 mock.register(unittest.expectAsync2((http.BaseRequest req, json) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002980 var obj = new api.SetIamPolicyRequest.fromJson(json);
2981 checkSetIamPolicyRequest(obj);
2982
2983 var path = (req.url).path;
2984 var pathOffset = 0;
2985 var index;
2986 var subPart;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002987 unittest.expect(
2988 path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002989 pathOffset += 1;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02002990 unittest.expect(
2991 path.substring(pathOffset, pathOffset + 3), unittest.equals("v1/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01002992 pathOffset += 3;
2993 // NOTE: We cannot test reserved expansions due to the inability to reverse the operation;
2994
2995 var query = (req.url).query;
2996 var queryOffset = 0;
2997 var queryMap = {};
2998 addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
2999 parseBool(n) {
3000 if (n == "true") return true;
3001 if (n == "false") return false;
3002 if (n == null) return null;
3003 throw new core.ArgumentError("Invalid boolean: $n");
3004 }
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003005
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003006 if (query.length > 0) {
3007 for (var part in query.split("&")) {
3008 var keyvalue = part.split("=");
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003009 addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]),
3010 core.Uri.decodeQueryComponent(keyvalue[1]));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003011 }
3012 }
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02003013 unittest.expect(queryMap["fields"].first, unittest.equals(arg_$fields));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003014
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003015 var h = {
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003016 "content-type": "application/json; charset=utf-8",
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003017 };
3018 var resp = convert.JSON.encode(buildPolicy());
3019 return new async.Future.value(stringResponse(200, h, resp));
3020 }), true);
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003021 res
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02003022 .setIamPolicy(arg_request, arg_resource, $fields: arg_$fields)
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003023 .then(unittest.expectAsync1(((api.Policy response) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003024 checkPolicy(response);
3025 })));
3026 });
3027
3028 unittest.test("method--testIamPermissions", () {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003029 var mock = new HttpServerMock();
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003030 api.ProjectsInstancesResourceApi res =
3031 new api.SpannerApi(mock).projects.instances;
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003032 var arg_request = buildTestIamPermissionsRequest();
3033 var arg_resource = "foo";
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02003034 var arg_$fields = "foo";
Martin Kustermann3953f0d2017-06-12 16:59:53 +02003035 mock.register(unittest.expectAsync2((http.BaseRequest req, json) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003036 var obj = new api.TestIamPermissionsRequest.fromJson(json);
3037 checkTestIamPermissionsRequest(obj);
3038
3039 var path = (req.url).path;
3040 var pathOffset = 0;
3041 var index;
3042 var subPart;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003043 unittest.expect(
3044 path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003045 pathOffset += 1;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003046 unittest.expect(
3047 path.substring(pathOffset, pathOffset + 3), unittest.equals("v1/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003048 pathOffset += 3;
3049 // NOTE: We cannot test reserved expansions due to the inability to reverse the operation;
3050
3051 var query = (req.url).query;
3052 var queryOffset = 0;
3053 var queryMap = {};
3054 addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
3055 parseBool(n) {
3056 if (n == "true") return true;
3057 if (n == "false") return false;
3058 if (n == null) return null;
3059 throw new core.ArgumentError("Invalid boolean: $n");
3060 }
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003061
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003062 if (query.length > 0) {
3063 for (var part in query.split("&")) {
3064 var keyvalue = part.split("=");
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003065 addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]),
3066 core.Uri.decodeQueryComponent(keyvalue[1]));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003067 }
3068 }
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02003069 unittest.expect(queryMap["fields"].first, unittest.equals(arg_$fields));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003070
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003071 var h = {
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003072 "content-type": "application/json; charset=utf-8",
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003073 };
3074 var resp = convert.JSON.encode(buildTestIamPermissionsResponse());
3075 return new async.Future.value(stringResponse(200, h, resp));
3076 }), true);
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02003077 res
3078 .testIamPermissions(arg_request, arg_resource, $fields: arg_$fields)
3079 .then(
3080 unittest.expectAsync1(((api.TestIamPermissionsResponse response) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003081 checkTestIamPermissionsResponse(response);
3082 })));
3083 });
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003084 });
3085
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003086 unittest.group("resource-ProjectsInstancesDatabasesResourceApi", () {
3087 unittest.test("method--create", () {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003088 var mock = new HttpServerMock();
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003089 api.ProjectsInstancesDatabasesResourceApi res =
3090 new api.SpannerApi(mock).projects.instances.databases;
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003091 var arg_request = buildCreateDatabaseRequest();
3092 var arg_parent = "foo";
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02003093 var arg_$fields = "foo";
Martin Kustermann3953f0d2017-06-12 16:59:53 +02003094 mock.register(unittest.expectAsync2((http.BaseRequest req, json) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003095 var obj = new api.CreateDatabaseRequest.fromJson(json);
3096 checkCreateDatabaseRequest(obj);
3097
3098 var path = (req.url).path;
3099 var pathOffset = 0;
3100 var index;
3101 var subPart;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003102 unittest.expect(
3103 path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003104 pathOffset += 1;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003105 unittest.expect(
3106 path.substring(pathOffset, pathOffset + 3), unittest.equals("v1/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003107 pathOffset += 3;
3108 // NOTE: We cannot test reserved expansions due to the inability to reverse the operation;
3109
3110 var query = (req.url).query;
3111 var queryOffset = 0;
3112 var queryMap = {};
3113 addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
3114 parseBool(n) {
3115 if (n == "true") return true;
3116 if (n == "false") return false;
3117 if (n == null) return null;
3118 throw new core.ArgumentError("Invalid boolean: $n");
3119 }
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003120
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003121 if (query.length > 0) {
3122 for (var part in query.split("&")) {
3123 var keyvalue = part.split("=");
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003124 addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]),
3125 core.Uri.decodeQueryComponent(keyvalue[1]));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003126 }
3127 }
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02003128 unittest.expect(queryMap["fields"].first, unittest.equals(arg_$fields));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003129
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003130 var h = {
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003131 "content-type": "application/json; charset=utf-8",
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003132 };
3133 var resp = convert.JSON.encode(buildOperation());
3134 return new async.Future.value(stringResponse(200, h, resp));
3135 }), true);
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003136 res
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02003137 .create(arg_request, arg_parent, $fields: arg_$fields)
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003138 .then(unittest.expectAsync1(((api.Operation response) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003139 checkOperation(response);
3140 })));
3141 });
3142
3143 unittest.test("method--dropDatabase", () {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003144 var mock = new HttpServerMock();
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003145 api.ProjectsInstancesDatabasesResourceApi res =
3146 new api.SpannerApi(mock).projects.instances.databases;
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003147 var arg_database = "foo";
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02003148 var arg_$fields = "foo";
Martin Kustermann3953f0d2017-06-12 16:59:53 +02003149 mock.register(unittest.expectAsync2((http.BaseRequest req, json) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003150 var path = (req.url).path;
3151 var pathOffset = 0;
3152 var index;
3153 var subPart;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003154 unittest.expect(
3155 path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003156 pathOffset += 1;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003157 unittest.expect(
3158 path.substring(pathOffset, pathOffset + 3), unittest.equals("v1/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003159 pathOffset += 3;
3160 // NOTE: We cannot test reserved expansions due to the inability to reverse the operation;
3161
3162 var query = (req.url).query;
3163 var queryOffset = 0;
3164 var queryMap = {};
3165 addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
3166 parseBool(n) {
3167 if (n == "true") return true;
3168 if (n == "false") return false;
3169 if (n == null) return null;
3170 throw new core.ArgumentError("Invalid boolean: $n");
3171 }
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003172
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003173 if (query.length > 0) {
3174 for (var part in query.split("&")) {
3175 var keyvalue = part.split("=");
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003176 addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]),
3177 core.Uri.decodeQueryComponent(keyvalue[1]));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003178 }
3179 }
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02003180 unittest.expect(queryMap["fields"].first, unittest.equals(arg_$fields));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003181
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003182 var h = {
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003183 "content-type": "application/json; charset=utf-8",
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003184 };
3185 var resp = convert.JSON.encode(buildEmpty());
3186 return new async.Future.value(stringResponse(200, h, resp));
3187 }), true);
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003188 res
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02003189 .dropDatabase(arg_database, $fields: arg_$fields)
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003190 .then(unittest.expectAsync1(((api.Empty response) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003191 checkEmpty(response);
3192 })));
3193 });
3194
3195 unittest.test("method--get", () {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003196 var mock = new HttpServerMock();
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003197 api.ProjectsInstancesDatabasesResourceApi res =
3198 new api.SpannerApi(mock).projects.instances.databases;
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003199 var arg_name = "foo";
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02003200 var arg_$fields = "foo";
Martin Kustermann3953f0d2017-06-12 16:59:53 +02003201 mock.register(unittest.expectAsync2((http.BaseRequest req, json) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003202 var path = (req.url).path;
3203 var pathOffset = 0;
3204 var index;
3205 var subPart;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003206 unittest.expect(
3207 path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003208 pathOffset += 1;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003209 unittest.expect(
3210 path.substring(pathOffset, pathOffset + 3), unittest.equals("v1/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003211 pathOffset += 3;
3212 // NOTE: We cannot test reserved expansions due to the inability to reverse the operation;
3213
3214 var query = (req.url).query;
3215 var queryOffset = 0;
3216 var queryMap = {};
3217 addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
3218 parseBool(n) {
3219 if (n == "true") return true;
3220 if (n == "false") return false;
3221 if (n == null) return null;
3222 throw new core.ArgumentError("Invalid boolean: $n");
3223 }
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003224
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003225 if (query.length > 0) {
3226 for (var part in query.split("&")) {
3227 var keyvalue = part.split("=");
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003228 addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]),
3229 core.Uri.decodeQueryComponent(keyvalue[1]));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003230 }
3231 }
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02003232 unittest.expect(queryMap["fields"].first, unittest.equals(arg_$fields));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003233
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003234 var h = {
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003235 "content-type": "application/json; charset=utf-8",
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003236 };
3237 var resp = convert.JSON.encode(buildDatabase());
3238 return new async.Future.value(stringResponse(200, h, resp));
3239 }), true);
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02003240 res
3241 .get(arg_name, $fields: arg_$fields)
3242 .then(unittest.expectAsync1(((api.Database response) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003243 checkDatabase(response);
3244 })));
3245 });
3246
3247 unittest.test("method--getDdl", () {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003248 var mock = new HttpServerMock();
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003249 api.ProjectsInstancesDatabasesResourceApi res =
3250 new api.SpannerApi(mock).projects.instances.databases;
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003251 var arg_database = "foo";
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02003252 var arg_$fields = "foo";
Martin Kustermann3953f0d2017-06-12 16:59:53 +02003253 mock.register(unittest.expectAsync2((http.BaseRequest req, json) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003254 var path = (req.url).path;
3255 var pathOffset = 0;
3256 var index;
3257 var subPart;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003258 unittest.expect(
3259 path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003260 pathOffset += 1;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003261 unittest.expect(
3262 path.substring(pathOffset, pathOffset + 3), unittest.equals("v1/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003263 pathOffset += 3;
3264 // NOTE: We cannot test reserved expansions due to the inability to reverse the operation;
3265
3266 var query = (req.url).query;
3267 var queryOffset = 0;
3268 var queryMap = {};
3269 addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
3270 parseBool(n) {
3271 if (n == "true") return true;
3272 if (n == "false") return false;
3273 if (n == null) return null;
3274 throw new core.ArgumentError("Invalid boolean: $n");
3275 }
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003276
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003277 if (query.length > 0) {
3278 for (var part in query.split("&")) {
3279 var keyvalue = part.split("=");
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003280 addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]),
3281 core.Uri.decodeQueryComponent(keyvalue[1]));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003282 }
3283 }
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02003284 unittest.expect(queryMap["fields"].first, unittest.equals(arg_$fields));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003285
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003286 var h = {
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003287 "content-type": "application/json; charset=utf-8",
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003288 };
3289 var resp = convert.JSON.encode(buildGetDatabaseDdlResponse());
3290 return new async.Future.value(stringResponse(200, h, resp));
3291 }), true);
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003292 res
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02003293 .getDdl(arg_database, $fields: arg_$fields)
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003294 .then(unittest.expectAsync1(((api.GetDatabaseDdlResponse response) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003295 checkGetDatabaseDdlResponse(response);
3296 })));
3297 });
3298
3299 unittest.test("method--getIamPolicy", () {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003300 var mock = new HttpServerMock();
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003301 api.ProjectsInstancesDatabasesResourceApi res =
3302 new api.SpannerApi(mock).projects.instances.databases;
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003303 var arg_request = buildGetIamPolicyRequest();
3304 var arg_resource = "foo";
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02003305 var arg_$fields = "foo";
Martin Kustermann3953f0d2017-06-12 16:59:53 +02003306 mock.register(unittest.expectAsync2((http.BaseRequest req, json) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003307 var obj = new api.GetIamPolicyRequest.fromJson(json);
3308 checkGetIamPolicyRequest(obj);
3309
3310 var path = (req.url).path;
3311 var pathOffset = 0;
3312 var index;
3313 var subPart;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003314 unittest.expect(
3315 path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003316 pathOffset += 1;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003317 unittest.expect(
3318 path.substring(pathOffset, pathOffset + 3), unittest.equals("v1/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003319 pathOffset += 3;
3320 // NOTE: We cannot test reserved expansions due to the inability to reverse the operation;
3321
3322 var query = (req.url).query;
3323 var queryOffset = 0;
3324 var queryMap = {};
3325 addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
3326 parseBool(n) {
3327 if (n == "true") return true;
3328 if (n == "false") return false;
3329 if (n == null) return null;
3330 throw new core.ArgumentError("Invalid boolean: $n");
3331 }
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003332
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003333 if (query.length > 0) {
3334 for (var part in query.split("&")) {
3335 var keyvalue = part.split("=");
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003336 addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]),
3337 core.Uri.decodeQueryComponent(keyvalue[1]));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003338 }
3339 }
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02003340 unittest.expect(queryMap["fields"].first, unittest.equals(arg_$fields));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003341
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003342 var h = {
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003343 "content-type": "application/json; charset=utf-8",
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003344 };
3345 var resp = convert.JSON.encode(buildPolicy());
3346 return new async.Future.value(stringResponse(200, h, resp));
3347 }), true);
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003348 res
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02003349 .getIamPolicy(arg_request, arg_resource, $fields: arg_$fields)
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003350 .then(unittest.expectAsync1(((api.Policy response) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003351 checkPolicy(response);
3352 })));
3353 });
3354
3355 unittest.test("method--list", () {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003356 var mock = new HttpServerMock();
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003357 api.ProjectsInstancesDatabasesResourceApi res =
3358 new api.SpannerApi(mock).projects.instances.databases;
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003359 var arg_parent = "foo";
Martin Kustermanna6d0a322017-03-27 13:52:31 +02003360 var arg_pageToken = "foo";
Martin Kustermannc95693d2017-04-18 12:30:00 +02003361 var arg_pageSize = 42;
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02003362 var arg_$fields = "foo";
Martin Kustermann3953f0d2017-06-12 16:59:53 +02003363 mock.register(unittest.expectAsync2((http.BaseRequest req, json) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003364 var path = (req.url).path;
3365 var pathOffset = 0;
3366 var index;
3367 var subPart;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003368 unittest.expect(
3369 path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003370 pathOffset += 1;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003371 unittest.expect(
3372 path.substring(pathOffset, pathOffset + 3), unittest.equals("v1/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003373 pathOffset += 3;
3374 // NOTE: We cannot test reserved expansions due to the inability to reverse the operation;
3375
3376 var query = (req.url).query;
3377 var queryOffset = 0;
3378 var queryMap = {};
3379 addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
3380 parseBool(n) {
3381 if (n == "true") return true;
3382 if (n == "false") return false;
3383 if (n == null) return null;
3384 throw new core.ArgumentError("Invalid boolean: $n");
3385 }
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003386
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003387 if (query.length > 0) {
3388 for (var part in query.split("&")) {
3389 var keyvalue = part.split("=");
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003390 addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]),
3391 core.Uri.decodeQueryComponent(keyvalue[1]));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003392 }
3393 }
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003394 unittest.expect(
3395 queryMap["pageToken"].first, unittest.equals(arg_pageToken));
3396 unittest.expect(core.int.parse(queryMap["pageSize"].first),
3397 unittest.equals(arg_pageSize));
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02003398 unittest.expect(queryMap["fields"].first, unittest.equals(arg_$fields));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003399
3400 var h = {
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003401 "content-type": "application/json; charset=utf-8",
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003402 };
3403 var resp = convert.JSON.encode(buildListDatabasesResponse());
3404 return new async.Future.value(stringResponse(200, h, resp));
3405 }), true);
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003406 res
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02003407 .list(arg_parent,
3408 pageToken: arg_pageToken,
3409 pageSize: arg_pageSize,
3410 $fields: arg_$fields)
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003411 .then(unittest.expectAsync1(((api.ListDatabasesResponse response) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003412 checkListDatabasesResponse(response);
3413 })));
3414 });
3415
3416 unittest.test("method--setIamPolicy", () {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003417 var mock = new HttpServerMock();
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003418 api.ProjectsInstancesDatabasesResourceApi res =
3419 new api.SpannerApi(mock).projects.instances.databases;
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003420 var arg_request = buildSetIamPolicyRequest();
3421 var arg_resource = "foo";
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02003422 var arg_$fields = "foo";
Martin Kustermann3953f0d2017-06-12 16:59:53 +02003423 mock.register(unittest.expectAsync2((http.BaseRequest req, json) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003424 var obj = new api.SetIamPolicyRequest.fromJson(json);
3425 checkSetIamPolicyRequest(obj);
3426
3427 var path = (req.url).path;
3428 var pathOffset = 0;
3429 var index;
3430 var subPart;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003431 unittest.expect(
3432 path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003433 pathOffset += 1;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003434 unittest.expect(
3435 path.substring(pathOffset, pathOffset + 3), unittest.equals("v1/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003436 pathOffset += 3;
3437 // NOTE: We cannot test reserved expansions due to the inability to reverse the operation;
3438
3439 var query = (req.url).query;
3440 var queryOffset = 0;
3441 var queryMap = {};
3442 addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
3443 parseBool(n) {
3444 if (n == "true") return true;
3445 if (n == "false") return false;
3446 if (n == null) return null;
3447 throw new core.ArgumentError("Invalid boolean: $n");
3448 }
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003449
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003450 if (query.length > 0) {
3451 for (var part in query.split("&")) {
3452 var keyvalue = part.split("=");
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003453 addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]),
3454 core.Uri.decodeQueryComponent(keyvalue[1]));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003455 }
3456 }
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02003457 unittest.expect(queryMap["fields"].first, unittest.equals(arg_$fields));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003458
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003459 var h = {
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003460 "content-type": "application/json; charset=utf-8",
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003461 };
3462 var resp = convert.JSON.encode(buildPolicy());
3463 return new async.Future.value(stringResponse(200, h, resp));
3464 }), true);
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003465 res
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02003466 .setIamPolicy(arg_request, arg_resource, $fields: arg_$fields)
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003467 .then(unittest.expectAsync1(((api.Policy response) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003468 checkPolicy(response);
3469 })));
3470 });
3471
3472 unittest.test("method--testIamPermissions", () {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003473 var mock = new HttpServerMock();
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003474 api.ProjectsInstancesDatabasesResourceApi res =
3475 new api.SpannerApi(mock).projects.instances.databases;
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003476 var arg_request = buildTestIamPermissionsRequest();
3477 var arg_resource = "foo";
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02003478 var arg_$fields = "foo";
Martin Kustermann3953f0d2017-06-12 16:59:53 +02003479 mock.register(unittest.expectAsync2((http.BaseRequest req, json) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003480 var obj = new api.TestIamPermissionsRequest.fromJson(json);
3481 checkTestIamPermissionsRequest(obj);
3482
3483 var path = (req.url).path;
3484 var pathOffset = 0;
3485 var index;
3486 var subPart;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003487 unittest.expect(
3488 path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003489 pathOffset += 1;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003490 unittest.expect(
3491 path.substring(pathOffset, pathOffset + 3), unittest.equals("v1/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003492 pathOffset += 3;
3493 // NOTE: We cannot test reserved expansions due to the inability to reverse the operation;
3494
3495 var query = (req.url).query;
3496 var queryOffset = 0;
3497 var queryMap = {};
3498 addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
3499 parseBool(n) {
3500 if (n == "true") return true;
3501 if (n == "false") return false;
3502 if (n == null) return null;
3503 throw new core.ArgumentError("Invalid boolean: $n");
3504 }
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003505
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003506 if (query.length > 0) {
3507 for (var part in query.split("&")) {
3508 var keyvalue = part.split("=");
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003509 addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]),
3510 core.Uri.decodeQueryComponent(keyvalue[1]));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003511 }
3512 }
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02003513 unittest.expect(queryMap["fields"].first, unittest.equals(arg_$fields));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003514
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003515 var h = {
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003516 "content-type": "application/json; charset=utf-8",
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003517 };
3518 var resp = convert.JSON.encode(buildTestIamPermissionsResponse());
3519 return new async.Future.value(stringResponse(200, h, resp));
3520 }), true);
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02003521 res
3522 .testIamPermissions(arg_request, arg_resource, $fields: arg_$fields)
3523 .then(
3524 unittest.expectAsync1(((api.TestIamPermissionsResponse response) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003525 checkTestIamPermissionsResponse(response);
3526 })));
3527 });
3528
3529 unittest.test("method--updateDdl", () {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003530 var mock = new HttpServerMock();
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003531 api.ProjectsInstancesDatabasesResourceApi res =
3532 new api.SpannerApi(mock).projects.instances.databases;
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003533 var arg_request = buildUpdateDatabaseDdlRequest();
3534 var arg_database = "foo";
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02003535 var arg_$fields = "foo";
Martin Kustermann3953f0d2017-06-12 16:59:53 +02003536 mock.register(unittest.expectAsync2((http.BaseRequest req, json) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003537 var obj = new api.UpdateDatabaseDdlRequest.fromJson(json);
3538 checkUpdateDatabaseDdlRequest(obj);
3539
3540 var path = (req.url).path;
3541 var pathOffset = 0;
3542 var index;
3543 var subPart;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003544 unittest.expect(
3545 path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003546 pathOffset += 1;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003547 unittest.expect(
3548 path.substring(pathOffset, pathOffset + 3), unittest.equals("v1/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003549 pathOffset += 3;
3550 // NOTE: We cannot test reserved expansions due to the inability to reverse the operation;
3551
3552 var query = (req.url).query;
3553 var queryOffset = 0;
3554 var queryMap = {};
3555 addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
3556 parseBool(n) {
3557 if (n == "true") return true;
3558 if (n == "false") return false;
3559 if (n == null) return null;
3560 throw new core.ArgumentError("Invalid boolean: $n");
3561 }
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003562
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003563 if (query.length > 0) {
3564 for (var part in query.split("&")) {
3565 var keyvalue = part.split("=");
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003566 addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]),
3567 core.Uri.decodeQueryComponent(keyvalue[1]));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003568 }
3569 }
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02003570 unittest.expect(queryMap["fields"].first, unittest.equals(arg_$fields));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003571
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003572 var h = {
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003573 "content-type": "application/json; charset=utf-8",
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003574 };
3575 var resp = convert.JSON.encode(buildOperation());
3576 return new async.Future.value(stringResponse(200, h, resp));
3577 }), true);
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003578 res
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02003579 .updateDdl(arg_request, arg_database, $fields: arg_$fields)
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003580 .then(unittest.expectAsync1(((api.Operation response) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003581 checkOperation(response);
3582 })));
3583 });
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003584 });
3585
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003586 unittest.group("resource-ProjectsInstancesDatabasesOperationsResourceApi",
3587 () {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003588 unittest.test("method--cancel", () {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003589 var mock = new HttpServerMock();
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003590 api.ProjectsInstancesDatabasesOperationsResourceApi res =
3591 new api.SpannerApi(mock).projects.instances.databases.operations;
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003592 var arg_name = "foo";
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02003593 var arg_$fields = "foo";
Martin Kustermann3953f0d2017-06-12 16:59:53 +02003594 mock.register(unittest.expectAsync2((http.BaseRequest req, json) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003595 var path = (req.url).path;
3596 var pathOffset = 0;
3597 var index;
3598 var subPart;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003599 unittest.expect(
3600 path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003601 pathOffset += 1;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003602 unittest.expect(
3603 path.substring(pathOffset, pathOffset + 3), unittest.equals("v1/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003604 pathOffset += 3;
3605 // NOTE: We cannot test reserved expansions due to the inability to reverse the operation;
3606
3607 var query = (req.url).query;
3608 var queryOffset = 0;
3609 var queryMap = {};
3610 addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
3611 parseBool(n) {
3612 if (n == "true") return true;
3613 if (n == "false") return false;
3614 if (n == null) return null;
3615 throw new core.ArgumentError("Invalid boolean: $n");
3616 }
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003617
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003618 if (query.length > 0) {
3619 for (var part in query.split("&")) {
3620 var keyvalue = part.split("=");
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003621 addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]),
3622 core.Uri.decodeQueryComponent(keyvalue[1]));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003623 }
3624 }
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02003625 unittest.expect(queryMap["fields"].first, unittest.equals(arg_$fields));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003626
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003627 var h = {
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003628 "content-type": "application/json; charset=utf-8",
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003629 };
3630 var resp = convert.JSON.encode(buildEmpty());
3631 return new async.Future.value(stringResponse(200, h, resp));
3632 }), true);
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02003633 res
3634 .cancel(arg_name, $fields: arg_$fields)
3635 .then(unittest.expectAsync1(((api.Empty response) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003636 checkEmpty(response);
3637 })));
3638 });
3639
3640 unittest.test("method--delete", () {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003641 var mock = new HttpServerMock();
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003642 api.ProjectsInstancesDatabasesOperationsResourceApi res =
3643 new api.SpannerApi(mock).projects.instances.databases.operations;
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003644 var arg_name = "foo";
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02003645 var arg_$fields = "foo";
Martin Kustermann3953f0d2017-06-12 16:59:53 +02003646 mock.register(unittest.expectAsync2((http.BaseRequest req, json) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003647 var path = (req.url).path;
3648 var pathOffset = 0;
3649 var index;
3650 var subPart;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003651 unittest.expect(
3652 path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003653 pathOffset += 1;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003654 unittest.expect(
3655 path.substring(pathOffset, pathOffset + 3), unittest.equals("v1/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003656 pathOffset += 3;
3657 // NOTE: We cannot test reserved expansions due to the inability to reverse the operation;
3658
3659 var query = (req.url).query;
3660 var queryOffset = 0;
3661 var queryMap = {};
3662 addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
3663 parseBool(n) {
3664 if (n == "true") return true;
3665 if (n == "false") return false;
3666 if (n == null) return null;
3667 throw new core.ArgumentError("Invalid boolean: $n");
3668 }
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003669
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003670 if (query.length > 0) {
3671 for (var part in query.split("&")) {
3672 var keyvalue = part.split("=");
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003673 addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]),
3674 core.Uri.decodeQueryComponent(keyvalue[1]));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003675 }
3676 }
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02003677 unittest.expect(queryMap["fields"].first, unittest.equals(arg_$fields));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003678
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003679 var h = {
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003680 "content-type": "application/json; charset=utf-8",
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003681 };
3682 var resp = convert.JSON.encode(buildEmpty());
3683 return new async.Future.value(stringResponse(200, h, resp));
3684 }), true);
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02003685 res
3686 .delete(arg_name, $fields: arg_$fields)
3687 .then(unittest.expectAsync1(((api.Empty response) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003688 checkEmpty(response);
3689 })));
3690 });
3691
3692 unittest.test("method--get", () {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003693 var mock = new HttpServerMock();
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003694 api.ProjectsInstancesDatabasesOperationsResourceApi res =
3695 new api.SpannerApi(mock).projects.instances.databases.operations;
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003696 var arg_name = "foo";
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02003697 var arg_$fields = "foo";
Martin Kustermann3953f0d2017-06-12 16:59:53 +02003698 mock.register(unittest.expectAsync2((http.BaseRequest req, json) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003699 var path = (req.url).path;
3700 var pathOffset = 0;
3701 var index;
3702 var subPart;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003703 unittest.expect(
3704 path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003705 pathOffset += 1;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003706 unittest.expect(
3707 path.substring(pathOffset, pathOffset + 3), unittest.equals("v1/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003708 pathOffset += 3;
3709 // NOTE: We cannot test reserved expansions due to the inability to reverse the operation;
3710
3711 var query = (req.url).query;
3712 var queryOffset = 0;
3713 var queryMap = {};
3714 addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
3715 parseBool(n) {
3716 if (n == "true") return true;
3717 if (n == "false") return false;
3718 if (n == null) return null;
3719 throw new core.ArgumentError("Invalid boolean: $n");
3720 }
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003721
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003722 if (query.length > 0) {
3723 for (var part in query.split("&")) {
3724 var keyvalue = part.split("=");
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003725 addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]),
3726 core.Uri.decodeQueryComponent(keyvalue[1]));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003727 }
3728 }
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02003729 unittest.expect(queryMap["fields"].first, unittest.equals(arg_$fields));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003730
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003731 var h = {
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003732 "content-type": "application/json; charset=utf-8",
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003733 };
3734 var resp = convert.JSON.encode(buildOperation());
3735 return new async.Future.value(stringResponse(200, h, resp));
3736 }), true);
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02003737 res
3738 .get(arg_name, $fields: arg_$fields)
3739 .then(unittest.expectAsync1(((api.Operation response) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003740 checkOperation(response);
3741 })));
3742 });
3743
3744 unittest.test("method--list", () {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003745 var mock = new HttpServerMock();
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003746 api.ProjectsInstancesDatabasesOperationsResourceApi res =
3747 new api.SpannerApi(mock).projects.instances.databases.operations;
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003748 var arg_name = "foo";
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003749 var arg_pageToken = "foo";
3750 var arg_pageSize = 42;
Martin Kustermannbe200482017-12-04 11:42:32 +01003751 var arg_filter = "foo";
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02003752 var arg_$fields = "foo";
Martin Kustermann3953f0d2017-06-12 16:59:53 +02003753 mock.register(unittest.expectAsync2((http.BaseRequest req, json) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003754 var path = (req.url).path;
3755 var pathOffset = 0;
3756 var index;
3757 var subPart;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003758 unittest.expect(
3759 path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003760 pathOffset += 1;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003761 unittest.expect(
3762 path.substring(pathOffset, pathOffset + 3), unittest.equals("v1/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003763 pathOffset += 3;
3764 // NOTE: We cannot test reserved expansions due to the inability to reverse the operation;
3765
3766 var query = (req.url).query;
3767 var queryOffset = 0;
3768 var queryMap = {};
3769 addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
3770 parseBool(n) {
3771 if (n == "true") return true;
3772 if (n == "false") return false;
3773 if (n == null) return null;
3774 throw new core.ArgumentError("Invalid boolean: $n");
3775 }
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003776
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003777 if (query.length > 0) {
3778 for (var part in query.split("&")) {
3779 var keyvalue = part.split("=");
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003780 addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]),
3781 core.Uri.decodeQueryComponent(keyvalue[1]));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003782 }
3783 }
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003784 unittest.expect(
3785 queryMap["pageToken"].first, unittest.equals(arg_pageToken));
3786 unittest.expect(core.int.parse(queryMap["pageSize"].first),
3787 unittest.equals(arg_pageSize));
Martin Kustermannbe200482017-12-04 11:42:32 +01003788 unittest.expect(queryMap["filter"].first, unittest.equals(arg_filter));
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02003789 unittest.expect(queryMap["fields"].first, unittest.equals(arg_$fields));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003790
3791 var h = {
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003792 "content-type": "application/json; charset=utf-8",
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003793 };
3794 var resp = convert.JSON.encode(buildListOperationsResponse());
3795 return new async.Future.value(stringResponse(200, h, resp));
3796 }), true);
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003797 res
3798 .list(arg_name,
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003799 pageToken: arg_pageToken,
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02003800 pageSize: arg_pageSize,
Martin Kustermannbe200482017-12-04 11:42:32 +01003801 filter: arg_filter,
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02003802 $fields: arg_$fields)
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003803 .then(unittest.expectAsync1(((api.ListOperationsResponse response) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003804 checkListOperationsResponse(response);
3805 })));
3806 });
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003807 });
3808
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003809 unittest.group("resource-ProjectsInstancesDatabasesSessionsResourceApi", () {
3810 unittest.test("method--beginTransaction", () {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003811 var mock = new HttpServerMock();
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003812 api.ProjectsInstancesDatabasesSessionsResourceApi res =
3813 new api.SpannerApi(mock).projects.instances.databases.sessions;
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003814 var arg_request = buildBeginTransactionRequest();
3815 var arg_session = "foo";
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02003816 var arg_$fields = "foo";
Martin Kustermann3953f0d2017-06-12 16:59:53 +02003817 mock.register(unittest.expectAsync2((http.BaseRequest req, json) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003818 var obj = new api.BeginTransactionRequest.fromJson(json);
3819 checkBeginTransactionRequest(obj);
3820
3821 var path = (req.url).path;
3822 var pathOffset = 0;
3823 var index;
3824 var subPart;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003825 unittest.expect(
3826 path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003827 pathOffset += 1;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003828 unittest.expect(
3829 path.substring(pathOffset, pathOffset + 3), unittest.equals("v1/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003830 pathOffset += 3;
3831 // NOTE: We cannot test reserved expansions due to the inability to reverse the operation;
3832
3833 var query = (req.url).query;
3834 var queryOffset = 0;
3835 var queryMap = {};
3836 addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
3837 parseBool(n) {
3838 if (n == "true") return true;
3839 if (n == "false") return false;
3840 if (n == null) return null;
3841 throw new core.ArgumentError("Invalid boolean: $n");
3842 }
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003843
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003844 if (query.length > 0) {
3845 for (var part in query.split("&")) {
3846 var keyvalue = part.split("=");
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003847 addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]),
3848 core.Uri.decodeQueryComponent(keyvalue[1]));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003849 }
3850 }
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02003851 unittest.expect(queryMap["fields"].first, unittest.equals(arg_$fields));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003852
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003853 var h = {
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003854 "content-type": "application/json; charset=utf-8",
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003855 };
3856 var resp = convert.JSON.encode(buildTransaction());
3857 return new async.Future.value(stringResponse(200, h, resp));
3858 }), true);
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003859 res
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02003860 .beginTransaction(arg_request, arg_session, $fields: arg_$fields)
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003861 .then(unittest.expectAsync1(((api.Transaction response) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003862 checkTransaction(response);
3863 })));
3864 });
3865
3866 unittest.test("method--commit", () {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003867 var mock = new HttpServerMock();
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003868 api.ProjectsInstancesDatabasesSessionsResourceApi res =
3869 new api.SpannerApi(mock).projects.instances.databases.sessions;
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003870 var arg_request = buildCommitRequest();
3871 var arg_session = "foo";
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02003872 var arg_$fields = "foo";
Martin Kustermann3953f0d2017-06-12 16:59:53 +02003873 mock.register(unittest.expectAsync2((http.BaseRequest req, json) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003874 var obj = new api.CommitRequest.fromJson(json);
3875 checkCommitRequest(obj);
3876
3877 var path = (req.url).path;
3878 var pathOffset = 0;
3879 var index;
3880 var subPart;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003881 unittest.expect(
3882 path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003883 pathOffset += 1;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003884 unittest.expect(
3885 path.substring(pathOffset, pathOffset + 3), unittest.equals("v1/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003886 pathOffset += 3;
3887 // NOTE: We cannot test reserved expansions due to the inability to reverse the operation;
3888
3889 var query = (req.url).query;
3890 var queryOffset = 0;
3891 var queryMap = {};
3892 addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
3893 parseBool(n) {
3894 if (n == "true") return true;
3895 if (n == "false") return false;
3896 if (n == null) return null;
3897 throw new core.ArgumentError("Invalid boolean: $n");
3898 }
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003899
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003900 if (query.length > 0) {
3901 for (var part in query.split("&")) {
3902 var keyvalue = part.split("=");
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003903 addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]),
3904 core.Uri.decodeQueryComponent(keyvalue[1]));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003905 }
3906 }
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02003907 unittest.expect(queryMap["fields"].first, unittest.equals(arg_$fields));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003908
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003909 var h = {
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003910 "content-type": "application/json; charset=utf-8",
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003911 };
3912 var resp = convert.JSON.encode(buildCommitResponse());
3913 return new async.Future.value(stringResponse(200, h, resp));
3914 }), true);
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003915 res
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02003916 .commit(arg_request, arg_session, $fields: arg_$fields)
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003917 .then(unittest.expectAsync1(((api.CommitResponse response) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003918 checkCommitResponse(response);
3919 })));
3920 });
3921
3922 unittest.test("method--create", () {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003923 var mock = new HttpServerMock();
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003924 api.ProjectsInstancesDatabasesSessionsResourceApi res =
3925 new api.SpannerApi(mock).projects.instances.databases.sessions;
Martin Kustermann0e130012017-10-05 15:54:21 +01003926 var arg_request = buildCreateSessionRequest();
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003927 var arg_database = "foo";
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02003928 var arg_$fields = "foo";
Martin Kustermann3953f0d2017-06-12 16:59:53 +02003929 mock.register(unittest.expectAsync2((http.BaseRequest req, json) {
Martin Kustermann0e130012017-10-05 15:54:21 +01003930 var obj = new api.CreateSessionRequest.fromJson(json);
3931 checkCreateSessionRequest(obj);
3932
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003933 var path = (req.url).path;
3934 var pathOffset = 0;
3935 var index;
3936 var subPart;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003937 unittest.expect(
3938 path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003939 pathOffset += 1;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003940 unittest.expect(
3941 path.substring(pathOffset, pathOffset + 3), unittest.equals("v1/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003942 pathOffset += 3;
3943 // NOTE: We cannot test reserved expansions due to the inability to reverse the operation;
3944
3945 var query = (req.url).query;
3946 var queryOffset = 0;
3947 var queryMap = {};
3948 addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
3949 parseBool(n) {
3950 if (n == "true") return true;
3951 if (n == "false") return false;
3952 if (n == null) return null;
3953 throw new core.ArgumentError("Invalid boolean: $n");
3954 }
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003955
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003956 if (query.length > 0) {
3957 for (var part in query.split("&")) {
3958 var keyvalue = part.split("=");
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003959 addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]),
3960 core.Uri.decodeQueryComponent(keyvalue[1]));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003961 }
3962 }
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02003963 unittest.expect(queryMap["fields"].first, unittest.equals(arg_$fields));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003964
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003965 var h = {
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003966 "content-type": "application/json; charset=utf-8",
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003967 };
3968 var resp = convert.JSON.encode(buildSession());
3969 return new async.Future.value(stringResponse(200, h, resp));
3970 }), true);
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003971 res
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02003972 .create(arg_request, arg_database, $fields: arg_$fields)
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003973 .then(unittest.expectAsync1(((api.Session response) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003974 checkSession(response);
3975 })));
3976 });
3977
3978 unittest.test("method--delete", () {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003979 var mock = new HttpServerMock();
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003980 api.ProjectsInstancesDatabasesSessionsResourceApi res =
3981 new api.SpannerApi(mock).projects.instances.databases.sessions;
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003982 var arg_name = "foo";
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02003983 var arg_$fields = "foo";
Martin Kustermann3953f0d2017-06-12 16:59:53 +02003984 mock.register(unittest.expectAsync2((http.BaseRequest req, json) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003985 var path = (req.url).path;
3986 var pathOffset = 0;
3987 var index;
3988 var subPart;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003989 unittest.expect(
3990 path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003991 pathOffset += 1;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02003992 unittest.expect(
3993 path.substring(pathOffset, pathOffset + 3), unittest.equals("v1/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01003994 pathOffset += 3;
3995 // NOTE: We cannot test reserved expansions due to the inability to reverse the operation;
3996
3997 var query = (req.url).query;
3998 var queryOffset = 0;
3999 var queryMap = {};
4000 addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
4001 parseBool(n) {
4002 if (n == "true") return true;
4003 if (n == "false") return false;
4004 if (n == null) return null;
4005 throw new core.ArgumentError("Invalid boolean: $n");
4006 }
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004007
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004008 if (query.length > 0) {
4009 for (var part in query.split("&")) {
4010 var keyvalue = part.split("=");
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004011 addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]),
4012 core.Uri.decodeQueryComponent(keyvalue[1]));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004013 }
4014 }
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02004015 unittest.expect(queryMap["fields"].first, unittest.equals(arg_$fields));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004016
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004017 var h = {
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004018 "content-type": "application/json; charset=utf-8",
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004019 };
4020 var resp = convert.JSON.encode(buildEmpty());
4021 return new async.Future.value(stringResponse(200, h, resp));
4022 }), true);
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02004023 res
4024 .delete(arg_name, $fields: arg_$fields)
4025 .then(unittest.expectAsync1(((api.Empty response) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004026 checkEmpty(response);
4027 })));
4028 });
4029
4030 unittest.test("method--executeSql", () {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004031 var mock = new HttpServerMock();
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004032 api.ProjectsInstancesDatabasesSessionsResourceApi res =
4033 new api.SpannerApi(mock).projects.instances.databases.sessions;
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004034 var arg_request = buildExecuteSqlRequest();
4035 var arg_session = "foo";
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02004036 var arg_$fields = "foo";
Martin Kustermann3953f0d2017-06-12 16:59:53 +02004037 mock.register(unittest.expectAsync2((http.BaseRequest req, json) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004038 var obj = new api.ExecuteSqlRequest.fromJson(json);
4039 checkExecuteSqlRequest(obj);
4040
4041 var path = (req.url).path;
4042 var pathOffset = 0;
4043 var index;
4044 var subPart;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004045 unittest.expect(
4046 path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004047 pathOffset += 1;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004048 unittest.expect(
4049 path.substring(pathOffset, pathOffset + 3), unittest.equals("v1/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004050 pathOffset += 3;
4051 // NOTE: We cannot test reserved expansions due to the inability to reverse the operation;
4052
4053 var query = (req.url).query;
4054 var queryOffset = 0;
4055 var queryMap = {};
4056 addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
4057 parseBool(n) {
4058 if (n == "true") return true;
4059 if (n == "false") return false;
4060 if (n == null) return null;
4061 throw new core.ArgumentError("Invalid boolean: $n");
4062 }
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004063
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004064 if (query.length > 0) {
4065 for (var part in query.split("&")) {
4066 var keyvalue = part.split("=");
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004067 addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]),
4068 core.Uri.decodeQueryComponent(keyvalue[1]));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004069 }
4070 }
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02004071 unittest.expect(queryMap["fields"].first, unittest.equals(arg_$fields));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004072
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004073 var h = {
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004074 "content-type": "application/json; charset=utf-8",
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004075 };
4076 var resp = convert.JSON.encode(buildResultSet());
4077 return new async.Future.value(stringResponse(200, h, resp));
4078 }), true);
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004079 res
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02004080 .executeSql(arg_request, arg_session, $fields: arg_$fields)
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004081 .then(unittest.expectAsync1(((api.ResultSet response) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004082 checkResultSet(response);
4083 })));
4084 });
4085
4086 unittest.test("method--executeStreamingSql", () {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004087 var mock = new HttpServerMock();
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004088 api.ProjectsInstancesDatabasesSessionsResourceApi res =
4089 new api.SpannerApi(mock).projects.instances.databases.sessions;
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004090 var arg_request = buildExecuteSqlRequest();
4091 var arg_session = "foo";
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02004092 var arg_$fields = "foo";
Martin Kustermann3953f0d2017-06-12 16:59:53 +02004093 mock.register(unittest.expectAsync2((http.BaseRequest req, json) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004094 var obj = new api.ExecuteSqlRequest.fromJson(json);
4095 checkExecuteSqlRequest(obj);
4096
4097 var path = (req.url).path;
4098 var pathOffset = 0;
4099 var index;
4100 var subPart;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004101 unittest.expect(
4102 path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004103 pathOffset += 1;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004104 unittest.expect(
4105 path.substring(pathOffset, pathOffset + 3), unittest.equals("v1/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004106 pathOffset += 3;
4107 // NOTE: We cannot test reserved expansions due to the inability to reverse the operation;
4108
4109 var query = (req.url).query;
4110 var queryOffset = 0;
4111 var queryMap = {};
4112 addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
4113 parseBool(n) {
4114 if (n == "true") return true;
4115 if (n == "false") return false;
4116 if (n == null) return null;
4117 throw new core.ArgumentError("Invalid boolean: $n");
4118 }
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004119
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004120 if (query.length > 0) {
4121 for (var part in query.split("&")) {
4122 var keyvalue = part.split("=");
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004123 addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]),
4124 core.Uri.decodeQueryComponent(keyvalue[1]));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004125 }
4126 }
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02004127 unittest.expect(queryMap["fields"].first, unittest.equals(arg_$fields));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004128
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004129 var h = {
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004130 "content-type": "application/json; charset=utf-8",
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004131 };
4132 var resp = convert.JSON.encode(buildPartialResultSet());
4133 return new async.Future.value(stringResponse(200, h, resp));
4134 }), true);
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004135 res
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02004136 .executeStreamingSql(arg_request, arg_session, $fields: arg_$fields)
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004137 .then(unittest.expectAsync1(((api.PartialResultSet response) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004138 checkPartialResultSet(response);
4139 })));
4140 });
4141
4142 unittest.test("method--get", () {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004143 var mock = new HttpServerMock();
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004144 api.ProjectsInstancesDatabasesSessionsResourceApi res =
4145 new api.SpannerApi(mock).projects.instances.databases.sessions;
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004146 var arg_name = "foo";
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02004147 var arg_$fields = "foo";
Martin Kustermann3953f0d2017-06-12 16:59:53 +02004148 mock.register(unittest.expectAsync2((http.BaseRequest req, json) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004149 var path = (req.url).path;
4150 var pathOffset = 0;
4151 var index;
4152 var subPart;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004153 unittest.expect(
4154 path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004155 pathOffset += 1;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004156 unittest.expect(
4157 path.substring(pathOffset, pathOffset + 3), unittest.equals("v1/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004158 pathOffset += 3;
4159 // NOTE: We cannot test reserved expansions due to the inability to reverse the operation;
4160
4161 var query = (req.url).query;
4162 var queryOffset = 0;
4163 var queryMap = {};
4164 addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
4165 parseBool(n) {
4166 if (n == "true") return true;
4167 if (n == "false") return false;
4168 if (n == null) return null;
4169 throw new core.ArgumentError("Invalid boolean: $n");
4170 }
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004171
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004172 if (query.length > 0) {
4173 for (var part in query.split("&")) {
4174 var keyvalue = part.split("=");
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004175 addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]),
4176 core.Uri.decodeQueryComponent(keyvalue[1]));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004177 }
4178 }
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02004179 unittest.expect(queryMap["fields"].first, unittest.equals(arg_$fields));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004180
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004181 var h = {
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004182 "content-type": "application/json; charset=utf-8",
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004183 };
4184 var resp = convert.JSON.encode(buildSession());
4185 return new async.Future.value(stringResponse(200, h, resp));
4186 }), true);
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02004187 res
4188 .get(arg_name, $fields: arg_$fields)
4189 .then(unittest.expectAsync1(((api.Session response) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004190 checkSession(response);
4191 })));
4192 });
4193
Martin Kustermann0e130012017-10-05 15:54:21 +01004194 unittest.test("method--list", () {
4195 var mock = new HttpServerMock();
4196 api.ProjectsInstancesDatabasesSessionsResourceApi res =
4197 new api.SpannerApi(mock).projects.instances.databases.sessions;
4198 var arg_database = "foo";
Martin Kustermann2a131182017-11-13 13:50:07 +01004199 var arg_pageToken = "foo";
Martin Kustermann0e130012017-10-05 15:54:21 +01004200 var arg_pageSize = 42;
4201 var arg_filter = "foo";
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02004202 var arg_$fields = "foo";
Martin Kustermann0e130012017-10-05 15:54:21 +01004203 mock.register(unittest.expectAsync2((http.BaseRequest req, json) {
4204 var path = (req.url).path;
4205 var pathOffset = 0;
4206 var index;
4207 var subPart;
4208 unittest.expect(
4209 path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
4210 pathOffset += 1;
4211 unittest.expect(
4212 path.substring(pathOffset, pathOffset + 3), unittest.equals("v1/"));
4213 pathOffset += 3;
4214 // NOTE: We cannot test reserved expansions due to the inability to reverse the operation;
4215
4216 var query = (req.url).query;
4217 var queryOffset = 0;
4218 var queryMap = {};
4219 addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
4220 parseBool(n) {
4221 if (n == "true") return true;
4222 if (n == "false") return false;
4223 if (n == null) return null;
4224 throw new core.ArgumentError("Invalid boolean: $n");
4225 }
4226
4227 if (query.length > 0) {
4228 for (var part in query.split("&")) {
4229 var keyvalue = part.split("=");
4230 addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]),
4231 core.Uri.decodeQueryComponent(keyvalue[1]));
4232 }
4233 }
Martin Kustermann2a131182017-11-13 13:50:07 +01004234 unittest.expect(
4235 queryMap["pageToken"].first, unittest.equals(arg_pageToken));
Martin Kustermann0e130012017-10-05 15:54:21 +01004236 unittest.expect(core.int.parse(queryMap["pageSize"].first),
4237 unittest.equals(arg_pageSize));
4238 unittest.expect(queryMap["filter"].first, unittest.equals(arg_filter));
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02004239 unittest.expect(queryMap["fields"].first, unittest.equals(arg_$fields));
Martin Kustermann0e130012017-10-05 15:54:21 +01004240
4241 var h = {
4242 "content-type": "application/json; charset=utf-8",
4243 };
4244 var resp = convert.JSON.encode(buildListSessionsResponse());
4245 return new async.Future.value(stringResponse(200, h, resp));
4246 }), true);
4247 res
4248 .list(arg_database,
Martin Kustermann2a131182017-11-13 13:50:07 +01004249 pageToken: arg_pageToken,
Martin Kustermann0e130012017-10-05 15:54:21 +01004250 pageSize: arg_pageSize,
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02004251 filter: arg_filter,
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02004252 $fields: arg_$fields)
Martin Kustermann0e130012017-10-05 15:54:21 +01004253 .then(unittest.expectAsync1(((api.ListSessionsResponse response) {
4254 checkListSessionsResponse(response);
4255 })));
4256 });
4257
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004258 unittest.test("method--read", () {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004259 var mock = new HttpServerMock();
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004260 api.ProjectsInstancesDatabasesSessionsResourceApi res =
4261 new api.SpannerApi(mock).projects.instances.databases.sessions;
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004262 var arg_request = buildReadRequest();
4263 var arg_session = "foo";
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02004264 var arg_$fields = "foo";
Martin Kustermann3953f0d2017-06-12 16:59:53 +02004265 mock.register(unittest.expectAsync2((http.BaseRequest req, json) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004266 var obj = new api.ReadRequest.fromJson(json);
4267 checkReadRequest(obj);
4268
4269 var path = (req.url).path;
4270 var pathOffset = 0;
4271 var index;
4272 var subPart;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004273 unittest.expect(
4274 path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004275 pathOffset += 1;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004276 unittest.expect(
4277 path.substring(pathOffset, pathOffset + 3), unittest.equals("v1/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004278 pathOffset += 3;
4279 // NOTE: We cannot test reserved expansions due to the inability to reverse the operation;
4280
4281 var query = (req.url).query;
4282 var queryOffset = 0;
4283 var queryMap = {};
4284 addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
4285 parseBool(n) {
4286 if (n == "true") return true;
4287 if (n == "false") return false;
4288 if (n == null) return null;
4289 throw new core.ArgumentError("Invalid boolean: $n");
4290 }
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004291
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004292 if (query.length > 0) {
4293 for (var part in query.split("&")) {
4294 var keyvalue = part.split("=");
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004295 addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]),
4296 core.Uri.decodeQueryComponent(keyvalue[1]));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004297 }
4298 }
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02004299 unittest.expect(queryMap["fields"].first, unittest.equals(arg_$fields));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004300
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004301 var h = {
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004302 "content-type": "application/json; charset=utf-8",
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004303 };
4304 var resp = convert.JSON.encode(buildResultSet());
4305 return new async.Future.value(stringResponse(200, h, resp));
4306 }), true);
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004307 res
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02004308 .read(arg_request, arg_session, $fields: arg_$fields)
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004309 .then(unittest.expectAsync1(((api.ResultSet response) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004310 checkResultSet(response);
4311 })));
4312 });
4313
4314 unittest.test("method--rollback", () {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004315 var mock = new HttpServerMock();
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004316 api.ProjectsInstancesDatabasesSessionsResourceApi res =
4317 new api.SpannerApi(mock).projects.instances.databases.sessions;
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004318 var arg_request = buildRollbackRequest();
4319 var arg_session = "foo";
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02004320 var arg_$fields = "foo";
Martin Kustermann3953f0d2017-06-12 16:59:53 +02004321 mock.register(unittest.expectAsync2((http.BaseRequest req, json) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004322 var obj = new api.RollbackRequest.fromJson(json);
4323 checkRollbackRequest(obj);
4324
4325 var path = (req.url).path;
4326 var pathOffset = 0;
4327 var index;
4328 var subPart;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004329 unittest.expect(
4330 path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004331 pathOffset += 1;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004332 unittest.expect(
4333 path.substring(pathOffset, pathOffset + 3), unittest.equals("v1/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004334 pathOffset += 3;
4335 // NOTE: We cannot test reserved expansions due to the inability to reverse the operation;
4336
4337 var query = (req.url).query;
4338 var queryOffset = 0;
4339 var queryMap = {};
4340 addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
4341 parseBool(n) {
4342 if (n == "true") return true;
4343 if (n == "false") return false;
4344 if (n == null) return null;
4345 throw new core.ArgumentError("Invalid boolean: $n");
4346 }
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004347
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004348 if (query.length > 0) {
4349 for (var part in query.split("&")) {
4350 var keyvalue = part.split("=");
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004351 addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]),
4352 core.Uri.decodeQueryComponent(keyvalue[1]));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004353 }
4354 }
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02004355 unittest.expect(queryMap["fields"].first, unittest.equals(arg_$fields));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004356
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004357 var h = {
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004358 "content-type": "application/json; charset=utf-8",
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004359 };
4360 var resp = convert.JSON.encode(buildEmpty());
4361 return new async.Future.value(stringResponse(200, h, resp));
4362 }), true);
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004363 res
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02004364 .rollback(arg_request, arg_session, $fields: arg_$fields)
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004365 .then(unittest.expectAsync1(((api.Empty response) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004366 checkEmpty(response);
4367 })));
4368 });
4369
4370 unittest.test("method--streamingRead", () {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004371 var mock = new HttpServerMock();
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004372 api.ProjectsInstancesDatabasesSessionsResourceApi res =
4373 new api.SpannerApi(mock).projects.instances.databases.sessions;
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004374 var arg_request = buildReadRequest();
4375 var arg_session = "foo";
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02004376 var arg_$fields = "foo";
Martin Kustermann3953f0d2017-06-12 16:59:53 +02004377 mock.register(unittest.expectAsync2((http.BaseRequest req, json) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004378 var obj = new api.ReadRequest.fromJson(json);
4379 checkReadRequest(obj);
4380
4381 var path = (req.url).path;
4382 var pathOffset = 0;
4383 var index;
4384 var subPart;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004385 unittest.expect(
4386 path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004387 pathOffset += 1;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004388 unittest.expect(
4389 path.substring(pathOffset, pathOffset + 3), unittest.equals("v1/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004390 pathOffset += 3;
4391 // NOTE: We cannot test reserved expansions due to the inability to reverse the operation;
4392
4393 var query = (req.url).query;
4394 var queryOffset = 0;
4395 var queryMap = {};
4396 addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
4397 parseBool(n) {
4398 if (n == "true") return true;
4399 if (n == "false") return false;
4400 if (n == null) return null;
4401 throw new core.ArgumentError("Invalid boolean: $n");
4402 }
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004403
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004404 if (query.length > 0) {
4405 for (var part in query.split("&")) {
4406 var keyvalue = part.split("=");
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004407 addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]),
4408 core.Uri.decodeQueryComponent(keyvalue[1]));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004409 }
4410 }
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02004411 unittest.expect(queryMap["fields"].first, unittest.equals(arg_$fields));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004412
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004413 var h = {
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004414 "content-type": "application/json; charset=utf-8",
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004415 };
4416 var resp = convert.JSON.encode(buildPartialResultSet());
4417 return new async.Future.value(stringResponse(200, h, resp));
4418 }), true);
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004419 res
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02004420 .streamingRead(arg_request, arg_session, $fields: arg_$fields)
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004421 .then(unittest.expectAsync1(((api.PartialResultSet response) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004422 checkPartialResultSet(response);
4423 })));
4424 });
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004425 });
4426
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004427 unittest.group("resource-ProjectsInstancesOperationsResourceApi", () {
4428 unittest.test("method--cancel", () {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004429 var mock = new HttpServerMock();
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004430 api.ProjectsInstancesOperationsResourceApi res =
4431 new api.SpannerApi(mock).projects.instances.operations;
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004432 var arg_name = "foo";
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02004433 var arg_$fields = "foo";
Martin Kustermann3953f0d2017-06-12 16:59:53 +02004434 mock.register(unittest.expectAsync2((http.BaseRequest req, json) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004435 var path = (req.url).path;
4436 var pathOffset = 0;
4437 var index;
4438 var subPart;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004439 unittest.expect(
4440 path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004441 pathOffset += 1;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004442 unittest.expect(
4443 path.substring(pathOffset, pathOffset + 3), unittest.equals("v1/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004444 pathOffset += 3;
4445 // NOTE: We cannot test reserved expansions due to the inability to reverse the operation;
4446
4447 var query = (req.url).query;
4448 var queryOffset = 0;
4449 var queryMap = {};
4450 addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
4451 parseBool(n) {
4452 if (n == "true") return true;
4453 if (n == "false") return false;
4454 if (n == null) return null;
4455 throw new core.ArgumentError("Invalid boolean: $n");
4456 }
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004457
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004458 if (query.length > 0) {
4459 for (var part in query.split("&")) {
4460 var keyvalue = part.split("=");
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004461 addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]),
4462 core.Uri.decodeQueryComponent(keyvalue[1]));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004463 }
4464 }
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02004465 unittest.expect(queryMap["fields"].first, unittest.equals(arg_$fields));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004466
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004467 var h = {
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004468 "content-type": "application/json; charset=utf-8",
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004469 };
4470 var resp = convert.JSON.encode(buildEmpty());
4471 return new async.Future.value(stringResponse(200, h, resp));
4472 }), true);
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02004473 res
4474 .cancel(arg_name, $fields: arg_$fields)
4475 .then(unittest.expectAsync1(((api.Empty response) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004476 checkEmpty(response);
4477 })));
4478 });
4479
4480 unittest.test("method--delete", () {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004481 var mock = new HttpServerMock();
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004482 api.ProjectsInstancesOperationsResourceApi res =
4483 new api.SpannerApi(mock).projects.instances.operations;
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004484 var arg_name = "foo";
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02004485 var arg_$fields = "foo";
Martin Kustermann3953f0d2017-06-12 16:59:53 +02004486 mock.register(unittest.expectAsync2((http.BaseRequest req, json) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004487 var path = (req.url).path;
4488 var pathOffset = 0;
4489 var index;
4490 var subPart;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004491 unittest.expect(
4492 path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004493 pathOffset += 1;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004494 unittest.expect(
4495 path.substring(pathOffset, pathOffset + 3), unittest.equals("v1/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004496 pathOffset += 3;
4497 // NOTE: We cannot test reserved expansions due to the inability to reverse the operation;
4498
4499 var query = (req.url).query;
4500 var queryOffset = 0;
4501 var queryMap = {};
4502 addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
4503 parseBool(n) {
4504 if (n == "true") return true;
4505 if (n == "false") return false;
4506 if (n == null) return null;
4507 throw new core.ArgumentError("Invalid boolean: $n");
4508 }
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004509
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004510 if (query.length > 0) {
4511 for (var part in query.split("&")) {
4512 var keyvalue = part.split("=");
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004513 addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]),
4514 core.Uri.decodeQueryComponent(keyvalue[1]));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004515 }
4516 }
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02004517 unittest.expect(queryMap["fields"].first, unittest.equals(arg_$fields));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004518
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004519 var h = {
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004520 "content-type": "application/json; charset=utf-8",
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004521 };
4522 var resp = convert.JSON.encode(buildEmpty());
4523 return new async.Future.value(stringResponse(200, h, resp));
4524 }), true);
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02004525 res
4526 .delete(arg_name, $fields: arg_$fields)
4527 .then(unittest.expectAsync1(((api.Empty response) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004528 checkEmpty(response);
4529 })));
4530 });
4531
4532 unittest.test("method--get", () {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004533 var mock = new HttpServerMock();
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004534 api.ProjectsInstancesOperationsResourceApi res =
4535 new api.SpannerApi(mock).projects.instances.operations;
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004536 var arg_name = "foo";
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02004537 var arg_$fields = "foo";
Martin Kustermann3953f0d2017-06-12 16:59:53 +02004538 mock.register(unittest.expectAsync2((http.BaseRequest req, json) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004539 var path = (req.url).path;
4540 var pathOffset = 0;
4541 var index;
4542 var subPart;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004543 unittest.expect(
4544 path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004545 pathOffset += 1;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004546 unittest.expect(
4547 path.substring(pathOffset, pathOffset + 3), unittest.equals("v1/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004548 pathOffset += 3;
4549 // NOTE: We cannot test reserved expansions due to the inability to reverse the operation;
4550
4551 var query = (req.url).query;
4552 var queryOffset = 0;
4553 var queryMap = {};
4554 addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
4555 parseBool(n) {
4556 if (n == "true") return true;
4557 if (n == "false") return false;
4558 if (n == null) return null;
4559 throw new core.ArgumentError("Invalid boolean: $n");
4560 }
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004561
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004562 if (query.length > 0) {
4563 for (var part in query.split("&")) {
4564 var keyvalue = part.split("=");
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004565 addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]),
4566 core.Uri.decodeQueryComponent(keyvalue[1]));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004567 }
4568 }
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02004569 unittest.expect(queryMap["fields"].first, unittest.equals(arg_$fields));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004570
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004571 var h = {
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004572 "content-type": "application/json; charset=utf-8",
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004573 };
4574 var resp = convert.JSON.encode(buildOperation());
4575 return new async.Future.value(stringResponse(200, h, resp));
4576 }), true);
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02004577 res
4578 .get(arg_name, $fields: arg_$fields)
4579 .then(unittest.expectAsync1(((api.Operation response) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004580 checkOperation(response);
4581 })));
4582 });
4583
4584 unittest.test("method--list", () {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004585 var mock = new HttpServerMock();
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004586 api.ProjectsInstancesOperationsResourceApi res =
4587 new api.SpannerApi(mock).projects.instances.operations;
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004588 var arg_name = "foo";
Martin Kustermannbe200482017-12-04 11:42:32 +01004589 var arg_filter = "foo";
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004590 var arg_pageToken = "foo";
Martin Kustermann8c5bbda2017-07-10 13:23:47 +02004591 var arg_pageSize = 42;
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02004592 var arg_$fields = "foo";
Martin Kustermann3953f0d2017-06-12 16:59:53 +02004593 mock.register(unittest.expectAsync2((http.BaseRequest req, json) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004594 var path = (req.url).path;
4595 var pathOffset = 0;
4596 var index;
4597 var subPart;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004598 unittest.expect(
4599 path.substring(pathOffset, pathOffset + 1), unittest.equals("/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004600 pathOffset += 1;
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004601 unittest.expect(
4602 path.substring(pathOffset, pathOffset + 3), unittest.equals("v1/"));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004603 pathOffset += 3;
4604 // NOTE: We cannot test reserved expansions due to the inability to reverse the operation;
4605
4606 var query = (req.url).query;
4607 var queryOffset = 0;
4608 var queryMap = {};
4609 addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v);
4610 parseBool(n) {
4611 if (n == "true") return true;
4612 if (n == "false") return false;
4613 if (n == null) return null;
4614 throw new core.ArgumentError("Invalid boolean: $n");
4615 }
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004616
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004617 if (query.length > 0) {
4618 for (var part in query.split("&")) {
4619 var keyvalue = part.split("=");
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004620 addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]),
4621 core.Uri.decodeQueryComponent(keyvalue[1]));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004622 }
4623 }
Martin Kustermannbe200482017-12-04 11:42:32 +01004624 unittest.expect(queryMap["filter"].first, unittest.equals(arg_filter));
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004625 unittest.expect(
4626 queryMap["pageToken"].first, unittest.equals(arg_pageToken));
4627 unittest.expect(core.int.parse(queryMap["pageSize"].first),
4628 unittest.equals(arg_pageSize));
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02004629 unittest.expect(queryMap["fields"].first, unittest.equals(arg_$fields));
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004630
4631 var h = {
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004632 "content-type": "application/json; charset=utf-8",
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004633 };
4634 var resp = convert.JSON.encode(buildListOperationsResponse());
4635 return new async.Future.value(stringResponse(200, h, resp));
4636 }), true);
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004637 res
4638 .list(arg_name,
Martin Kustermannbe200482017-12-04 11:42:32 +01004639 filter: arg_filter,
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004640 pageToken: arg_pageToken,
Martin Kustermann0e130012017-10-05 15:54:21 +01004641 pageSize: arg_pageSize,
Martin Kustermann7a3b5f52017-10-23 11:34:19 +02004642 $fields: arg_$fields)
Martin Kustermann5eb85c12017-09-11 12:35:54 +02004643 .then(unittest.expectAsync1(((api.ListOperationsResponse response) {
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004644 checkListOperationsResponse(response);
4645 })));
4646 });
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004647 });
Martin Kustermann77f42ff2017-03-06 13:56:35 +01004648}