Search in sources :

Example 1 with SerializerAdapter

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());
}
Also used : UserAgentInterceptor(com.microsoft.rest.interceptors.UserAgentInterceptor) BasicAuthenticationCredentials(com.microsoft.rest.credentials.BasicAuthenticationCredentials) SerializerAdapter(com.microsoft.rest.protocol.SerializerAdapter) ResponseBuilder(com.microsoft.rest.protocol.ResponseBuilder) JacksonAdapter(com.microsoft.rest.serializer.JacksonAdapter) IOException(java.io.IOException) Response(okhttp3.Response) Type(java.lang.reflect.Type) Interceptor(okhttp3.Interceptor) UserAgentInterceptor(com.microsoft.rest.interceptors.UserAgentInterceptor) TokenCredentials(com.microsoft.rest.credentials.TokenCredentials) Test(org.junit.Test)

Aggregations

BasicAuthenticationCredentials (com.microsoft.rest.credentials.BasicAuthenticationCredentials)1 TokenCredentials (com.microsoft.rest.credentials.TokenCredentials)1 UserAgentInterceptor (com.microsoft.rest.interceptors.UserAgentInterceptor)1 ResponseBuilder (com.microsoft.rest.protocol.ResponseBuilder)1 SerializerAdapter (com.microsoft.rest.protocol.SerializerAdapter)1 JacksonAdapter (com.microsoft.rest.serializer.JacksonAdapter)1 IOException (java.io.IOException)1 Type (java.lang.reflect.Type)1 Interceptor (okhttp3.Interceptor)1 Response (okhttp3.Response)1 Test (org.junit.Test)1