1 package org.onap.so.adapters.cnf.service.healthcheck;
3 import static java.util.Arrays.asList;
4 import static org.assertj.core.api.Assertions.assertThat;
5 import static org.junit.jupiter.api.Assertions.*;
6 import static org.mockito.ArgumentMatchers.any;
7 import static org.mockito.Mockito.doReturn;
8 import static org.mockito.Mockito.times;
9 import static org.mockito.Mockito.verify;
11 import java.util.ArrayList;
12 import java.util.Collections;
13 import java.util.UUID;
15 import org.junit.jupiter.api.BeforeEach;
16 import org.junit.jupiter.api.Test;
17 import org.mockito.InjectMocks;
18 import org.mockito.Mock;
19 import org.mockito.Mockito;
20 import org.mockito.MockitoAnnotations;
21 import org.onap.so.adapters.cnf.client.MulticloudClient;
22 import org.onap.so.adapters.cnf.model.CheckInstanceRequest;
23 import org.onap.so.adapters.cnf.model.InstanceRequest;
24 import org.onap.so.adapters.cnf.model.healthcheck.HealthCheckResponse;
25 import org.onap.so.adapters.cnf.model.healthcheck.K8sRbInstanceHealthCheck;
26 import org.onap.so.adapters.cnf.model.healthcheck.K8sRbInstanceHealthCheckSimple;
27 import org.onap.so.client.exception.BadResponseException;
29 class HealthCheckServiceTest {
32 HealthCheckService healthCheckService;
35 MulticloudClient multicloudClient;
39 MockitoAnnotations.initMocks(this);
43 void healthCheckTest() {
45 doReturn(getK8sRbInstanceHealthCheckSimple()).when(multicloudClient).startInstanceHealthCheck(any());
46 doReturn(getK8sRbInstanceHealthCheck()).when(multicloudClient).getInstanceHealthCheck(any(),any());
47 HealthCheckResponse response = healthCheckService.healthCheck(getTestCheckInstanceRequest());
49 verify(multicloudClient, times(3)).startInstanceHealthCheck(any());
50 verify(multicloudClient, times(3)).getInstanceHealthCheck(any(),any());
51 assertThat(response.getInstanceResponse()).hasSize(getTestCheckInstanceRequest().getInstances().size());
52 } catch (Exception e) {
57 private CheckInstanceRequest getTestCheckInstanceRequest(){
58 CheckInstanceRequest checkInstanceRequest=new CheckInstanceRequest() ;
59 checkInstanceRequest.setInstances(asList(getRandomInstance(),getRandomInstance(),getRandomInstance()));
60 return checkInstanceRequest;
63 private InstanceRequest getRandomInstance(){
64 InstanceRequest instanceRequest=new InstanceRequest();
65 instanceRequest.setInstanceId(UUID.randomUUID().toString());
66 return instanceRequest;
69 private K8sRbInstanceHealthCheckSimple getK8sRbInstanceHealthCheckSimple(){
70 K8sRbInstanceHealthCheckSimple k8sRbInstanceHealthCheckSimple=new K8sRbInstanceHealthCheckSimple();
71 k8sRbInstanceHealthCheckSimple.setId(UUID.randomUUID().toString());
72 k8sRbInstanceHealthCheckSimple.setStatus("RUNNING");
73 return k8sRbInstanceHealthCheckSimple;
76 private K8sRbInstanceHealthCheck getK8sRbInstanceHealthCheck(){
77 K8sRbInstanceHealthCheck k8sRbInstanceHealthCheck=new K8sRbInstanceHealthCheck();
78 k8sRbInstanceHealthCheck.setStatus("STOPPED");
79 return k8sRbInstanceHealthCheck;