1 package org.onap.so.adapters.cnf.service.healthcheck;
3 import com.github.tomakehurst.wiremock.junit.WireMockRule;
5 import org.junit.jupiter.api.Test;
6 import org.junit.runner.RunWith;
7 import org.mockito.InjectMocks;
8 import org.mockito.Mock;
9 import org.mockito.junit.MockitoJUnitRunner;
10 import org.onap.so.adapters.cnf.client.MulticloudClient;
11 import org.onap.so.adapters.cnf.model.CheckInstanceRequest;
12 import org.onap.so.adapters.cnf.model.InstanceRequest;
13 import org.onap.so.adapters.cnf.model.healthcheck.HealthCheckResponse;
14 import org.onap.so.adapters.cnf.model.healthcheck.K8sRbInstanceHealthCheck;
15 import org.onap.so.adapters.cnf.model.healthcheck.K8sRbInstanceHealthCheckSimple;
16 import org.springframework.boot.test.context.SpringBootTest;
18 import java.util.UUID;
20 import static java.util.Arrays.asList;
21 import static org.assertj.core.api.Assertions.assertThat;
22 import static org.mockito.ArgumentMatchers.any;
23 import static org.mockito.Mockito.doReturn;
24 import static org.mockito.Mockito.times;
25 import static org.mockito.Mockito.verify;
28 @RunWith(MockitoJUnitRunner.class)
29 class HealthCheckServiceTest {
30 private final int portNumber = 8443;
32 public WireMockRule wireMockRule = new WireMockRule(portNumber);
35 private HealthCheckService healthCheckService;
38 private MulticloudClient multicloudClient;
41 public void healthCheckTest() {
43 doReturn(getK8sRbInstanceHealthCheckSimple()).when(multicloudClient).startInstanceHealthCheck(any());
44 doReturn(getK8sRbInstanceHealthCheck()).when(multicloudClient).getInstanceHealthCheck(any(), any());
45 HealthCheckResponse response = healthCheckService.healthCheck(getTestCheckInstanceRequest());
47 verify(multicloudClient, times(3)).startInstanceHealthCheck(any());
48 verify(multicloudClient, times(3)).getInstanceHealthCheck(any(), any());
49 assertThat(response.getInstanceResponse()).hasSize(getTestCheckInstanceRequest().getInstances().size());
50 } catch (Exception e) {
55 private CheckInstanceRequest getTestCheckInstanceRequest() {
56 CheckInstanceRequest checkInstanceRequest = new CheckInstanceRequest();
57 checkInstanceRequest.setInstances(asList(getRandomInstance(), getRandomInstance(), getRandomInstance()));
58 return checkInstanceRequest;
61 private InstanceRequest getRandomInstance() {
62 InstanceRequest instanceRequest = new InstanceRequest();
63 instanceRequest.setInstanceId(UUID.randomUUID().toString());
64 return instanceRequest;
67 private K8sRbInstanceHealthCheckSimple getK8sRbInstanceHealthCheckSimple() {
68 K8sRbInstanceHealthCheckSimple k8sRbInstanceHealthCheckSimple = new K8sRbInstanceHealthCheckSimple();
69 k8sRbInstanceHealthCheckSimple.setId(UUID.randomUUID().toString());
70 k8sRbInstanceHealthCheckSimple.setStatus("RUNNING");
71 return k8sRbInstanceHealthCheckSimple;
74 private K8sRbInstanceHealthCheck getK8sRbInstanceHealthCheck() {
75 K8sRbInstanceHealthCheck k8sRbInstanceHealthCheck = new K8sRbInstanceHealthCheck();
76 k8sRbInstanceHealthCheck.setStatus("STOPPED");
77 return k8sRbInstanceHealthCheck;