1 package org.onap.so.adapters.cnf.service.healthcheck;
3 import com.github.tomakehurst.wiremock.junit.WireMockRule;
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;
17 import org.springframework.test.context.junit4.SpringRunner;
19 import java.util.UUID;
21 import static java.util.Arrays.asList;
22 import static org.assertj.core.api.Assertions.assertThat;
23 import static org.mockito.ArgumentMatchers.any;
24 import static org.mockito.Mockito.doReturn;
25 import static org.mockito.Mockito.times;
26 import static org.mockito.Mockito.verify;
29 @RunWith(SpringRunner.class)
30 public class HealthCheckServiceTest {
31 private final int portNumber = 8443;
33 public WireMockRule wireMockRule = new WireMockRule(portNumber);
36 private HealthCheckService healthCheckService;
39 private MulticloudClient multicloudClient;
42 public void healthCheckTest() {
44 doReturn(getK8sRbInstanceHealthCheckSimple()).when(multicloudClient).startInstanceHealthCheck(any());
45 doReturn(getK8sRbInstanceHealthCheck()).when(multicloudClient).getInstanceHealthCheck(any(), any());
46 HealthCheckResponse response = healthCheckService.healthCheck(getTestCheckInstanceRequest());
48 verify(multicloudClient, times(3)).startInstanceHealthCheck(any());
49 verify(multicloudClient, times(3)).getInstanceHealthCheck(any(), any());
50 assertThat(response.getInstanceResponse()).hasSize(getTestCheckInstanceRequest().getInstances().size());
51 } catch (Exception e) {
56 private CheckInstanceRequest getTestCheckInstanceRequest() {
57 CheckInstanceRequest checkInstanceRequest = new CheckInstanceRequest();
58 checkInstanceRequest.setInstances(asList(getRandomInstance(), getRandomInstance(), getRandomInstance()));
59 return checkInstanceRequest;
62 private InstanceRequest getRandomInstance() {
63 InstanceRequest instanceRequest = new InstanceRequest();
64 instanceRequest.setInstanceId(UUID.randomUUID().toString());
65 return instanceRequest;
68 private K8sRbInstanceHealthCheckSimple getK8sRbInstanceHealthCheckSimple() {
69 K8sRbInstanceHealthCheckSimple k8sRbInstanceHealthCheckSimple = new K8sRbInstanceHealthCheckSimple();
70 k8sRbInstanceHealthCheckSimple.setId(UUID.randomUUID().toString());
71 k8sRbInstanceHealthCheckSimple.setStatus("RUNNING");
72 return k8sRbInstanceHealthCheckSimple;
75 private K8sRbInstanceHealthCheck getK8sRbInstanceHealthCheck() {
76 K8sRbInstanceHealthCheck k8sRbInstanceHealthCheck = new K8sRbInstanceHealthCheck();
77 k8sRbInstanceHealthCheck.setStatus("STOPPED");
78 return k8sRbInstanceHealthCheck;