public Builder newBuilder() { return new Builder() .setClientId(clientId) .setRedirectUri(redirectUri) .setEnvironment(environment) .setScopes(scopes); } }
/** * Set the {@link SessionConfiguration} information */ public Builder setSessionConfiguration(SessionConfiguration configuration) { if (scopes != null) { this.scopes = new HashSet<>(configuration.getScopes()); } if (customScopes != null) { this.customScopes = new HashSet<>(configuration.getCustomScopes()); } this.clientId = configuration.getClientId(); this.clientSecret = configuration.getClientSecret(); this.redirectUri = configuration.getRedirectUri(); this.loginHost = configuration.getLoginHost(); return this; }
@Override public void signRequest(Request.Builder builder) { ApiInterceptor.setAuthorizationHeader(builder, String.format(HEADER_TOKEN_ACCESS_VALUE, sessionConfiguration.getServerToken())); }
@Test public void newBuilder_copiesConfiguration() throws Exception { SessionConfiguration config = new SessionConfiguration.Builder() .setClientId("clientId") .setRedirectUri("test") .build(); SessionConfiguration config2 = config.newBuilder().setClientId("clientId2").build(); assertEquals("clientId", config.getClientId()); assertEquals("clientId2", config2.getClientId()); assertEquals("test", config2.getRedirectUri()); }
@Test public void buildSession_whenProductionEnv_shouldGiveProductionEndpointHost() throws Exception { SessionConfiguration sessionConfig = new SessionConfiguration.Builder() .setClientId("clientId") .setEnvironment(PRODUCTION).build(); assertEquals("https://api.uber.com", sessionConfig.getEndpointHost()); }
@Test public void getRedirectUri_whenSetOnBuilder_setsOnConfiguration() throws Exception { SessionConfiguration config = new SessionConfiguration.Builder() .setClientId("clientId") .setRedirectUri("redirectUri") .build(); assertEquals("redirectUri", config.getRedirectUri()); }
@Test public void getEnvironment_whenSetOnBuilder_setsOnConfiguration() throws Exception { SessionConfiguration config = new SessionConfiguration.Builder() .setClientId("clientId") .setEnvironment(SANDBOX) .build(); assertEquals(SANDBOX, config.getEnvironment()); }
@Test public void getScopes_whenSetOnBuilder_setsOnConfiguration() throws Exception { List<Scope> scopes = Arrays.asList(Scope.ALL_TRIPS, Scope.HISTORY); SessionConfiguration config = new SessionConfiguration.Builder() .setClientId("clientId") .setScopes(scopes) .build(); assertTrue(scopes.containsAll(config.getScopes())); }
@Test public void getClientId_whenSetOnBuilder_setsOnConfiguration() throws Exception { SessionConfiguration config = new SessionConfiguration.Builder() .setClientId("clientId") .build(); assertEquals("clientId", config.getClientId()); }
@Test public void testBuilder_withClientId_doesNotThrowError() { new SessionConfiguration.Builder().setClientId("clientId").build(); }
Retrofit createRetrofit(OkHttpClient client, Session session) { Moshi moshi = new Moshi.Builder().add(new BigDecimalAdapter()).build(); return new Retrofit.Builder() .addConverterFactory(MoshiConverterFactory.create(moshi)) .baseUrl(session.getAuthenticator().getSessionConfiguration().getEndpointHost()) .client(client) .build(); } }
@Test(expected = NullPointerException.class) public void testBuilder_noClientId_throwsException() { new SessionConfiguration.Builder().build(); }
public AccessTokenAuthenticator(SessionConfiguration sessionConfiguration, AccessTokenStorage tokenStorage) { this(sessionConfiguration, tokenStorage, createOAuthService(String.format(TOKEN_URL, sessionConfiguration.getLoginHost()))); }
/** * Gets the login host used to sign in to the Uber API. */ @Nonnull public String getLoginHost() { return String.format("https://login.%s", DEFAULT.getDomain()); }
public Builder newBuilder() { return new Builder() .setClientId(clientId) .setRedirectUri(redirectUri) .setEnvironment(environment) .setScopes(scopes); } }
@Test public void buildSession_whenSandboxEnv_shouldGiveSandboxEndpointHost() throws Exception { SessionConfiguration sessionConfig = new SessionConfiguration.Builder() .setClientId("clientId") .setEnvironment(SANDBOX).build(); assertEquals("https://sandbox-api.uber.com", sessionConfig.getEndpointHost()); } }
@Test public void buildSession_whenNoEnvironmentSupplied_shouldUseProduction() throws Exception { SessionConfiguration sessionConfig = new SessionConfiguration.Builder() .setClientId("clientId") .build(); assertEquals(PRODUCTION, sessionConfig.getEnvironment()); }
@Override public void signRequest(Request.Builder builder) { ApiInterceptor.setAuthorizationHeader(builder, String.format(HEADER_TOKEN_ACCESS_VALUE, sessionConfiguration.getServerToken())); }
public AccessTokenAuthenticator(SessionConfiguration sessionConfiguration, AccessTokenStorage tokenStorage) { this(sessionConfiguration, tokenStorage, createOAuthService(String.format(TOKEN_URL, sessionConfiguration.getLoginHost()))); }
/** * Gets the login host used to sign in to the Uber API. */ @Nonnull public String getLoginHost() { return String.format("https://login.%s", DEFAULT.getDomain()); }