diff --git a/services-directions/src/main/java/com/mapbox/api/directions/v5/MapboxDirections.java b/services-directions/src/main/java/com/mapbox/api/directions/v5/MapboxDirections.java index 8a088c558..7e3324066 100644 --- a/services-directions/src/main/java/com/mapbox/api/directions/v5/MapboxDirections.java +++ b/services-directions/src/main/java/com/mapbox/api/directions/v5/MapboxDirections.java @@ -255,7 +255,7 @@ private static String formatCoordinates(List coordinates) { @Override protected abstract String baseUrl(); - @Nullable + @NonNull abstract String accessToken(); @Nullable diff --git a/services-directions/src/test/java/com/mapbox/api/directions/v5/MapboxDirectionsTest.java b/services-directions/src/test/java/com/mapbox/api/directions/v5/MapboxDirectionsTest.java index 6660c0144..770748933 100644 --- a/services-directions/src/test/java/com/mapbox/api/directions/v5/MapboxDirectionsTest.java +++ b/services-directions/src/test/java/com/mapbox/api/directions/v5/MapboxDirectionsTest.java @@ -12,6 +12,7 @@ import com.mapbox.core.exceptions.ServicesException; import com.mapbox.geojson.Point; +import org.hamcrest.core.StringStartsWith; import org.junit.After; import org.junit.Assert; import org.junit.Before; @@ -130,13 +131,23 @@ public void addWaypoint_maxWaypointsAdded() throws Exception { @Test public void build_noAccessTokenExceptionThrown() throws Exception { + thrown.expect(IllegalStateException.class); + thrown.expectMessage("Missing required properties: accessToken"); + MapboxDirections.builder() + .origin(Point.fromLngLat(1.0, 1.0)) + .destination(Point.fromLngLat(2.0, 2.0)) + .build(); + } + + @Test + public void build_invalidAccessTokenExceptionThrown() throws ServicesException { thrown.expect(ServicesException.class); - thrown.expectMessage("Using Mapbox Services requires setting a valid access token."); - MapboxDirections mapboxDirections = MapboxDirections.builder() + thrown.expectMessage(StringStartsWith.startsWith("Using Mapbox Services requires setting a valid access token")); + MapboxDirections.builder() + .accessToken("") .origin(Point.fromLngLat(1.0, 1.0)) .destination(Point.fromLngLat(2.0, 2.0)) .build(); - mapboxDirections.executeCall(); } @Test diff --git a/services-geocoding/src/main/java/com/mapbox/api/geocoding/v5/MapboxGeocoding.java b/services-geocoding/src/main/java/com/mapbox/api/geocoding/v5/MapboxGeocoding.java index 5690514c2..bf5b2aa70 100644 --- a/services-geocoding/src/main/java/com/mapbox/api/geocoding/v5/MapboxGeocoding.java +++ b/services-geocoding/src/main/java/com/mapbox/api/geocoding/v5/MapboxGeocoding.java @@ -177,7 +177,7 @@ public Call> cloneBatchCall() { @NonNull abstract String mode(); - @Nullable + @NonNull abstract String accessToken(); @NonNull diff --git a/services-geocoding/src/test/java/com/mapbox/api/geocoding/v5/MapboxGeocodingTest.java b/services-geocoding/src/test/java/com/mapbox/api/geocoding/v5/MapboxGeocodingTest.java index 45de6f764..ed682f895 100644 --- a/services-geocoding/src/test/java/com/mapbox/api/geocoding/v5/MapboxGeocodingTest.java +++ b/services-geocoding/src/test/java/com/mapbox/api/geocoding/v5/MapboxGeocodingTest.java @@ -66,15 +66,25 @@ public void executeBatchCall_exceptionThrownWhenModeNotSetCorrectly() throws Exc } @Test - public void build_accessTokenNotValidException() throws Exception { + public void build_noAccessTokenExceptionThrown() throws Exception { + thrown.expect(IllegalStateException.class); + thrown.expectMessage("Missing required properties: accessToken"); + MapboxGeocoding.builder() + .query("1600 pennsylvania ave nw") + .baseUrl(mockUrl.toString()) + .build(); + } + + @Test + public void build_invalidAccessTokenExceptionThrown() throws Exception { thrown.expect(ServicesException.class); thrown.expectMessage( startsWith("Using Mapbox Services requires setting a valid access token.")); - MapboxGeocoding mapboxGeocoding = MapboxGeocoding.builder() + MapboxGeocoding.builder() + .accessToken("") .query("1600 pennsylvania ave nw") .baseUrl(mockUrl.toString()) .build(); - mapboxGeocoding.executeCall(); } @Test diff --git a/services-matching/src/main/java/com/mapbox/api/matching/v5/MapboxMapMatching.java b/services-matching/src/main/java/com/mapbox/api/matching/v5/MapboxMapMatching.java index f0e11ec3c..c29cd0dee 100644 --- a/services-matching/src/main/java/com/mapbox/api/matching/v5/MapboxMapMatching.java +++ b/services-matching/src/main/java/com/mapbox/api/matching/v5/MapboxMapMatching.java @@ -247,7 +247,7 @@ private static List formatCoordinates(String coordinates) { @Nullable abstract String clientAppName(); - @Nullable + @NonNull abstract String accessToken(); @Nullable diff --git a/services-matching/src/test/java/com/mapbox/api/matching/v5/MapboxMapMatchingTest.java b/services-matching/src/test/java/com/mapbox/api/matching/v5/MapboxMapMatchingTest.java index d61a94193..5df64dd62 100644 --- a/services-matching/src/test/java/com/mapbox/api/matching/v5/MapboxMapMatchingTest.java +++ b/services-matching/src/test/java/com/mapbox/api/matching/v5/MapboxMapMatchingTest.java @@ -168,16 +168,24 @@ public void build_throwsExceptionWhenNotMatchingTimestampsForEachCoord() throws } @Test - public void build_throwsExceptionWhenNoValidAccessTokenProvided() throws Exception { + public void build_noAccessTokenExceptionThrown() throws Exception { + thrown.expect(IllegalStateException.class); + thrown.expectMessage("Missing required properties: accessToken"); + MapboxMapMatching.builder() + .coordinate(Point.fromLngLat(2.0, 2.0)) + .coordinate(Point.fromLngLat(2.0, 2.0)) + .build(); + } + + @Test + public void build_invalidAccessTokenExceptionThrown() throws Exception { thrown.expect(ServicesException.class); - thrown.expectMessage( - startsWith("Using Mapbox Services requires setting a valid access token.")); - MapboxMapMatching mapMatching = MapboxMapMatching.builder() + thrown.expectMessage("Using Mapbox Services requires setting a valid access token."); + MapboxMapMatching.builder() + .accessToken("") .coordinate(Point.fromLngLat(2.0, 2.0)) .coordinate(Point.fromLngLat(2.0, 2.0)) - .baseUrl("https://foobar.com") .build(); - mapMatching.executeCall(); } @Test @@ -213,6 +221,7 @@ public void mapMatchingToDirectionsRoute() throws Exception { assertNotNull(mapMatching.executeCall().body().matchings().get(0).toDirectionRoute()); } + @Test public void accessToken_doesGetPlacedInUrlCorrectly() throws Exception { MapboxMapMatching mapMatching = MapboxMapMatching.builder() diff --git a/services-matrix/src/test/java/com/mapbox/api/matrix/v1/MapboxMatrixTest.java b/services-matrix/src/test/java/com/mapbox/api/matrix/v1/MapboxMatrixTest.java index 483db329f..db4b728cc 100644 --- a/services-matrix/src/test/java/com/mapbox/api/matrix/v1/MapboxMatrixTest.java +++ b/services-matrix/src/test/java/com/mapbox/api/matrix/v1/MapboxMatrixTest.java @@ -91,9 +91,20 @@ public void testCallSanity() throws ServicesException, IOException { } @Test - public void requiredAccessToken() throws ServicesException { + public void build_noAccessTokenExceptionThrown() throws Exception { + thrown.expect(IllegalStateException.class); + thrown.expectMessage("Missing required properties: accessToken"); + MapboxMatrix.builder() + .baseUrl(mockUrl.toString()) + .coordinate(Point.fromLngLat(2.0, 2.0)) + .coordinate(Point.fromLngLat(4.0, 4.0)) + .build(); + } + + @Test + public void build_invalidAccessTokenExceptionThrown() throws Exception { thrown.expect(ServicesException.class); - thrown.expectMessage(startsWith("Using Mapbox Services requires setting a valid access token")); + thrown.expectMessage("Using Mapbox Services requires setting a valid access token."); MapboxMatrix.builder() .accessToken("") .baseUrl(mockUrl.toString()) diff --git a/services-optimization/src/main/java/com/mapbox/api/optimization/v1/MapboxOptimization.java b/services-optimization/src/main/java/com/mapbox/api/optimization/v1/MapboxOptimization.java index 9baf23036..2d97e434c 100644 --- a/services-optimization/src/main/java/com/mapbox/api/optimization/v1/MapboxOptimization.java +++ b/services-optimization/src/main/java/com/mapbox/api/optimization/v1/MapboxOptimization.java @@ -112,7 +112,7 @@ protected Call initializeCall() { @Nullable abstract String clientAppName(); - @Nullable + @NonNull abstract String accessToken(); @NonNull diff --git a/services-optimization/src/test/java/com/mapbox/api/optimization/v1/MapboxOptimizationTest.java b/services-optimization/src/test/java/com/mapbox/api/optimization/v1/MapboxOptimizationTest.java index 636a8b336..028d4705b 100644 --- a/services-optimization/src/test/java/com/mapbox/api/optimization/v1/MapboxOptimizationTest.java +++ b/services-optimization/src/test/java/com/mapbox/api/optimization/v1/MapboxOptimizationTest.java @@ -79,15 +79,25 @@ public void build_doesThrowTwoCoordinateMinException() throws Exception { } @Test - public void build_doesThrowRequiredAccessTokenException() throws ServicesException { - thrown.expect(ServicesException.class); - thrown.expectMessage(startsWith("Using Mapbox Services requires setting a valid access token")); + public void build_noAccessTokenExceptionThrown() throws Exception { + thrown.expect(IllegalStateException.class); + thrown.expectMessage("Missing required properties: accessToken"); MapboxOptimization.builder() .coordinate(Point.fromLngLat(1.0, 1.0)) .coordinate(Point.fromLngLat(1.0, 1.0)) .build(); } + @Test + public void build_invalidAccessTokenExceptionThrown() throws Exception { + thrown.expect(ServicesException.class); + thrown.expectMessage("Using Mapbox Services requires setting a valid access token."); + MapboxOptimization.builder() + .accessToken("") + .coordinate(Point.fromLngLat(1.0, 1.0)) + .coordinate(Point.fromLngLat(1.0, 1.0)) + .build(); + } @Test public void build_doesThrowTooManyCoordinatesException() throws ServicesException { int total = 13; diff --git a/services-staticmap/src/main/java/com/mapbox/api/staticmap/v1/MapboxStaticMap.java b/services-staticmap/src/main/java/com/mapbox/api/staticmap/v1/MapboxStaticMap.java index 4368e4780..68da66ecb 100644 --- a/services-staticmap/src/main/java/com/mapbox/api/staticmap/v1/MapboxStaticMap.java +++ b/services-staticmap/src/main/java/com/mapbox/api/staticmap/v1/MapboxStaticMap.java @@ -38,7 +38,7 @@ public abstract class MapboxStaticMap { private static final String BEFORE_LAYER = "before_layer"; private static final String CAMERA_AUTO = "auto"; - @Nullable + @NonNull abstract String accessToken(); @NonNull diff --git a/services-staticmap/src/test/java/com/mapbox/api/staticmap/v1/MapboxStaticMapTest.java b/services-staticmap/src/test/java/com/mapbox/api/staticmap/v1/MapboxStaticMapTest.java index 4befbfb35..ba9cb1c1f 100644 --- a/services-staticmap/src/test/java/com/mapbox/api/staticmap/v1/MapboxStaticMapTest.java +++ b/services-staticmap/src/test/java/com/mapbox/api/staticmap/v1/MapboxStaticMapTest.java @@ -43,13 +43,22 @@ public void build_throwsExceptionWhenStyleIdNotSet() throws Exception { } @Test - public void accessToken_exceptionGetsThrownWhenMissing() throws Exception { - thrown.expect(ServicesException.class); - thrown.expectMessage("Using Mapbox Services requires setting a valid access token."); + public void build_noAccessTokenExceptionThrown() throws Exception { + thrown.expect(IllegalStateException.class); + thrown.expectMessage("Missing required properties: accessToken"); MapboxStaticMap.builder().build(); } @Test + public void build_invalidAccessTokenExceptionThrown() throws Exception { + thrown.expect(ServicesException.class); + thrown.expectMessage("Using Mapbox Services requires setting a valid access token."); + MapboxStaticMap.builder() + .accessToken("") + .build(); + } + + @Test public void baseUrl_settingShowsUpInTheRequestUrl() throws Exception { MapboxStaticMap staticMap = MapboxStaticMap.builder() .accessToken(ACCESS_TOKEN)