blob: 0ed32f3b4669d14b78640457b1a95325417cf3f1 [file] [log] [blame]
library googleapis.urlshortener.v1.test;
import "dart:core" as core;
import "dart:collection" as collection;
import "dart:async" as async;
import "dart:convert" as convert;
import 'package:http/http.dart' as http;
import 'package:http/testing.dart' as http_testing;
import 'package:unittest/unittest.dart' as unittest;
import 'package:googleapis/common/common.dart' as common;
import 'package:googleapis/src/common_internal.dart' as common_internal;
import '../common/common_internal_test.dart' as common_test;
import 'package:googleapis/urlshortener/v1.dart' as api;
buildUnnamed1119() {
var o = new core.List<api.StringCount>();
o.add(buildStringCount());
o.add(buildStringCount());
return o;
}
checkUnnamed1119(core.List<api.StringCount> o) {
unittest.expect(o, unittest.hasLength(2));
checkStringCount(o[0]);
checkStringCount(o[1]);
}
buildUnnamed1120() {
var o = new core.List<api.StringCount>();
o.add(buildStringCount());
o.add(buildStringCount());
return o;
}
checkUnnamed1120(core.List<api.StringCount> o) {
unittest.expect(o, unittest.hasLength(2));
checkStringCount(o[0]);
checkStringCount(o[1]);
}
buildUnnamed1121() {
var o = new core.List<api.StringCount>();
o.add(buildStringCount());
o.add(buildStringCount());
return o;
}
checkUnnamed1121(core.List<api.StringCount> o) {
unittest.expect(o, unittest.hasLength(2));
checkStringCount(o[0]);
checkStringCount(o[1]);
}
buildUnnamed1122() {
var o = new core.List<api.StringCount>();
o.add(buildStringCount());
o.add(buildStringCount());
return o;
}
checkUnnamed1122(core.List<api.StringCount> o) {
unittest.expect(o, unittest.hasLength(2));
checkStringCount(o[0]);
checkStringCount(o[1]);
}
core.int buildCounterAnalyticsSnapshot = 0;
buildAnalyticsSnapshot() {
var o = new api.AnalyticsSnapshot();
buildCounterAnalyticsSnapshot++;
if (buildCounterAnalyticsSnapshot < 3) {
o.browsers = buildUnnamed1119();
o.countries = buildUnnamed1120();
o.longUrlClicks = "foo";
o.platforms = buildUnnamed1121();
o.referrers = buildUnnamed1122();
o.shortUrlClicks = "foo";
}
buildCounterAnalyticsSnapshot--;
return o;
}
checkAnalyticsSnapshot(api.AnalyticsSnapshot o) {
buildCounterAnalyticsSnapshot++;
if (buildCounterAnalyticsSnapshot < 3) {
checkUnnamed1119(o.browsers);
checkUnnamed1120(o.countries);
unittest.expect(o.longUrlClicks, unittest.equals('foo'));
checkUnnamed1121(o.platforms);
checkUnnamed1122(o.referrers);
unittest.expect(o.shortUrlClicks, unittest.equals('foo'));
}
buildCounterAnalyticsSnapshot--;
}
core.int buildCounterAnalyticsSummary = 0;
buildAnalyticsSummary() {
var o = new api.AnalyticsSummary();
buildCounterAnalyticsSummary++;
if (buildCounterAnalyticsSummary < 3) {
o.allTime = buildAnalyticsSnapshot();
o.day = buildAnalyticsSnapshot();
o.month = buildAnalyticsSnapshot();
o.twoHours = buildAnalyticsSnapshot();
o.week = buildAnalyticsSnapshot();
}
buildCounterAnalyticsSummary--;
return o;
}
checkAnalyticsSummary(api.AnalyticsSummary o) {
buildCounterAnalyticsSummary++;
if (buildCounterAnalyticsSummary < 3) {
checkAnalyticsSnapshot(o.allTime);
checkAnalyticsSnapshot(o.day);
checkAnalyticsSnapshot(o.month);
checkAnalyticsSnapshot(o.twoHours);
checkAnalyticsSnapshot(o.week);
}
buildCounterAnalyticsSummary--;
}
core.int buildCounterStringCount = 0;
buildStringCount() {
var o = new api.StringCount();
buildCounterStringCount++;
if (buildCounterStringCount < 3) {
o.count = "foo";
o.id = "foo";
}
buildCounterStringCount--;
return o;
}
checkStringCount(api.StringCount o) {
buildCounterStringCount++;
if (buildCounterStringCount < 3) {
unittest.expect(o.count, unittest.equals('foo'));
unittest.expect(o.id, unittest.equals('foo'));
}
buildCounterStringCount--;
}
core.int buildCounterUrl = 0;
buildUrl() {
var o = new api.Url();
buildCounterUrl++;
if (buildCounterUrl < 3) {
o.analytics = buildAnalyticsSummary();
o.created = "foo";
o.id = "foo";
o.kind = "foo";
o.longUrl = "foo";
o.status = "foo";
}
buildCounterUrl--;
return o;
}
checkUrl(api.Url o) {
buildCounterUrl++;
if (buildCounterUrl < 3) {
checkAnalyticsSummary(o.analytics);
unittest.expect(o.created, unittest.equals('foo'));
unittest.expect(o.id, unittest.equals('foo'));
unittest.expect(o.kind, unittest.equals('foo'));
unittest.expect(o.longUrl, unittest.equals('foo'));
unittest.expect(o.status, unittest.equals('foo'));
}
buildCounterUrl--;
}
buildUnnamed1123() {
var o = new core.List<api.Url>();
o.add(buildUrl());
o.add(buildUrl());
return o;
}
checkUnnamed1123(core.List<api.Url> o) {
unittest.expect(o, unittest.hasLength(2));
checkUrl(o[0]);
checkUrl(o[1]);
}
core.int buildCounterUrlHistory = 0;
buildUrlHistory() {
var o = new api.UrlHistory();
buildCounterUrlHistory++;
if (buildCounterUrlHistory < 3) {
o.items = buildUnnamed1123();
o.itemsPerPage = 42;
o.kind = "foo";
o.nextPageToken = "foo";
o.totalItems = 42;
}
buildCounterUrlHistory--;
return o;
}
checkUrlHistory(api.UrlHistory o) {
buildCounterUrlHistory++;
if (buildCounterUrlHistory < 3) {
checkUnnamed1123(o.items);
unittest.expect(o.itemsPerPage, unittest.equals(42));
unittest.expect(o.kind, unittest.equals('foo'));
unittest.expect(o.nextPageToken, unittest.equals('foo'));
unittest.expect(o.totalItems, unittest.equals(42));
}
buildCounterUrlHistory--;
}
main() {
unittest.group("obj-schema-AnalyticsSnapshot", () {
unittest.test("to-json--from-json", () {
var o = buildAnalyticsSnapshot();
var od = new api.AnalyticsSnapshot.fromJson(o.toJson());
checkAnalyticsSnapshot(od);
});
});
unittest.group("obj-schema-AnalyticsSummary", () {
unittest.test("to-json--from-json", () {
var o = buildAnalyticsSummary();
var od = new api.AnalyticsSummary.fromJson(o.toJson());
checkAnalyticsSummary(od);
});
});
unittest.group("obj-schema-StringCount", () {
unittest.test("to-json--from-json", () {
var o = buildStringCount();
var od = new api.StringCount.fromJson(o.toJson());
checkStringCount(od);
});
});
unittest.group("obj-schema-Url", () {
unittest.test("to-json--from-json", () {
var o = buildUrl();
var od = new api.Url.fromJson(o.toJson());
checkUrl(od);
});
});
unittest.group("obj-schema-UrlHistory", () {
unittest.test("to-json--from-json", () {
var o = buildUrlHistory();
var od = new api.UrlHistory.fromJson(o.toJson());
checkUrlHistory(od);
});
});
unittest.group("resource-UrlResourceApi", () {
unittest.test("method--get", () {
var mock = new common_test.HttpServerMock();
api.UrlResourceApi res = new api.UrlshortenerApi(mock).url;
var arg_shortUrl = "foo";
var arg_projection = "foo";
mock.register(unittest.expectAsync((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 + 16), unittest.equals("urlshortener/v1/"));
pathOffset += 16;
unittest.expect(path.substring(pathOffset, pathOffset + 3), unittest.equals("url"));
pathOffset += 3;
var query = (req.url).query;
var queryOffset = 0;
var queryMap = {};
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["shortUrl"].first, unittest.equals(arg_shortUrl));
unittest.expect(queryMap["projection"].first, unittest.equals(arg_projection));
var h = {
"content-type" : "application/json; charset=utf-8",
};
var resp = convert.JSON.encode(buildUrl());
return new async.Future.value(common_test.stringResponse(200, h, resp));
}), true);
res.get(arg_shortUrl, projection: arg_projection).then(unittest.expectAsync(((api.Url response) {
checkUrl(response);
})));
});
unittest.test("method--insert", () {
var mock = new common_test.HttpServerMock();
api.UrlResourceApi res = new api.UrlshortenerApi(mock).url;
var arg_request = buildUrl();
mock.register(unittest.expectAsync((http.BaseRequest req, json) {
var obj = new api.Url.fromJson(json);
checkUrl(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 + 16), unittest.equals("urlshortener/v1/"));
pathOffset += 16;
unittest.expect(path.substring(pathOffset, pathOffset + 3), unittest.equals("url"));
pathOffset += 3;
var query = (req.url).query;
var queryOffset = 0;
var queryMap = {};
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]));
}
}
var h = {
"content-type" : "application/json; charset=utf-8",
};
var resp = convert.JSON.encode(buildUrl());
return new async.Future.value(common_test.stringResponse(200, h, resp));
}), true);
res.insert(arg_request).then(unittest.expectAsync(((api.Url response) {
checkUrl(response);
})));
});
unittest.test("method--list", () {
var mock = new common_test.HttpServerMock();
api.UrlResourceApi res = new api.UrlshortenerApi(mock).url;
var arg_projection = "foo";
var arg_start_token = "foo";
mock.register(unittest.expectAsync((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 + 16), unittest.equals("urlshortener/v1/"));
pathOffset += 16;
unittest.expect(path.substring(pathOffset, pathOffset + 11), unittest.equals("url/history"));
pathOffset += 11;
var query = (req.url).query;
var queryOffset = 0;
var queryMap = {};
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["projection"].first, unittest.equals(arg_projection));
unittest.expect(queryMap["start-token"].first, unittest.equals(arg_start_token));
var h = {
"content-type" : "application/json; charset=utf-8",
};
var resp = convert.JSON.encode(buildUrlHistory());
return new async.Future.value(common_test.stringResponse(200, h, resp));
}), true);
res.list(projection: arg_projection, start_token: arg_start_token).then(unittest.expectAsync(((api.UrlHistory response) {
checkUrlHistory(response);
})));
});
});
}