public void GetQueryStringParametersTest() { var request = new PlaceGeocodeRequest { Key = "key", PlaceId = "place_id" }; var queryStringParameters = request.GetQueryStringParameters(); var key = queryStringParameters.SingleOrDefault(x => x.Key == "key"); var keyExpected = request.Key; Assert.IsNotNull(key); Assert.AreEqual(keyExpected, key.Value); var language = queryStringParameters.SingleOrDefault(x => x.Key == "language"); var languageExpected = request.Language.ToCode(); Assert.IsNotNull(language); Assert.AreEqual(languageExpected, language.Value); var location = queryStringParameters.SingleOrDefault(x => x.Key == "place_id"); var locationExpected = request.PlaceId; Assert.IsNotNull(location); Assert.AreEqual(locationExpected, location.Value); }
public void PlaceGeocodeTest() { var autoCompleteRequest = new PlacesAutoCompleteRequest { Key = this.ApiKey, Input = "285 Bedford Ave, Brooklyn, NY 11211, USA" }; var autoCompleteResponse = GooglePlaces.AutoComplete.Query(autoCompleteRequest); var placeId = autoCompleteResponse.Predictions.Select(x => x.PlaceId).FirstOrDefault(); var request = new PlaceGeocodeRequest { Key = this.ApiKey, PlaceId = placeId }; var result = GoogleMaps.PlaceGeocode.Query(request); Assert.IsNotNull(result); Assert.AreEqual(Status.Ok, result.Status); var geocodeResult = result.Results.FirstOrDefault(); Assert.IsNotNull(geocodeResult); }
public void GetQueryStringParametersTest() { var request = new PlaceGeocodeRequest { Key = "abc", PlaceId = "abc" }; Assert.DoesNotThrow(() => request.GetQueryStringParameters()); }
public void GetQueryStringParametersWhenKeyIsEmptyTest() { var request = new PlaceGeocodeRequest { Key = string.Empty }; var exception = Assert.Throws <ArgumentException>(() => request.GetQueryStringParameters()); Assert.AreEqual("'Key' is required", exception.Message); }
public void PlaceGeocodeWhenPlaceIdIsNullTest() { var request = new PlaceGeocodeRequest { Key = this.ApiKey }; var exception = Assert.Throws <ArgumentException>(() => GoogleMaps.PlaceGeocode.Query(request, TimeSpan.FromMilliseconds(1))); Assert.IsNotNull(exception); Assert.AreEqual(exception.Message, "PlaceId is required."); }
public void LocationGeocodeWhenAsyncTest() { var request = new PlaceGeocodeRequest { Key = this.ApiKey, PlaceId = "ChIJo9YpQWBZwokR7OeY0hiWh8g" }; var result = GoogleMaps.PlaceGeocode.QueryAsync(request).Result; Assert.IsNotNull(result); Assert.AreEqual(Status.Ok, result.Status); }
public void PlaceGeocodeTest() { var request = new PlaceGeocodeRequest { Key = this.ApiKey, PlaceId = "ChIJo9YpQWBZwokR7OeY0hiWh8g" }; var response = GoogleMaps.PlaceGeocode.Query(request); Assert.IsNotNull(response); Assert.AreEqual(Status.Ok, response.Status); }
public void PlaceGeocodeWhenClientCredentialsIsInvalidTest() { var request = new PlaceGeocodeRequest { ClientId = "abc", Key = "abc", PlaceId = "test" }; var exception = Assert.Throws <ArgumentException>(() => GoogleMaps.PlaceGeocode.Query(request)); Assert.IsNotNull(exception); Assert.AreEqual(exception.Message, "ClientId must begin with 'gme-'"); }
public void GetUriTest() { var request = new PlaceGeocodeRequest { Key = "abc", PlaceId = "abc" }; var uri = request.GetUri(); Assert.IsNotNull(uri); Assert.AreEqual($"/maps/api/geocode/json?key={request.Key}&language={request.Language.ToCode()}&place_id={Uri.EscapeDataString(request.PlaceId)}", uri.PathAndQuery); }
public void GetQueryStringParametersWhenPlaceIdIsNullTest() { var request = new PlaceGeocodeRequest { Key = "abc" }; var exception = Assert.Throws <ArgumentException>(() => { var parameters = request.GetQueryStringParameters(); Assert.IsNull(parameters); }); Assert.IsNotNull(exception); Assert.AreEqual(exception.Message, "PlaceId is required"); }
public void PlaceGeocodeWhenKeyIsNullTest() { var request = new PlaceGeocodeRequest { PlaceId = "test" }; var exception = Assert.Throws <AggregateException>(() => GoogleMaps.PlaceGeocode.QueryAsync(request).Wait()); Assert.IsNotNull(exception); var innerException = exception.InnerException; Assert.IsNotNull(innerException); Assert.AreEqual(typeof(GoogleApiException), innerException.GetType()); Assert.AreEqual(innerException.Message, "Key is required"); }
public void LocationGeocodeWhenAsyncAndCancelledTest() { var request = new PlaceGeocodeRequest { Key = this.ApiKey, PlaceId = "ChIJo9YpQWBZwokR7OeY0hiWh8g" }; var cancellationTokenSource = new CancellationTokenSource(); var task = GoogleMaps.PlaceGeocode.QueryAsync(request, cancellationTokenSource.Token); cancellationTokenSource.Cancel(); var exception = Assert.Throws <OperationCanceledException>(() => task.Wait(cancellationTokenSource.Token)); Assert.IsNotNull(exception); Assert.AreEqual(exception.Message, "The operation was canceled."); }
public void PlaceGeocodeWhenPlaceIdIsNullTest() { var request = new PlaceGeocodeRequest { Key = this.ApiKey }; var exception = Assert.Throws <AggregateException>(() => GoogleMaps.PlaceGeocode.Query(request)); Assert.IsNotNull(exception); Assert.AreEqual("One or more errors occurred.", exception.Message); var innerException = exception.InnerException; Assert.IsNotNull(innerException); Assert.AreEqual(typeof(GoogleApiException), innerException.GetType()); Assert.AreEqual(innerException.Message, "PlaceId is required"); }
public void PlaceGeocodeWhenClientCredentialsIsInvalidTest() { var request = new PlaceGeocodeRequest { ClientId = "abc", Key = "abc", PlaceId = "test" }; var exception = Assert.Throws <AggregateException>(() => GoogleMaps.PlaceGeocode.QueryAsync(request).Wait()); Assert.IsNotNull(exception); var innerException = exception.InnerException; Assert.IsNotNull(innerException); Assert.AreEqual(typeof(GoogleApiException), innerException.GetType()); Assert.AreEqual(innerException.Message, "ClientId must begin with 'gme-'"); }
public void GetQueryStringParametersWhenChannelTest() { var request = new PlaceGeocodeRequest { Key = "key", PlaceId = "place_id", Channel = "channel" }; var queryStringParameters = request.GetQueryStringParameters(); Assert.IsNotNull(queryStringParameters); var channel = queryStringParameters.FirstOrDefault(x => x.Key == "channel"); var channelExpected = request.Channel; Assert.IsNotNull(channel); Assert.AreEqual(channelExpected, channel.Value); }
public void PlaceGeocodeWhenAsyncAndTimeoutTest() { var request = new PlaceGeocodeRequest { Key = this.ApiKey, PlaceId = "abc" }; var exception = Assert.Throws <AggregateException>(() => { var result = GoogleMaps.PlaceGeocode.QueryAsync(request, TimeSpan.FromMilliseconds(1)).Result; Assert.IsNull(result); }); Assert.IsNotNull(exception); Assert.AreEqual(exception.Message, "One or more errors occurred."); var innerException = exception.InnerException; Assert.IsNotNull(innerException); Assert.AreEqual(innerException.GetType(), typeof(TaskCanceledException)); Assert.AreEqual(innerException.Message, "A task was canceled."); }
public void ConstructorDefaultTest() { var request = new PlaceGeocodeRequest(); Assert.IsTrue(request.IsSsl); }
public void ConstructorDefaultTest() { var request = new PlaceGeocodeRequest(); Assert.AreEqual(Language.English, request.Language); }