<groupId>org.onap.aai.model-loader</groupId>
<artifactId>model-loader</artifactId>
<name>aai-model-loader</name>
- <version>1.14.1-SNAPSHOT</version>
+ <version>1.14.2-SNAPSHOT</version>
<dependencyManagement>
<dependencies>
<docker.location>${basedir}/target</docker.location>
<spring-boot.version>2.7.18</spring-boot.version>
<spring-cloud.version>2021.0.8</spring-cloud.version>
+ <spring-kafka.version>2.9.13</spring-kafka.version>
<apache.commons-text.version>1.10.0</apache.commons-text.version>
- <commons-compress.version>1.22</commons-compress.version>
+ <commons-compress.version>1.27.0</commons-compress.version>
+ <commons-io.version>2.16.1</commons-io.version>
<gson.version>2.10.1</gson.version>
- <hamcrest-all.version>1.3</hamcrest-all.version>
<babel.version>1.13.0</babel.version>
<sdc-distribution-client.version>2.0.0</sdc-distribution-client.version>
<logback.version>1.2.11</logback.version>
</exclusion>
</exclusions>
</dependency>
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-webflux</artifactId>
+ <scope>test</scope>
+ </dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
- </dependency>
+ </dependency>
+ <dependency>
+ <groupId>io.micrometer</groupId>
+ <artifactId>micrometer-registry-prometheus</artifactId>
+ </dependency>
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
+ <version>${spring-kafka.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka-test</artifactId>
+ <version>${spring-kafka.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
- <version>2.11.0</version>
+ <version>${commons-io.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
</dependency>
<!-- Test dependencies -->
- <dependency>
- <groupId>org.hamcrest</groupId>
- <artifactId>hamcrest-all</artifactId>
- <version>${hamcrest-all.version}</version>
- <scope>test</scope>
- </dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
*/
package org.onap.aai.modelloader.actuator;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.autoconfigure.web.reactive.AutoConfigureWebTestClient;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.context.SpringBootTest.WebEnvironment;
-import org.springframework.boot.test.web.server.LocalServerPort;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-import org.springframework.web.client.RestTemplate;
+import org.springframework.test.context.TestPropertySource;
+import org.springframework.test.web.reactive.server.WebTestClient;
+@AutoConfigureWebTestClient
+@TestPropertySource(properties = {
+ "management.endpoints.web.exposure.include=prometheus,metrics,info,health"
+})
@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
public class ActuatorTest {
-
- @Autowired RestTemplate restTemplate;
- @LocalServerPort
- private int serverPort;
+
+ @Autowired
+ private WebTestClient webTestClient;
@Test
public void thatLivenessEndpointReturnsOk() {
- String url = String.format("http://localhost:%s/actuator/health", serverPort);
- ResponseEntity<String> entity = restTemplate.getForEntity(url, String.class);
- assertEquals(entity.getStatusCode(), HttpStatus.OK);
- assertEquals(entity.getBody(), "{\"status\":\"UP\"}");
+ webTestClient.get().uri("/actuator/health")
+ .exchange()
+ .expectStatus().isOk()
+ .expectBody()
+ .jsonPath("$.status")
+ .isEqualTo("UP");
}
+
+ // @Test
+ // public void testPrometheusEndpoint() {
+ // webTestClient.get().uri("/actuator/prometheus")
+ // .exchange()
+ // .expectStatus().isOk()
+ // .expectHeader().contentType("text/plain; charset=utf-8")
+ // .expectBody(String.class)
+ // .consumeWith(response -> {
+ // String responseBody = response.getResponseBody();
+ // assert responseBody != null;
+ // assert responseBody.contains("# HELP");
+ // assert responseBody.contains("# TYPE");
+ // });
+ // }
}