From 4cf1130574efa4fc098641b7483aeb22e93db21a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edd=C3=BA=20Mel=C3=A9ndez?= Date: Tue, 2 May 2023 21:00:48 -0700 Subject: [PATCH] refactor: Improve tests * Remove spring-test dependency * Remove usage of ReflectionTestUtils * Use assertj's extracting --- spring/pom.xml | 7 ---- .../InfluxDB2AutoConfigurationTest.java | 36 +++++-------------- 2 files changed, 9 insertions(+), 34 deletions(-) diff --git a/spring/pom.xml b/spring/pom.xml index ff1fc50621a..ecd7b8da136 100644 --- a/spring/pom.xml +++ b/spring/pom.xml @@ -140,13 +140,6 @@ true - - org.springframework - spring-test - ${spring.version} - test - - org.junit.jupiter junit-jupiter-engine diff --git a/spring/src/test/java/com/influxdb/spring/influx/InfluxDB2AutoConfigurationTest.java b/spring/src/test/java/com/influxdb/spring/influx/InfluxDB2AutoConfigurationTest.java index b38810bf447..f5ad00039bb 100644 --- a/spring/src/test/java/com/influxdb/spring/influx/InfluxDB2AutoConfigurationTest.java +++ b/spring/src/test/java/com/influxdb/spring/influx/InfluxDB2AutoConfigurationTest.java @@ -21,23 +21,19 @@ */ package com.influxdb.spring.influx; -import java.util.List; import java.util.concurrent.TimeUnit; -import javax.annotation.Nonnull; import com.influxdb.client.InfluxDBClient; import okhttp3.OkHttpClient; import okhttp3.Protocol; import org.assertj.core.api.Assertions; +import org.assertj.core.api.InstanceOfAssertFactories; import org.junit.jupiter.api.Test; import org.springframework.boot.autoconfigure.AutoConfigurations; -import org.springframework.boot.test.context.assertj.AssertableApplicationContext; import org.springframework.boot.test.context.runner.ApplicationContextRunner; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.test.util.ReflectionTestUtils; -import retrofit2.Retrofit; /** * Tests for {@link InfluxDB2AutoConfiguration}. @@ -69,8 +65,8 @@ public void influxDBClientCanBeCreatedWithoutCredentials() { this.contextRunner.withPropertyValues("influx.url=http://localhost:8086/") .run((context) -> { Assertions.assertThat(context.getBeansOfType(InfluxDBClient.class)).hasSize(1); - int readTimeout = getReadTimeoutProperty(context); - Assertions.assertThat(readTimeout).isEqualTo(10_000); + InfluxDBClient influxDB = context.getBean(InfluxDBClient.class); + Assertions.assertThat(influxDB).extracting("retrofit.callFactory.readTimeoutMillis").isEqualTo(10_000); }); } @@ -81,8 +77,8 @@ public void influxDBClientWithOkHttpClientBuilderProvider() { .withPropertyValues("influx.url=http://localhost:8086/", "influx.token:token") .run((context) -> { Assertions.assertThat(context.getBeansOfType(InfluxDBClient.class)).hasSize(1); - int readTimeout = getReadTimeoutProperty(context); - Assertions.assertThat(readTimeout).isEqualTo(40_000); + InfluxDBClient influxDB = context.getBean(InfluxDBClient.class); + Assertions.assertThat(influxDB).extracting("retrofit.callFactory.readTimeoutMillis").isEqualTo(40_000); }); } @@ -91,8 +87,8 @@ public void influxDBClientWithReadTimeout() { this.contextRunner.withPropertyValues("influx.url=http://localhost:8086/", "influx.readTimeout=13s") .run((context) -> { Assertions.assertThat(context.getBeansOfType(InfluxDBClient.class)).hasSize(1); - int readTimeout = getReadTimeoutProperty(context); - Assertions.assertThat(readTimeout).isEqualTo(13_000); + InfluxDBClient influxDB = context.getBean(InfluxDBClient.class); + Assertions.assertThat(influxDB).extracting("retrofit.callFactory.readTimeoutMillis").isEqualTo(13_000); }); } @@ -100,25 +96,11 @@ public void influxDBClientWithReadTimeout() { public void protocolVersion() { this.contextRunner.withPropertyValues("influx.url=http://localhost:8086/", "spring.influx2.token:token") .run((context) -> { - List protocols = getOkHttpClient(context).protocols(); - Assertions.assertThat(protocols).hasSize(1); - Assertions.assertThat(protocols).contains(Protocol.HTTP_1_1); + InfluxDBClient influxDB = context.getBean(InfluxDBClient.class); + Assertions.assertThat(influxDB).extracting("retrofit.callFactory.protocols", InstanceOfAssertFactories.LIST).contains(Protocol.HTTP_1_1); }); } - private int getReadTimeoutProperty(AssertableApplicationContext context) { - OkHttpClient callFactory = getOkHttpClient(context); - return callFactory.readTimeoutMillis(); - } - - @Nonnull - private OkHttpClient getOkHttpClient(final AssertableApplicationContext context) { - InfluxDBClient influxDB = context.getBean(InfluxDBClient.class); - Retrofit retrofit = (Retrofit) ReflectionTestUtils.getField(influxDB, "retrofit"); - OkHttpClient callFactory = (OkHttpClient) retrofit.callFactory(); - return callFactory; - } - @Configuration static class CustomOkHttpClientBuilderProviderConfig {