示例#1
0
        public void PlacesDeleteWhenAsyncTest()
        {
            var request = new PlacesAddRequest
            {
                Key      = this.ApiKey,
                Name     = Guid.NewGuid().ToString("N"),
                Types    = new[] { PlaceLocationType.Street_Address },
                Location = new Location(55.664425, 12.502264)
            };

            var response = GooglePlaces.Add.Query(request);

            Assert.IsNotNull(response);
            Assert.IsNotNull(response.PlaceId);

            var request2 = new PlacesDeleteRequest
            {
                Key     = this.ApiKey,
                PlaceId = response.PlaceId
            };

            var response2 = GooglePlaces.Delete.QueryAsync(request2).Result;

            Assert.IsNotNull(response2);
            Assert.AreEqual(response2.Status, Status.Ok);
        }
示例#2
0
        public void PlacesDeleteWhenApiKeyIsStringEmptyTest()
        {
            var request = new PlacesDeleteRequest
            {
                Key = string.Empty
            };

            var exception = Assert.Throws <ArgumentException>(() => GooglePlaces.Delete.Query(request));

            Assert.AreEqual(exception.Message, "ApiKey must be provided");
        }
示例#3
0
        public void PlacesDeleteWhenPlaceIdIsStringEmptyTest()
        {
            var request = new PlacesDeleteRequest
            {
                Key     = this.ApiKey,
                PlaceId = string.Empty
            };

            var exception = Assert.Throws <ArgumentException>(() => GooglePlaces.Delete.Query(request));

            Assert.AreEqual(exception.Message, "PlaceId is required");
        }
示例#4
0
        public void PlacesDeleteWhenKeyIsNullTest()
        {
            var request = new PlacesDeleteRequest
            {
                Key     = null,
                PlaceId = "test"
            };

            var exception = Assert.Throws <ArgumentException>(() => GooglePlaces.Delete.Query(request));

            Assert.AreEqual(exception.Message, "Key is required");
        }
示例#5
0
        public void PlacesDeleteWhenPlaceIdIsNullTest()
        {
            var request = new PlacesDeleteRequest
            {
                Key     = this.apiKey,
                PlaceId = null
            };

            var exception = Assert.Throws <ArgumentException>(() => GooglePlaces.Delete.Query(request));

            Assert.AreEqual(exception.Message, "PlaceId must be provided.");
        }
示例#6
0
        public void GetQueryStringParametersWhenPlaceIdIsStringEmptyTest()
        {
            var request = new PlacesDeleteRequest
            {
                Key     = this.ApiKey,
                PlaceId = string.Empty
            };

            var exception = Assert.Throws <ArgumentException>(() =>
            {
                var parameters = request.GetQueryStringParameters();
                Assert.IsNull(parameters);
            });

            Assert.AreEqual(exception.Message, "PlaceId is required");
        }
示例#7
0
        public void GetQueryStringParametersWhenKeyIsNullTest()
        {
            var request = new PlacesDeleteRequest
            {
                Key     = null,
                PlaceId = "test"
            };

            var exception = Assert.Throws <ArgumentException>(() =>
            {
                var parameters = request.GetQueryStringParameters();
                Assert.IsNull(parameters);
            });

            Assert.AreEqual(exception.Message, "Key is required");
        }
示例#8
0
        public void PlacesDeleteWhenAsyncAndCancelledTest()
        {
            var request = new PlacesDeleteRequest
            {
                Key     = this.ApiKey,
                PlaceId = Guid.NewGuid().ToString("N")
            };
            var cancellationTokenSource = new CancellationTokenSource();
            var task = GooglePlaces.Delete.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.");
        }
示例#9
0
        public void PlacesDeleteTest()
        {
            var request = new PlacesAddRequest
            {
                Key      = this.ApiKey,
                Name     = Guid.NewGuid().ToString("N"),
                Types    = new[] { PlaceLocationType.Street_Address },
                Location = new Location(55.664425, 12.502264)
            };

            var response = GooglePlaces.Add.Query(request);

            Assert.IsNotNull(response);
            Assert.IsNotNull(response.PlaceId);

            var request2 = new PlacesDeleteRequest
            {
                Key     = this.ApiKey,
                PlaceId = response.PlaceId
            };

            var response2 = GooglePlaces.Delete.Query(request2);

            Assert.IsNotNull(response2);
            Assert.AreEqual(response2.Status, Status.Ok);

            var request3 = new PlacesDetailsRequest
            {
                Key     = this.ApiKey,
                PlaceId = response.PlaceId
            };

            var exception = Assert.Throws <AggregateException>(() => GooglePlaces.Details.Query(request3));

            Assert.IsNotNull(exception);
            Assert.AreEqual("One or more errors occurred.", exception.Message);

            var innerException = exception.InnerExceptions.FirstOrDefault() as GoogleApiException;

            Assert.IsNotNull(innerException);
            Assert.AreEqual(typeof(GoogleApiException), innerException.GetType());
            Assert.AreEqual(Status.NotFound, innerException.Status);
            Assert.AreEqual("Exception of type 'GoogleApi.Exceptions.GoogleApiException' was thrown.", innerException.Message);
        }
示例#10
0
        public void PlacesDeleteWhenInvalidKeyTest()
        {
            var request = new PlacesDeleteRequest
            {
                Key     = "test",
                PlaceId = "abc"
            };

            var exception = Assert.Throws <AggregateException>(() => GooglePlaces.Delete.Query(request));

            Assert.IsNotNull(exception);
            Assert.AreEqual("One or more errors occurred.", exception.Message);

            var innerException = exception.InnerExceptions.FirstOrDefault();

            Assert.IsNotNull(innerException);
            Assert.AreEqual(typeof(GoogleApiException), innerException.GetType());
            Assert.AreEqual("The provided API key is invalid.", innerException.Message);
        }
示例#11
0
        public void PlacesDeleteWhenAsyncAndTimeoutTest()
        {
            var request = new PlacesDeleteRequest
            {
                Key     = this.ApiKey,
                PlaceId = Guid.NewGuid().ToString("N")
            };
            var exception = Assert.Throws <AggregateException>(() =>
            {
                var result = GooglePlaces.Delete.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.");
        }
示例#12
0
        public void ConstructorDefaultTest()
        {
            var request = new PlacesDeleteRequest();

            Assert.IsTrue(request.IsSsl);
        }