Search in sources :

Example 6 with HttpClientConfiguration

use of com.github.mjeanroy.junit.servers.client.HttpClientConfiguration in project junit-servers by mjeanroy.

the class HttpClientParameterResolverFunction method resolve.

@Override
public Object resolve(ParameterContext parameterContext, EmbeddedServerRunner serverAdapter) {
    log.debug("Resolving HTTP Client for parameter: {}", parameterContext);
    final Optional<TestHttpClient> maybeAnnotation = parameterContext.findAnnotation(TestHttpClient.class);
    final HttpClientConfiguration configuration;
    final HttpClientStrategy strategy;
    if (maybeAnnotation.isPresent()) {
        TestHttpClient annotation = maybeAnnotation.get();
        strategy = getStrategy(annotation);
        configuration = getConfiguration(annotation);
    } else {
        strategy = defaultStrategy();
        configuration = defaultConfiguration();
    }
    return serverAdapter.getClient(strategy, configuration);
}
Also used : HttpClientStrategy(com.github.mjeanroy.junit.servers.client.HttpClientStrategy) HttpClientConfiguration(com.github.mjeanroy.junit.servers.client.HttpClientConfiguration) TestHttpClient(com.github.mjeanroy.junit.servers.annotations.TestHttpClient)

Example 7 with HttpClientConfiguration

use of com.github.mjeanroy.junit.servers.client.HttpClientConfiguration in project junit-servers by mjeanroy.

the class EmbeddedServerRunnerTest method it_should_get_client_with_given_strategy_custom_configuration_and_return_new_one_with_different_configuration.

@Test
public void it_should_get_client_with_given_strategy_custom_configuration_and_return_new_one_with_different_configuration() {
    final EmbeddedServer<?> server = new EmbeddedServerMockBuilder().build();
    final EmbeddedServerRunner adapter = new EmbeddedServerRunner(server);
    final HttpClientStrategy strategy = HttpClientStrategy.OK_HTTP3;
    final HttpClientConfiguration configuration1 = new HttpClientConfiguration.Builder().disableFollowRedirect().build();
    final HttpClientConfiguration configuration2 = new HttpClientConfiguration.Builder().build();
    final HttpClient client1 = adapter.getClient(strategy, configuration1);
    final HttpClient client2 = adapter.getClient(strategy, configuration2);
    assertThat(client1).isNotSameAs(client2);
    assertThat(client1).isInstanceOf(OkHttpClient.class);
    assertThat(client2).isInstanceOf(OkHttpClient.class);
    assertThat(client1.getConfiguration()).isSameAs(configuration1);
    assertThat(client2.getConfiguration()).isSameAs(configuration2);
}
Also used : EmbeddedServerMockBuilder(com.github.mjeanroy.junit.servers.utils.builders.EmbeddedServerMockBuilder) FakeEmbeddedServerConfigurationBuilder(com.github.mjeanroy.junit.servers.utils.impl.FakeEmbeddedServerConfigurationBuilder) OkHttpClient(com.github.mjeanroy.junit.servers.client.impl.okhttp3.OkHttpClient) HttpClient(com.github.mjeanroy.junit.servers.client.HttpClient) HttpClientStrategy(com.github.mjeanroy.junit.servers.client.HttpClientStrategy) EmbeddedServerMockBuilder(com.github.mjeanroy.junit.servers.utils.builders.EmbeddedServerMockBuilder) HttpClientConfiguration(com.github.mjeanroy.junit.servers.client.HttpClientConfiguration) Test(org.junit.jupiter.api.Test)

Example 8 with HttpClientConfiguration

use of com.github.mjeanroy.junit.servers.client.HttpClientConfiguration in project junit-servers by mjeanroy.

the class EmbeddedServerRunnerTest method it_should_get_client_with_given_strategy_custom_configuration.

@Test
public void it_should_get_client_with_given_strategy_custom_configuration() {
    final EmbeddedServer<?> server = new EmbeddedServerMockBuilder().build();
    final EmbeddedServerRunner adapter = new EmbeddedServerRunner(server);
    final HttpClientStrategy strategy = HttpClientStrategy.OK_HTTP3;
    final HttpClientConfiguration configuration = new HttpClientConfiguration.Builder().disableFollowRedirect().build();
    final HttpClient client = adapter.getClient(strategy, configuration);
    assertThat(client).isInstanceOf(OkHttpClient.class);
    assertThat(client.getConfiguration()).isSameAs(configuration);
}
Also used : EmbeddedServerMockBuilder(com.github.mjeanroy.junit.servers.utils.builders.EmbeddedServerMockBuilder) FakeEmbeddedServerConfigurationBuilder(com.github.mjeanroy.junit.servers.utils.impl.FakeEmbeddedServerConfigurationBuilder) OkHttpClient(com.github.mjeanroy.junit.servers.client.impl.okhttp3.OkHttpClient) HttpClient(com.github.mjeanroy.junit.servers.client.HttpClient) HttpClientStrategy(com.github.mjeanroy.junit.servers.client.HttpClientStrategy) EmbeddedServerMockBuilder(com.github.mjeanroy.junit.servers.utils.builders.EmbeddedServerMockBuilder) HttpClientConfiguration(com.github.mjeanroy.junit.servers.client.HttpClientConfiguration) Test(org.junit.jupiter.api.Test)

