| library googleapis.youtubeAnalytics.v1.test; |
| |
| import "dart:core" as core; |
| import "dart:async" as async; |
| import "dart:convert" as convert; |
| |
| import 'package:http/http.dart' as http; |
| import 'package:test/test.dart' as unittest; |
| |
| import 'package:googleapis/youtubeanalytics/v1.dart' as api; |
| |
| class HttpServerMock extends http.BaseClient { |
| core.Function _callback; |
| core.bool _expectJson; |
| |
| void register(core.Function callback, core.bool expectJson) { |
| _callback = callback; |
| _expectJson = expectJson; |
| } |
| |
| async.Future<http.StreamedResponse> send(http.BaseRequest request) { |
| if (_expectJson) { |
| return request |
| .finalize() |
| .transform(convert.utf8.decoder) |
| .join('') |
| .then((core.String jsonString) { |
| if (jsonString.isEmpty) { |
| return _callback(request, null); |
| } else { |
| return _callback(request, convert.json.decode(jsonString)); |
| } |
| }); |
| } else { |
| var stream = request.finalize(); |
| if (stream == null) { |
| return _callback(request, []); |
| } else { |
| return stream.toBytes().then((data) { |
| return _callback(request, data); |
| }); |
| } |
| } |
| } |
| } |
| |
| http.StreamedResponse stringResponse(core.int status, |
| core.Map<core.String, core.String> headers, core.String body) { |
| var stream = new async.Stream.fromIterable([convert.utf8.encode(body)]); |
| return new http.StreamedResponse(stream, status, headers: headers); |
| } |
| |
| core.int buildCounterGroupContentDetails = 0; |
| buildGroupContentDetails() { |
| var o = new api.GroupContentDetails(); |
| buildCounterGroupContentDetails++; |
| if (buildCounterGroupContentDetails < 3) { |
| o.itemCount = "foo"; |
| o.itemType = "foo"; |
| } |
| buildCounterGroupContentDetails--; |
| return o; |
| } |
| |
| checkGroupContentDetails(api.GroupContentDetails o) { |
| buildCounterGroupContentDetails++; |
| if (buildCounterGroupContentDetails < 3) { |
| unittest.expect(o.itemCount, unittest.equals('foo')); |
| unittest.expect(o.itemType, unittest.equals('foo')); |
| } |
| buildCounterGroupContentDetails--; |
| } |
| |
| core.int buildCounterGroupSnippet = 0; |
| buildGroupSnippet() { |
| var o = new api.GroupSnippet(); |
| buildCounterGroupSnippet++; |
| if (buildCounterGroupSnippet < 3) { |
| o.publishedAt = core.DateTime.parse("2002-02-27T14:01:02"); |
| o.title = "foo"; |
| } |
| buildCounterGroupSnippet--; |
| return o; |
| } |
| |
| checkGroupSnippet(api.GroupSnippet o) { |
| buildCounterGroupSnippet++; |
| if (buildCounterGroupSnippet < 3) { |
| unittest.expect(o.publishedAt, |
| unittest.equals(core.DateTime.parse("2002-02-27T14:01:02"))); |
| unittest.expect(o.title, unittest.equals('foo')); |
| } |
| buildCounterGroupSnippet--; |
| } |
| |
| core.int buildCounterGroup = 0; |
| buildGroup() { |
| var o = new api.Group(); |
| buildCounterGroup++; |
| if (buildCounterGroup < 3) { |
| o.contentDetails = buildGroupContentDetails(); |
| o.etag = "foo"; |
| o.id = "foo"; |
| o.kind = "foo"; |
| o.snippet = buildGroupSnippet(); |
| } |
| buildCounterGroup--; |
| return o; |
| } |
| |
| checkGroup(api.Group o) { |
| buildCounterGroup++; |
| if (buildCounterGroup < 3) { |
| checkGroupContentDetails(o.contentDetails); |
| unittest.expect(o.etag, unittest.equals('foo')); |
| unittest.expect(o.id, unittest.equals('foo')); |
| unittest.expect(o.kind, unittest.equals('foo')); |
| checkGroupSnippet(o.snippet); |
| } |
| buildCounterGroup--; |
| } |
| |
| core.int buildCounterGroupItemResource = 0; |
| buildGroupItemResource() { |
| var o = new api.GroupItemResource(); |
| buildCounterGroupItemResource++; |
| if (buildCounterGroupItemResource < 3) { |
| o.id = "foo"; |
| o.kind = "foo"; |
| } |
| buildCounterGroupItemResource--; |
| return o; |
| } |
| |
| checkGroupItemResource(api.GroupItemResource o) { |
| buildCounterGroupItemResource++; |
| if (buildCounterGroupItemResource < 3) { |
| unittest.expect(o.id, unittest.equals('foo')); |
| unittest.expect(o.kind, unittest.equals('foo')); |
| } |
| buildCounterGroupItemResource--; |
| } |
| |
| core.int buildCounterGroupItem = 0; |
| buildGroupItem() { |
| var o = new api.GroupItem(); |
| buildCounterGroupItem++; |
| if (buildCounterGroupItem < 3) { |
| o.etag = "foo"; |
| o.groupId = "foo"; |
| o.id = "foo"; |
| o.kind = "foo"; |
| o.resource = buildGroupItemResource(); |
| } |
| buildCounterGroupItem--; |
| return o; |
| } |
| |
| checkGroupItem(api.GroupItem o) { |
| buildCounterGroupItem++; |
| if (buildCounterGroupItem < 3) { |
| unittest.expect(o.etag, unittest.equals('foo')); |
| unittest.expect(o.groupId, unittest.equals('foo')); |
| unittest.expect(o.id, unittest.equals('foo')); |
| unittest.expect(o.kind, unittest.equals('foo')); |
| checkGroupItemResource(o.resource); |
| } |
| buildCounterGroupItem--; |
| } |
| |
| buildUnnamed1213() { |
| var o = new core.List<api.GroupItem>(); |
| o.add(buildGroupItem()); |
| o.add(buildGroupItem()); |
| return o; |
| } |
| |
| checkUnnamed1213(core.List<api.GroupItem> o) { |
| unittest.expect(o, unittest.hasLength(2)); |
| checkGroupItem(o[0]); |
| checkGroupItem(o[1]); |
| } |
| |
| core.int buildCounterGroupItemListResponse = 0; |
| buildGroupItemListResponse() { |
| var o = new api.GroupItemListResponse(); |
| buildCounterGroupItemListResponse++; |
| if (buildCounterGroupItemListResponse < 3) { |
| o.etag = "foo"; |
| o.items = buildUnnamed1213(); |
| o.kind = "foo"; |
| } |
| buildCounterGroupItemListResponse--; |
| return o; |
| } |
| |
| checkGroupItemListResponse(api.GroupItemListResponse o) { |
| buildCounterGroupItemListResponse++; |
| if (buildCounterGroupItemListResponse < 3) { |
| unittest.expect(o.etag, unittest.equals('foo')); |
| checkUnnamed1213(o.items); |
| unittest.expect(o.kind, unittest.equals('foo')); |
| } |
| buildCounterGroupItemListResponse--; |
| } |
| |
| buildUnnamed1214() { |
| var o = new core.List<api.Group>(); |
| o.add(buildGroup()); |
| o.add(buildGroup()); |
| return o; |
| } |
| |
| checkUnnamed1214(core.List<api.Group> o) { |
| unittest.expect(o, unittest.hasLength(2)); |
| checkGroup(o[0]); |
| checkGroup(o[1]); |
| } |
| |
| core.int buildCounterGroupListResponse = 0; |
| buildGroupListResponse() { |
| var o = new api.GroupListResponse(); |
| buildCounterGroupListResponse++; |
| if (buildCounterGroupListResponse < 3) { |
| o.etag = "foo"; |
| o.items = buildUnnamed1214(); |
| o.kind = "foo"; |
| o.nextPageToken = "foo"; |
| } |
| buildCounterGroupListResponse--; |
| return o; |
| } |
| |
| checkGroupListResponse(api.GroupListResponse o) { |
| buildCounterGroupListResponse++; |
| if (buildCounterGroupListResponse < 3) { |
| unittest.expect(o.etag, unittest.equals('foo')); |
| checkUnnamed1214(o.items); |
| unittest.expect(o.kind, unittest.equals('foo')); |
| unittest.expect(o.nextPageToken, unittest.equals('foo')); |
| } |
| buildCounterGroupListResponse--; |
| } |
| |
| core.int buildCounterResultTableColumnHeaders = 0; |
| buildResultTableColumnHeaders() { |
| var o = new api.ResultTableColumnHeaders(); |
| buildCounterResultTableColumnHeaders++; |
| if (buildCounterResultTableColumnHeaders < 3) { |
| o.columnType = "foo"; |
| o.dataType = "foo"; |
| o.name = "foo"; |
| } |
| buildCounterResultTableColumnHeaders--; |
| return o; |
| } |
| |
| checkResultTableColumnHeaders(api.ResultTableColumnHeaders o) { |
| buildCounterResultTableColumnHeaders++; |
| if (buildCounterResultTableColumnHeaders < 3) { |
| unittest.expect(o.columnType, unittest.equals('foo')); |
| unittest.expect(o.dataType, unittest.equals('foo')); |
| unittest.expect(o.name, unittest.equals('foo')); |
| } |
| buildCounterResultTableColumnHeaders--; |
| } |
| |
| buildUnnamed1215() { |
| var o = new core.List<api.ResultTableColumnHeaders>(); |
| o.add(buildResultTableColumnHeaders()); |
| o.add(buildResultTableColumnHeaders()); |
| return o; |
| } |
| |
| checkUnnamed1215(core.List<api.ResultTableColumnHeaders> o) { |
| unittest.expect(o, unittest.hasLength(2)); |
| checkResultTableColumnHeaders(o[0]); |
| checkResultTableColumnHeaders(o[1]); |
| } |
| |
| buildUnnamed1216() { |
| var o = new core.List<core.Object>(); |
| o.add({ |
| 'list': [1, 2, 3], |
| 'bool': true, |
| 'string': 'foo' |
| }); |
| o.add({ |
| 'list': [1, 2, 3], |
| 'bool': true, |
| 'string': 'foo' |
| }); |
| return o; |
| } |
| |
| checkUnnamed1216(core.List<core.Object> o) { |
| unittest.expect(o, unittest.hasLength(2)); |
| var casted1 = (o[0]) as core.Map; |
| unittest.expect(casted1, unittest.hasLength(3)); |
| unittest.expect(casted1["list"], unittest.equals([1, 2, 3])); |
| unittest.expect(casted1["bool"], unittest.equals(true)); |
| unittest.expect(casted1["string"], unittest.equals('foo')); |
| var casted2 = (o[1]) as core.Map; |
| unittest.expect(casted2, unittest.hasLength(3)); |
| unittest.expect(casted2["list"], unittest.equals([1, 2, 3])); |
| unittest.expect(casted2["bool"], unittest.equals(true)); |
| unittest.expect(casted2["string"], unittest.equals('foo')); |
| } |
| |
| buildUnnamed1217() { |
| var o = new core.List<core.List<core.Object>>(); |
| o.add(buildUnnamed1216()); |
| o.add(buildUnnamed1216()); |
| return o; |
| } |
| |
| checkUnnamed1217(core.List<core.List<core.Object>> o) { |
| unittest.expect(o, unittest.hasLength(2)); |
| checkUnnamed1216(o[0]); |
| checkUnnamed1216(o[1]); |
| } |
| |
| core.int buildCounterResultTable = 0; |
| buildResultTable() { |
| var o = new api.ResultTable(); |
| buildCounterResultTable++; |
| if (buildCounterResultTable < 3) { |
| o.columnHeaders = buildUnnamed1215(); |
| o.kind = "foo"; |
| o.rows = buildUnnamed1217(); |
| } |
| buildCounterResultTable--; |
| return o; |
| } |
| |
| checkResultTable(api.ResultTable o) { |
| buildCounterResultTable++; |
| if (buildCounterResultTable < 3) { |
| checkUnnamed1215(o.columnHeaders); |
| unittest.expect(o.kind, unittest.equals('foo')); |
| checkUnnamed1217(o.rows); |
| } |
| buildCounterResultTable--; |
| } |
| |
| main() { |
| unittest.group("obj-schema-GroupContentDetails", () { |
| unittest.test("to-json--from-json", () { |
| var o = buildGroupContentDetails(); |
| var od = new api.GroupContentDetails.fromJson(o.toJson()); |
| checkGroupContentDetails(od); |
| }); |
| }); |
| |
| unittest.group("obj-schema-GroupSnippet", () { |
| unittest.test("to-json--from-json", () { |
| var o = buildGroupSnippet(); |
| var od = new api.GroupSnippet.fromJson(o.toJson()); |
| checkGroupSnippet(od); |
| }); |
| }); |
| |
| unittest.group("obj-schema-Group", () { |
| unittest.test("to-json--from-json", () { |
| var o = buildGroup(); |
| var od = new api.Group.fromJson(o.toJson()); |
| checkGroup(od); |
| }); |
| }); |
| |
| unittest.group("obj-schema-GroupItemResource", () { |
| unittest.test("to-json--from-json", () { |
| var o = buildGroupItemResource(); |
| var od = new api.GroupItemResource.fromJson(o.toJson()); |
| checkGroupItemResource(od); |
| }); |
| }); |
| |
| unittest.group("obj-schema-GroupItem", () { |
| unittest.test("to-json--from-json", () { |
| var o = buildGroupItem(); |
| var od = new api.GroupItem.fromJson(o.toJson()); |
| checkGroupItem(od); |
| }); |
| }); |
| |
| unittest.group("obj-schema-GroupItemListResponse", () { |
| unittest.test("to-json--from-json", () { |
| var o = buildGroupItemListResponse(); |
| var od = new api.GroupItemListResponse.fromJson(o.toJson()); |
| checkGroupItemListResponse(od); |
| }); |
| }); |
| |
| unittest.group("obj-schema-GroupListResponse", () { |
| unittest.test("to-json--from-json", () { |
| var o = buildGroupListResponse(); |
| var od = new api.GroupListResponse.fromJson(o.toJson()); |
| checkGroupListResponse(od); |
| }); |
| }); |
| |
| unittest.group("obj-schema-ResultTableColumnHeaders", () { |
| unittest.test("to-json--from-json", () { |
| var o = buildResultTableColumnHeaders(); |
| var od = new api.ResultTableColumnHeaders.fromJson(o.toJson()); |
| checkResultTableColumnHeaders(od); |
| }); |
| }); |
| |
| unittest.group("obj-schema-ResultTable", () { |
| unittest.test("to-json--from-json", () { |
| var o = buildResultTable(); |
| var od = new api.ResultTable.fromJson(o.toJson()); |
| checkResultTable(od); |
| }); |
| }); |
| |
| unittest.group("resource-GroupItemsResourceApi", () { |
| unittest.test("method--delete", () { |
| var mock = new HttpServerMock(); |
| api.GroupItemsResourceApi res = |
| new api.YoutubeAnalyticsApi(mock).groupItems; |
| var arg_id = "foo"; |
| var arg_onBehalfOfContentOwner = "foo"; |
| var arg_$fields = "foo"; |
| mock.register(unittest.expectAsync2((http.BaseRequest req, json) { |
| var path = (req.url).path; |
| var pathOffset = 0; |
| var index; |
| var subPart; |
| unittest.expect( |
| path.substring(pathOffset, pathOffset + 1), unittest.equals("/")); |
| pathOffset += 1; |
| unittest.expect(path.substring(pathOffset, pathOffset + 21), |
| unittest.equals("youtube/analytics/v1/")); |
| pathOffset += 21; |
| unittest.expect(path.substring(pathOffset, pathOffset + 10), |
| unittest.equals("groupItems")); |
| pathOffset += 10; |
| |
| var query = (req.url).query; |
| var queryOffset = 0; |
| var queryMap = <core.String, core.List<core.String>>{}; |
| addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v); |
| parseBool(n) { |
| if (n == "true") return true; |
| if (n == "false") return false; |
| if (n == null) return null; |
| throw new core.ArgumentError("Invalid boolean: $n"); |
| } |
| |
| if (query.length > 0) { |
| for (var part in query.split("&")) { |
| var keyvalue = part.split("="); |
| addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), |
| core.Uri.decodeQueryComponent(keyvalue[1])); |
| } |
| } |
| unittest.expect(queryMap["id"].first, unittest.equals(arg_id)); |
| unittest.expect(queryMap["onBehalfOfContentOwner"].first, |
| unittest.equals(arg_onBehalfOfContentOwner)); |
| unittest.expect(queryMap["fields"].first, unittest.equals(arg_$fields)); |
| |
| var h = { |
| "content-type": "application/json; charset=utf-8", |
| }; |
| var resp = ""; |
| return new async.Future.value(stringResponse(200, h, resp)); |
| }), true); |
| res |
| .delete(arg_id, |
| onBehalfOfContentOwner: arg_onBehalfOfContentOwner, |
| $fields: arg_$fields) |
| .then(unittest.expectAsync1((_) {})); |
| }); |
| |
| unittest.test("method--insert", () { |
| var mock = new HttpServerMock(); |
| api.GroupItemsResourceApi res = |
| new api.YoutubeAnalyticsApi(mock).groupItems; |
| var arg_request = buildGroupItem(); |
| var arg_onBehalfOfContentOwner = "foo"; |
| var arg_$fields = "foo"; |
| mock.register(unittest.expectAsync2((http.BaseRequest req, json) { |
| var obj = new api.GroupItem.fromJson(json); |
| checkGroupItem(obj); |
| |
| var path = (req.url).path; |
| var pathOffset = 0; |
| var index; |
| var subPart; |
| unittest.expect( |
| path.substring(pathOffset, pathOffset + 1), unittest.equals("/")); |
| pathOffset += 1; |
| unittest.expect(path.substring(pathOffset, pathOffset + 21), |
| unittest.equals("youtube/analytics/v1/")); |
| pathOffset += 21; |
| unittest.expect(path.substring(pathOffset, pathOffset + 10), |
| unittest.equals("groupItems")); |
| pathOffset += 10; |
| |
| var query = (req.url).query; |
| var queryOffset = 0; |
| var queryMap = <core.String, core.List<core.String>>{}; |
| addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v); |
| parseBool(n) { |
| if (n == "true") return true; |
| if (n == "false") return false; |
| if (n == null) return null; |
| throw new core.ArgumentError("Invalid boolean: $n"); |
| } |
| |
| if (query.length > 0) { |
| for (var part in query.split("&")) { |
| var keyvalue = part.split("="); |
| addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), |
| core.Uri.decodeQueryComponent(keyvalue[1])); |
| } |
| } |
| unittest.expect(queryMap["onBehalfOfContentOwner"].first, |
| unittest.equals(arg_onBehalfOfContentOwner)); |
| unittest.expect(queryMap["fields"].first, unittest.equals(arg_$fields)); |
| |
| var h = { |
| "content-type": "application/json; charset=utf-8", |
| }; |
| var resp = convert.json.encode(buildGroupItem()); |
| return new async.Future.value(stringResponse(200, h, resp)); |
| }), true); |
| res |
| .insert(arg_request, |
| onBehalfOfContentOwner: arg_onBehalfOfContentOwner, |
| $fields: arg_$fields) |
| .then(unittest.expectAsync1(((response) { |
| checkGroupItem(response); |
| }))); |
| }); |
| |
| unittest.test("method--list", () { |
| var mock = new HttpServerMock(); |
| api.GroupItemsResourceApi res = |
| new api.YoutubeAnalyticsApi(mock).groupItems; |
| var arg_groupId = "foo"; |
| var arg_onBehalfOfContentOwner = "foo"; |
| var arg_$fields = "foo"; |
| mock.register(unittest.expectAsync2((http.BaseRequest req, json) { |
| var path = (req.url).path; |
| var pathOffset = 0; |
| var index; |
| var subPart; |
| unittest.expect( |
| path.substring(pathOffset, pathOffset + 1), unittest.equals("/")); |
| pathOffset += 1; |
| unittest.expect(path.substring(pathOffset, pathOffset + 21), |
| unittest.equals("youtube/analytics/v1/")); |
| pathOffset += 21; |
| unittest.expect(path.substring(pathOffset, pathOffset + 10), |
| unittest.equals("groupItems")); |
| pathOffset += 10; |
| |
| var query = (req.url).query; |
| var queryOffset = 0; |
| var queryMap = <core.String, core.List<core.String>>{}; |
| addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v); |
| parseBool(n) { |
| if (n == "true") return true; |
| if (n == "false") return false; |
| if (n == null) return null; |
| throw new core.ArgumentError("Invalid boolean: $n"); |
| } |
| |
| if (query.length > 0) { |
| for (var part in query.split("&")) { |
| var keyvalue = part.split("="); |
| addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), |
| core.Uri.decodeQueryComponent(keyvalue[1])); |
| } |
| } |
| unittest.expect( |
| queryMap["groupId"].first, unittest.equals(arg_groupId)); |
| unittest.expect(queryMap["onBehalfOfContentOwner"].first, |
| unittest.equals(arg_onBehalfOfContentOwner)); |
| unittest.expect(queryMap["fields"].first, unittest.equals(arg_$fields)); |
| |
| var h = { |
| "content-type": "application/json; charset=utf-8", |
| }; |
| var resp = convert.json.encode(buildGroupItemListResponse()); |
| return new async.Future.value(stringResponse(200, h, resp)); |
| }), true); |
| res |
| .list(arg_groupId, |
| onBehalfOfContentOwner: arg_onBehalfOfContentOwner, |
| $fields: arg_$fields) |
| .then(unittest.expectAsync1(((response) { |
| checkGroupItemListResponse(response); |
| }))); |
| }); |
| }); |
| |
| unittest.group("resource-GroupsResourceApi", () { |
| unittest.test("method--delete", () { |
| var mock = new HttpServerMock(); |
| api.GroupsResourceApi res = new api.YoutubeAnalyticsApi(mock).groups; |
| var arg_id = "foo"; |
| var arg_onBehalfOfContentOwner = "foo"; |
| var arg_$fields = "foo"; |
| mock.register(unittest.expectAsync2((http.BaseRequest req, json) { |
| var path = (req.url).path; |
| var pathOffset = 0; |
| var index; |
| var subPart; |
| unittest.expect( |
| path.substring(pathOffset, pathOffset + 1), unittest.equals("/")); |
| pathOffset += 1; |
| unittest.expect(path.substring(pathOffset, pathOffset + 21), |
| unittest.equals("youtube/analytics/v1/")); |
| pathOffset += 21; |
| unittest.expect(path.substring(pathOffset, pathOffset + 6), |
| unittest.equals("groups")); |
| pathOffset += 6; |
| |
| var query = (req.url).query; |
| var queryOffset = 0; |
| var queryMap = <core.String, core.List<core.String>>{}; |
| addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v); |
| parseBool(n) { |
| if (n == "true") return true; |
| if (n == "false") return false; |
| if (n == null) return null; |
| throw new core.ArgumentError("Invalid boolean: $n"); |
| } |
| |
| if (query.length > 0) { |
| for (var part in query.split("&")) { |
| var keyvalue = part.split("="); |
| addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), |
| core.Uri.decodeQueryComponent(keyvalue[1])); |
| } |
| } |
| unittest.expect(queryMap["id"].first, unittest.equals(arg_id)); |
| unittest.expect(queryMap["onBehalfOfContentOwner"].first, |
| unittest.equals(arg_onBehalfOfContentOwner)); |
| unittest.expect(queryMap["fields"].first, unittest.equals(arg_$fields)); |
| |
| var h = { |
| "content-type": "application/json; charset=utf-8", |
| }; |
| var resp = ""; |
| return new async.Future.value(stringResponse(200, h, resp)); |
| }), true); |
| res |
| .delete(arg_id, |
| onBehalfOfContentOwner: arg_onBehalfOfContentOwner, |
| $fields: arg_$fields) |
| .then(unittest.expectAsync1((_) {})); |
| }); |
| |
| unittest.test("method--insert", () { |
| var mock = new HttpServerMock(); |
| api.GroupsResourceApi res = new api.YoutubeAnalyticsApi(mock).groups; |
| var arg_request = buildGroup(); |
| var arg_onBehalfOfContentOwner = "foo"; |
| var arg_$fields = "foo"; |
| mock.register(unittest.expectAsync2((http.BaseRequest req, json) { |
| var obj = new api.Group.fromJson(json); |
| checkGroup(obj); |
| |
| var path = (req.url).path; |
| var pathOffset = 0; |
| var index; |
| var subPart; |
| unittest.expect( |
| path.substring(pathOffset, pathOffset + 1), unittest.equals("/")); |
| pathOffset += 1; |
| unittest.expect(path.substring(pathOffset, pathOffset + 21), |
| unittest.equals("youtube/analytics/v1/")); |
| pathOffset += 21; |
| unittest.expect(path.substring(pathOffset, pathOffset + 6), |
| unittest.equals("groups")); |
| pathOffset += 6; |
| |
| var query = (req.url).query; |
| var queryOffset = 0; |
| var queryMap = <core.String, core.List<core.String>>{}; |
| addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v); |
| parseBool(n) { |
| if (n == "true") return true; |
| if (n == "false") return false; |
| if (n == null) return null; |
| throw new core.ArgumentError("Invalid boolean: $n"); |
| } |
| |
| if (query.length > 0) { |
| for (var part in query.split("&")) { |
| var keyvalue = part.split("="); |
| addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), |
| core.Uri.decodeQueryComponent(keyvalue[1])); |
| } |
| } |
| unittest.expect(queryMap["onBehalfOfContentOwner"].first, |
| unittest.equals(arg_onBehalfOfContentOwner)); |
| unittest.expect(queryMap["fields"].first, unittest.equals(arg_$fields)); |
| |
| var h = { |
| "content-type": "application/json; charset=utf-8", |
| }; |
| var resp = convert.json.encode(buildGroup()); |
| return new async.Future.value(stringResponse(200, h, resp)); |
| }), true); |
| res |
| .insert(arg_request, |
| onBehalfOfContentOwner: arg_onBehalfOfContentOwner, |
| $fields: arg_$fields) |
| .then(unittest.expectAsync1(((response) { |
| checkGroup(response); |
| }))); |
| }); |
| |
| unittest.test("method--list", () { |
| var mock = new HttpServerMock(); |
| api.GroupsResourceApi res = new api.YoutubeAnalyticsApi(mock).groups; |
| var arg_id = "foo"; |
| var arg_mine = true; |
| var arg_onBehalfOfContentOwner = "foo"; |
| var arg_pageToken = "foo"; |
| var arg_$fields = "foo"; |
| mock.register(unittest.expectAsync2((http.BaseRequest req, json) { |
| var path = (req.url).path; |
| var pathOffset = 0; |
| var index; |
| var subPart; |
| unittest.expect( |
| path.substring(pathOffset, pathOffset + 1), unittest.equals("/")); |
| pathOffset += 1; |
| unittest.expect(path.substring(pathOffset, pathOffset + 21), |
| unittest.equals("youtube/analytics/v1/")); |
| pathOffset += 21; |
| unittest.expect(path.substring(pathOffset, pathOffset + 6), |
| unittest.equals("groups")); |
| pathOffset += 6; |
| |
| var query = (req.url).query; |
| var queryOffset = 0; |
| var queryMap = <core.String, core.List<core.String>>{}; |
| addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v); |
| parseBool(n) { |
| if (n == "true") return true; |
| if (n == "false") return false; |
| if (n == null) return null; |
| throw new core.ArgumentError("Invalid boolean: $n"); |
| } |
| |
| if (query.length > 0) { |
| for (var part in query.split("&")) { |
| var keyvalue = part.split("="); |
| addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), |
| core.Uri.decodeQueryComponent(keyvalue[1])); |
| } |
| } |
| unittest.expect(queryMap["id"].first, unittest.equals(arg_id)); |
| unittest.expect(queryMap["mine"].first, unittest.equals("$arg_mine")); |
| unittest.expect(queryMap["onBehalfOfContentOwner"].first, |
| unittest.equals(arg_onBehalfOfContentOwner)); |
| unittest.expect( |
| queryMap["pageToken"].first, unittest.equals(arg_pageToken)); |
| unittest.expect(queryMap["fields"].first, unittest.equals(arg_$fields)); |
| |
| var h = { |
| "content-type": "application/json; charset=utf-8", |
| }; |
| var resp = convert.json.encode(buildGroupListResponse()); |
| return new async.Future.value(stringResponse(200, h, resp)); |
| }), true); |
| res |
| .list( |
| id: arg_id, |
| mine: arg_mine, |
| onBehalfOfContentOwner: arg_onBehalfOfContentOwner, |
| pageToken: arg_pageToken, |
| $fields: arg_$fields) |
| .then(unittest.expectAsync1(((response) { |
| checkGroupListResponse(response); |
| }))); |
| }); |
| |
| unittest.test("method--update", () { |
| var mock = new HttpServerMock(); |
| api.GroupsResourceApi res = new api.YoutubeAnalyticsApi(mock).groups; |
| var arg_request = buildGroup(); |
| var arg_onBehalfOfContentOwner = "foo"; |
| var arg_$fields = "foo"; |
| mock.register(unittest.expectAsync2((http.BaseRequest req, json) { |
| var obj = new api.Group.fromJson(json); |
| checkGroup(obj); |
| |
| var path = (req.url).path; |
| var pathOffset = 0; |
| var index; |
| var subPart; |
| unittest.expect( |
| path.substring(pathOffset, pathOffset + 1), unittest.equals("/")); |
| pathOffset += 1; |
| unittest.expect(path.substring(pathOffset, pathOffset + 21), |
| unittest.equals("youtube/analytics/v1/")); |
| pathOffset += 21; |
| unittest.expect(path.substring(pathOffset, pathOffset + 6), |
| unittest.equals("groups")); |
| pathOffset += 6; |
| |
| var query = (req.url).query; |
| var queryOffset = 0; |
| var queryMap = <core.String, core.List<core.String>>{}; |
| addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v); |
| parseBool(n) { |
| if (n == "true") return true; |
| if (n == "false") return false; |
| if (n == null) return null; |
| throw new core.ArgumentError("Invalid boolean: $n"); |
| } |
| |
| if (query.length > 0) { |
| for (var part in query.split("&")) { |
| var keyvalue = part.split("="); |
| addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), |
| core.Uri.decodeQueryComponent(keyvalue[1])); |
| } |
| } |
| unittest.expect(queryMap["onBehalfOfContentOwner"].first, |
| unittest.equals(arg_onBehalfOfContentOwner)); |
| unittest.expect(queryMap["fields"].first, unittest.equals(arg_$fields)); |
| |
| var h = { |
| "content-type": "application/json; charset=utf-8", |
| }; |
| var resp = convert.json.encode(buildGroup()); |
| return new async.Future.value(stringResponse(200, h, resp)); |
| }), true); |
| res |
| .update(arg_request, |
| onBehalfOfContentOwner: arg_onBehalfOfContentOwner, |
| $fields: arg_$fields) |
| .then(unittest.expectAsync1(((response) { |
| checkGroup(response); |
| }))); |
| }); |
| }); |
| |
| unittest.group("resource-ReportsResourceApi", () { |
| unittest.test("method--query", () { |
| var mock = new HttpServerMock(); |
| api.ReportsResourceApi res = new api.YoutubeAnalyticsApi(mock).reports; |
| var arg_ids = "foo"; |
| var arg_start_date = "foo"; |
| var arg_end_date = "foo"; |
| var arg_metrics = "foo"; |
| var arg_currency = "foo"; |
| var arg_dimensions = "foo"; |
| var arg_filters = "foo"; |
| var arg_include_historical_channel_data = true; |
| var arg_max_results = 42; |
| var arg_sort = "foo"; |
| var arg_start_index = 42; |
| var arg_$fields = "foo"; |
| mock.register(unittest.expectAsync2((http.BaseRequest req, json) { |
| var path = (req.url).path; |
| var pathOffset = 0; |
| var index; |
| var subPart; |
| unittest.expect( |
| path.substring(pathOffset, pathOffset + 1), unittest.equals("/")); |
| pathOffset += 1; |
| unittest.expect(path.substring(pathOffset, pathOffset + 21), |
| unittest.equals("youtube/analytics/v1/")); |
| pathOffset += 21; |
| unittest.expect(path.substring(pathOffset, pathOffset + 7), |
| unittest.equals("reports")); |
| pathOffset += 7; |
| |
| var query = (req.url).query; |
| var queryOffset = 0; |
| var queryMap = <core.String, core.List<core.String>>{}; |
| addQueryParam(n, v) => queryMap.putIfAbsent(n, () => []).add(v); |
| parseBool(n) { |
| if (n == "true") return true; |
| if (n == "false") return false; |
| if (n == null) return null; |
| throw new core.ArgumentError("Invalid boolean: $n"); |
| } |
| |
| if (query.length > 0) { |
| for (var part in query.split("&")) { |
| var keyvalue = part.split("="); |
| addQueryParam(core.Uri.decodeQueryComponent(keyvalue[0]), |
| core.Uri.decodeQueryComponent(keyvalue[1])); |
| } |
| } |
| unittest.expect(queryMap["ids"].first, unittest.equals(arg_ids)); |
| unittest.expect( |
| queryMap["start-date"].first, unittest.equals(arg_start_date)); |
| unittest.expect( |
| queryMap["end-date"].first, unittest.equals(arg_end_date)); |
| unittest.expect( |
| queryMap["metrics"].first, unittest.equals(arg_metrics)); |
| unittest.expect( |
| queryMap["currency"].first, unittest.equals(arg_currency)); |
| unittest.expect( |
| queryMap["dimensions"].first, unittest.equals(arg_dimensions)); |
| unittest.expect( |
| queryMap["filters"].first, unittest.equals(arg_filters)); |
| unittest.expect(queryMap["include-historical-channel-data"].first, |
| unittest.equals("$arg_include_historical_channel_data")); |
| unittest.expect(core.int.parse(queryMap["max-results"].first), |
| unittest.equals(arg_max_results)); |
| unittest.expect(queryMap["sort"].first, unittest.equals(arg_sort)); |
| unittest.expect(core.int.parse(queryMap["start-index"].first), |
| unittest.equals(arg_start_index)); |
| unittest.expect(queryMap["fields"].first, unittest.equals(arg_$fields)); |
| |
| var h = { |
| "content-type": "application/json; charset=utf-8", |
| }; |
| var resp = convert.json.encode(buildResultTable()); |
| return new async.Future.value(stringResponse(200, h, resp)); |
| }), true); |
| res |
| .query(arg_ids, arg_start_date, arg_end_date, arg_metrics, |
| currency: arg_currency, |
| dimensions: arg_dimensions, |
| filters: arg_filters, |
| include_historical_channel_data: |
| arg_include_historical_channel_data, |
| max_results: arg_max_results, |
| sort: arg_sort, |
| start_index: arg_start_index, |
| $fields: arg_$fields) |
| .then(unittest.expectAsync1(((response) { |
| checkResultTable(response); |
| }))); |
| }); |
| }); |
| } |