public void ReturnsOpeningTimes() { var request = new PlacesDetailsRequest { ApiKey = ApiKey, PlaceId = GetMyPlaceId(), }; PlacesDetailsResponse result = GoogleMaps.PlacesDetails.Query(request); AssertInconclusive.NotExceedQuota(result); Assert.AreEqual(Status.OK, result.Status); // commented out because seems like google doesn't have opening hours for this place anymore /* * Assert.AreEqual(7, result.Result.OpeningHours.Periods.Count()); * var sundayPeriod = result.Result.OpeningHours.Periods.First(); * Assert.That(sundayPeriod.OpenTime.Day, Is.EqualTo(DayOfWeek.Sunday)); * Assert.That(sundayPeriod.OpenTime.Time, Is.GreaterThanOrEqualTo(0)); * Assert.That(sundayPeriod.OpenTime.Time, Is.LessThanOrEqualTo(2359)); * Assert.That(sundayPeriod.CloseTime.Time, Is.GreaterThanOrEqualTo(0)); * Assert.That(sundayPeriod.CloseTime.Time, Is.LessThanOrEqualTo(2359)); */ }
public void ReturnsOpeningTimes() { var request = new PlacesDetailsRequest { ApiKey = ApiKey, PlaceId = GetMyPlaceId(), }; PlacesDetailsResponse result = GoogleMaps.PlacesDetails.Query(request); if (result.Status == Status.OVER_QUERY_LIMIT) { Assert.Inconclusive("Cannot run test since you have exceeded your Google API query limit."); } Assert.AreEqual(Status.OK, result.Status); // commented out because seems like google doesn't have opening hours for this place anymore /* * Assert.AreEqual(7, result.Result.OpeningHours.Periods.Count()); * var sundayPeriod = result.Result.OpeningHours.Periods.First(); * Assert.That(sundayPeriod.OpenTime.Day, Is.EqualTo(DayOfWeek.Sunday)); * Assert.That(sundayPeriod.OpenTime.Time, Is.GreaterThanOrEqualTo(0)); * Assert.That(sundayPeriod.OpenTime.Time, Is.LessThanOrEqualTo(2359)); * Assert.That(sundayPeriod.CloseTime.Time, Is.GreaterThanOrEqualTo(0)); * Assert.That(sundayPeriod.CloseTime.Time, Is.LessThanOrEqualTo(2359)); */ }
/// <summary> /// If the response status indicates fail because of quota exceeded - mark test as inconclusive. /// </summary> public static void NotExceedQuota(PlacesDetailsResponse response) { if (response?.Status == Entities.PlacesDetails.Response.Status.OVER_QUERY_LIMIT) { throw new InconclusiveException(QuotaExceedMessage); } }
public void ReturnsOpeningTimes() { if (ApiKey == "") { Assert.Inconclusive("API key not specified"); } var request = new PlacesDetailsRequest { ApiKey = ApiKey, Reference = GetMyPlaceReference(), }; PlacesDetailsResponse result = GoogleMaps.PlacesDetails.Query(request); if (result.Status == Status.OVER_QUERY_LIMIT) { Assert.Inconclusive("Cannot run test since you have exceeded your Google API query limit."); } Assert.AreEqual(Status.OK, result.Status); Assert.AreEqual(7, result.Result.OpeningHours.Periods.Count()); var sundayPeriod = result.Result.OpeningHours.Periods.First(); Assert.That(sundayPeriod.OpenTime.Day, Is.EqualTo(DayOfWeek.Sunday)); Assert.That(sundayPeriod.OpenTime.Time, Is.GreaterThanOrEqualTo(0)); Assert.That(sundayPeriod.OpenTime.Time, Is.LessThanOrEqualTo(2359)); Assert.That(sundayPeriod.CloseTime.Time, Is.GreaterThanOrEqualTo(0)); Assert.That(sundayPeriod.CloseTime.Time, Is.LessThanOrEqualTo(2359)); }
public void ReturnsNotFoundForWrongReferenceString() { var request = new PlacesDetailsRequest { ApiKey = base.ApiKey, // Needs to be a correct looking reference. 1 character too short or long and google will return INVALID_REQUEST instead. PlaceId = "ChIJbWWgrQAVkFQReAwrXXWzlYs" }; PlacesDetailsResponse result = GoogleMaps.PlacesDetails.Query(request); AssertInconclusive.NotExceedQuota(result); Assert.AreEqual(Status.NOT_FOUND, result.Status); }
public void ReturnsPhotos() { var request = new PlacesDetailsRequest { ApiKey = ApiKey, PlaceId = "ChIJZ3VuVMQdLz4REP9PWpQ4SIY" }; PlacesDetailsResponse result = GoogleMaps.PlacesDetails.Query(request); AssertInconclusive.NotExceedQuota(result); Assert.AreEqual(Status.OK, result.Status); Assert.IsNotEmpty(result.Result.Photos); }
public void ReturnsStronglyTypedPriceLevel() { var request = new PlacesDetailsRequest { ApiKey = ApiKey, PlaceId = GetMyPlaceId(), }; PlacesDetailsResponse result = GoogleMaps.PlacesDetails.Query(request); AssertInconclusive.NotExceedQuota(result); Assert.AreEqual(Status.OK, result.Status); Assert.That(new PriceLevel[] { result.Result.PriceLevel.Value }, Is.SubsetOf(anyPriceLevel)); }
public async Task ReturnsStronglyTypedPriceLevelAsync() { var request = new PlacesDetailsRequest { ApiKey = ApiKey, PlaceId = await GetMyPlaceIdAsync() }; PlacesDetailsResponse result = await GoogleMaps.PlacesDetails.QueryAsync(request); AssertInconclusive.NotExceedQuota(result); Assert.AreEqual(Status.OK, result.Status); Assert.NotNull(result.Result.PriceLevel); Assert.That(new PriceLevel[] { result.Result.PriceLevel.Value }, Is.SubsetOf(_anyPriceLevel)); }
public void ReturnsNotFoundForWrongReferenceString() { var request = new PlacesDetailsRequest { ApiKey = base.ApiKey, // Needs to be a correct looking reference. 1 character too short or long and google will return INVALID_REQUEST instead. PlaceId = "ChIJbWWgrQAVkFQReAwrXXWzlYs" }; PlacesDetailsResponse result = GoogleMaps.PlacesDetails.Query(request); if (result.Status == Status.OVER_QUERY_LIMIT) { Assert.Inconclusive("Cannot run test since you have exceeded your Google API query limit."); } Assert.AreEqual(Status.NOT_FOUND, result.Status); }
public void ReturnsPhotos() { var request = new PlacesDetailsRequest { ApiKey = ApiKey, PlaceId = "ChIJZ3VuVMQdLz4REP9PWpQ4SIY" }; PlacesDetailsResponse result = GoogleMaps.PlacesDetails.Query(request); if (result.Status == Status.OVER_QUERY_LIMIT) { Assert.Inconclusive("Cannot run test since you have exceeded your Google API query limit."); } Assert.AreEqual(Status.OK, result.Status); Assert.IsNotEmpty(result.Result.Photos); }
public void ReturnsStronglyTypedPriceLevel() { var request = new PlacesDetailsRequest { ApiKey = ApiKey, Reference = GetMyPlaceReference(), }; PlacesDetailsResponse result = GoogleMaps.PlacesDetails.Query(request); if (result.Status == Status.OVER_QUERY_LIMIT) { Assert.Inconclusive("Cannot run test since you have exceeded your Google API query limit."); } Assert.AreEqual(Status.OK, result.Status); Assert.AreEqual(PriceLevel.Moderate, result.Result.PriceLevel); }
public void ReturnsNotFoundForWrongReferenceString() { var request = new PlacesDetailsRequest { ApiKey = base.ApiKey, // Needs to be a correct looking reference. 1 character too short or long and google will return INVALID_REQUEST instead. Reference = "CnRqAAAAvs_8564VF4xq2St_9P-YaCYEep2qa86WfWBcBL6q-264bgWE3vWD1zI5kIcWVOA6r9XA2vOfOKZ3uEMs_FQNQZGpTGxyaaq5aTF8XJD36ZcYMbmPuTP00jVEXBPlEmnUxUuHHbxzDd_7fZwxABkPIhIQ4IypqCmBf4WOCXSnT9jiIRoUi8iVFfW6-txsNpGCFurUqA-qHos" }; PlacesDetailsResponse result = GoogleMaps.PlacesDetails.Query(request); if (result.Status == Status.OVER_QUERY_LIMIT) { Assert.Inconclusive("Cannot run test since you have exceeded your Google API query limit."); } Assert.AreEqual(Status.NOT_FOUND, result.Status); }
public void ReturnsStronglyTypedPriceLevel() { var request = new PlacesDetailsRequest { ApiKey = ApiKey, PlaceId = GetMyPlaceId(), }; PlacesDetailsResponse result = GoogleMaps.PlacesDetails.Query(request); if (result.Status == Status.OVER_QUERY_LIMIT) { Assert.Inconclusive("Cannot run test since you have exceeded your Google API query limit."); } Assert.AreEqual(Status.OK, result.Status); Assert.That(new PriceLevel[] { result.Result.PriceLevel.Value }, Is.SubsetOf(anyPriceLevel)); }