use of com.microsoft.rest.protocol.SerializerAdapter in project autorest-clientruntime-for-java by Azure.
the class RestClientTests method newBuilderClonesProperties.
@Test
public void newBuilderClonesProperties() {
RestClient restClient = new RestClient.Builder().withBaseUrl("http://localhost").withSerializerAdapter(new JacksonAdapter()).withResponseBuilderFactory(new ServiceResponseBuilder.Factory()).withCredentials(new TokenCredentials("Bearer", "token")).withLogLevel(LogLevel.BASIC.withPrettyJson(true)).withInterceptor(new Interceptor() {
@Override
public Response intercept(Chain chain) throws IOException {
return chain.proceed(chain.request());
}
}).withUserAgent("user").withNetworkInterceptor(new Interceptor() {
@Override
public Response intercept(Chain chain) throws IOException {
return chain.proceed(chain.request());
}
}).withConnectionTimeout(100, TimeUnit.MINUTES).build();
RestClient newClient = restClient.newBuilder().withBaseUrl("https://contoso.com").withCredentials(new BasicAuthenticationCredentials("user", "pass")).withLogLevel(LogLevel.BODY_AND_HEADERS).withUserAgent("anotheruser").withConnectionTimeout(200, TimeUnit.SECONDS).withSerializerAdapter(new SerializerAdapter<Object>() {
@Override
public Object serializer() {
return null;
}
@Override
public Converter.Factory converterFactory() {
return retrofit2.converter.jackson.JacksonConverterFactory.create();
}
@Override
public String serialize(Object object) throws IOException {
return null;
}
@Override
public String serializeRaw(Object object) {
return null;
}
@Override
public String serializeList(List<?> list, CollectionFormat format) {
return null;
}
@Override
public <U> U deserialize(String value, Type type) throws IOException {
return null;
}
}).withResponseBuilderFactory(new ResponseBuilder.Factory() {
@Override
public <T, E extends RestException> ResponseBuilder<T, E> newInstance(SerializerAdapter<?> serializerAdapter) {
return null;
}
}).build();
Assert.assertNotEquals(restClient.retrofit().baseUrl().toString(), newClient.retrofit().baseUrl().toString());
Assert.assertNotEquals(restClient.logLevel(), newClient.logLevel());
Assert.assertNotEquals(restClient.logLevel().isPrettyJson(), newClient.logLevel().isPrettyJson());
Assert.assertNotEquals(restClient.serializerAdapter(), newClient.serializerAdapter());
Assert.assertNotEquals(restClient.responseBuilderFactory(), newClient.responseBuilderFactory());
Assert.assertNotEquals(restClient.credentials(), newClient.credentials());
for (Interceptor interceptor : restClient.httpClient().interceptors()) {
if (interceptor instanceof UserAgentInterceptor) {
Assert.assertEquals("user", ((UserAgentInterceptor) interceptor).userAgent());
}
}
for (Interceptor interceptor : newClient.httpClient().interceptors()) {
if (interceptor instanceof UserAgentInterceptor) {
Assert.assertEquals("anotheruser", ((UserAgentInterceptor) interceptor).userAgent());
}
}
Assert.assertNotEquals(restClient.httpClient().connectTimeoutMillis(), newClient.httpClient().connectTimeoutMillis());
}
Aggregations