Example 9 with HttpClientConfiguration

use of com.github.mjeanroy.junit.servers.client.HttpClientConfiguration in project junit-servers by mjeanroy.

the class EmbeddedServerRunnerTest method it_should_get_client_with_custom_configuration_and_return_previous_one_with_same_configuration.

@Test
public void it_should_get_client_with_custom_configuration_and_return_previous_one_with_same_configuration() {
    final EmbeddedServer<?> server = new EmbeddedServerMockBuilder().build();
    final EmbeddedServerRunner adapter = new EmbeddedServerRunner(server);
    final HttpClientConfiguration configuration1 = new HttpClientConfiguration.Builder().build();
    final HttpClientConfiguration configuration2 = new HttpClientConfiguration.Builder().build();
    final HttpClient client1 = adapter.getClient(configuration1);
    final HttpClient client2 = adapter.getClient(configuration2);
    assertThat(client1).isSameAs(client2);
}
Also used : OkHttpClient(com.github.mjeanroy.junit.servers.client.impl.okhttp3.OkHttpClient) HttpClient(com.github.mjeanroy.junit.servers.client.HttpClient) EmbeddedServerMockBuilder(com.github.mjeanroy.junit.servers.utils.builders.EmbeddedServerMockBuilder) HttpClientConfiguration(com.github.mjeanroy.junit.servers.client.HttpClientConfiguration) Test(org.junit.jupiter.api.Test)

Example 10 with HttpClientConfiguration

use of com.github.mjeanroy.junit.servers.client.HttpClientConfiguration in project junit-servers by mjeanroy.

the class BaseHttpClientTest method testRequest_with_default_cookie_object.

@Test
void testRequest_with_default_cookie_object() {
    final String endpoint = ENDPOINT;
    final String name = "foo";
    final String value = "bar";
    final HttpClientConfiguration configuration = new HttpClientConfiguration.Builder().addDefaultCookie(Cookies.cookie(name, value)).build();
    stubDefaultRequest(endpoint);
    createCustomClient(configuration).prepareGet(endpoint).executeJson();
    assertRequestWithCookie(endpoint, HttpMethod.GET, name, value);
}
Also used : EmbeddedServerMockBuilder(com.github.mjeanroy.junit.servers.utils.builders.EmbeddedServerMockBuilder) HttpRequestBodies.multipartBuilder(com.github.mjeanroy.junit.servers.client.HttpRequestBodies.multipartBuilder) HttpClientConfiguration(com.github.mjeanroy.junit.servers.client.HttpClientConfiguration) WireMockTest(com.github.mjeanroy.junit.servers.utils.jupiter.WireMockTest) Test(org.junit.jupiter.api.Test)

Aggregations

HttpClientConfiguration (com.github.mjeanroy.junit.servers.client.HttpClientConfiguration)13 EmbeddedServerMockBuilder (com.github.mjeanroy.junit.servers.utils.builders.EmbeddedServerMockBuilder)11 Test (org.junit.jupiter.api.Test)11 HttpClient (com.github.mjeanroy.junit.servers.client.HttpClient)7 OkHttpClient (com.github.mjeanroy.junit.servers.client.impl.okhttp3.OkHttpClient)6 HttpClientStrategy (com.github.mjeanroy.junit.servers.client.HttpClientStrategy)4 HttpRequestBodies.multipartBuilder (com.github.mjeanroy.junit.servers.client.HttpRequestBodies.multipartBuilder)4 FakeEmbeddedServerConfigurationBuilder (com.github.mjeanroy.junit.servers.utils.impl.FakeEmbeddedServerConfigurationBuilder)4 WireMockTest (com.github.mjeanroy.junit.servers.utils.jupiter.WireMockTest)4 TestHttpClient (com.github.mjeanroy.junit.servers.annotations.TestHttpClient)1 HttpHeader (com.github.mjeanroy.junit.servers.client.HttpHeader)1 ToStringBuilder (com.github.mjeanroy.junit.servers.commons.lang.ToStringBuilder)1 AsyncHttpClient (com.ning.http.client.AsyncHttpClient)1 AsyncHttpClientConfig (com.ning.http.client.AsyncHttpClientConfig)1