Skip to content

Commit d5e30ac

Browse files
committed
BaseUrl in SessionConfiguration
1 parent 7a47217 commit d5e30ac

File tree

3 files changed

+26
-5
lines changed

3 files changed

+26
-5
lines changed

uber-core/src/main/java/com/uber/sdk/core/client/SessionConfiguration.java

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ public static class Builder {
8383
private Collection<Scope> scopes;
8484
private Collection<String> customScopes;
8585
private Locale locale;
86+
private String baseUrl;
8687

8788
/**
8889
* The Uber API requires a registered clientId to be sent along with API requests and Deeplinks.
@@ -142,6 +143,11 @@ public Builder setEnvironment(@Nonnull Environment environment) {
142143
return this;
143144
}
144145

146+
public Builder setBaseUrl(@Nonnull String url) {
147+
this.baseUrl = url;
148+
return this;
149+
}
150+
145151
/**
146152
* Sets the Scope Collection to be used when requesting authentication
147153
*
@@ -208,6 +214,7 @@ public SessionConfiguration build() {
208214
redirectUri,
209215
DEFAULT,
210216
environment,
217+
baseUrl,
211218
scopes,
212219
customScopes,
213220
locale);
@@ -220,6 +227,7 @@ public SessionConfiguration build() {
220227
private final String redirectUri;
221228
private final EndpointRegion endpointRegion;
222229
private final Environment environment;
230+
private final String baseUrl;
223231
private final Collection<Scope> scopes;
224232
private final Collection<String> customScopes;
225233
private final Locale locale;
@@ -230,6 +238,7 @@ protected SessionConfiguration(@Nonnull String clientId,
230238
@Nonnull String redirectUri,
231239
@Nonnull EndpointRegion endpointRegion,
232240
@Nonnull Environment environment,
241+
String baseUrl,
233242
@Nonnull Collection<Scope> scopes,
234243
@Nonnull Collection<String> customScopes,
235244
@Nonnull Locale locale) {
@@ -239,6 +248,7 @@ protected SessionConfiguration(@Nonnull String clientId,
239248
this.redirectUri = redirectUri;
240249
this.endpointRegion = endpointRegion;
241250
this.environment = environment;
251+
this.baseUrl = baseUrl;
242252
this.scopes = scopes;
243253
this.customScopes = customScopes;
244254
this.locale = locale;
@@ -304,15 +314,19 @@ public EndpointRegion getEndpointRegion() {
304314
*/
305315
@Nonnull
306316
public String getEndpointHost() {
307-
return String.format("https://%s.%s", environment.subDomain, DEFAULT.getDomain());
317+
return baseUrl != null ?
318+
baseUrl :
319+
String.format("https://%s.%s", environment.subDomain, DEFAULT.getDomain());
308320
}
309321

310322
/**
311323
* Gets the login host used to sign in to the Uber API.
312324
*/
313325
@Nonnull
314326
public String getLoginHost() {
315-
return String.format("https://login.%s", DEFAULT.getDomain());
327+
return baseUrl != null ?
328+
baseUrl :
329+
String.format("https://login.%s", DEFAULT.getDomain());
316330
}
317331

318332
/**

uber-core/src/test/java/com/uber/sdk/core/client/SessionConfigurationTest.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
package com.uber.sdk.core.client;
2424

2525
import com.uber.sdk.core.auth.Scope;
26-
2726
import org.junit.Test;
2827

2928
import java.util.Arrays;
@@ -128,4 +127,13 @@ public void buildSession_whenSandboxEnv_shouldGiveSandboxEndpointHost() throws E
128127
.setEnvironment(SANDBOX).build();
129128
assertEquals("https://sandbox-api.uber.com", sessionConfig.getEndpointHost());
130129
}
131-
}
130+
131+
@Test
132+
public void buildSession_whenCustomEnvUrl_shouldGiveCustomEndpointHost() throws Exception {
133+
SessionConfiguration sessionConfig = new SessionConfiguration.Builder()
134+
.setBaseUrl("http://localhost:8888/uber-mock")
135+
.setClientId("clientId")
136+
.build();
137+
assertEquals("http://localhost:8888/uber-mock", sessionConfig.getEndpointHost());
138+
}
139+
}

uber-rides/src/test/java/com/uber/sdk/rides/client/services/RidesServiceTest.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import com.squareup.moshi.Moshi;
44
import com.uber.sdk.core.client.internal.BigDecimalAdapter;
55
import com.uber.sdk.rides.WireMockTest;
6-
import com.uber.sdk.rides.client.services.RidesService;
76
import com.uber.sdk.rides.client.model.Product;
87
import com.uber.sdk.rides.client.model.Ride;
98
import com.uber.sdk.rides.client.model.RideEstimate;

0 commit comments

Comments
 (0)