9a043ba331dc238ed3bf94d3366f4dab0e34f884
[so/adapters/so-cnf-adapter.git] /
1 package org.onap.so.adapters.cnf.service.healthcheck;
2
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;
10
11 import java.util.ArrayList;
12 import java.util.Collections;
13 import java.util.UUID;
14
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;
28
29 class HealthCheckServiceTest {
30
31     @InjectMocks
32     HealthCheckService healthCheckService;
33
34     @Mock
35     MulticloudClient multicloudClient;
36
37     @BeforeEach
38     void setUp() {
39         MockitoAnnotations.initMocks(this);
40     }
41
42     @Test
43     void healthCheckTest() {
44         try {
45             doReturn(getK8sRbInstanceHealthCheckSimple()).when(multicloudClient).startInstanceHealthCheck(any());
46             doReturn(getK8sRbInstanceHealthCheck()).when(multicloudClient).getInstanceHealthCheck(any(),any());
47             HealthCheckResponse response = healthCheckService.healthCheck(getTestCheckInstanceRequest());
48
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) {
53             e.printStackTrace();
54         }
55     }
56
57     private CheckInstanceRequest getTestCheckInstanceRequest(){
58         CheckInstanceRequest checkInstanceRequest=new CheckInstanceRequest() ;
59         checkInstanceRequest.setInstances(asList(getRandomInstance(),getRandomInstance(),getRandomInstance()));
60         return checkInstanceRequest;
61     }
62
63     private InstanceRequest getRandomInstance(){
64         InstanceRequest instanceRequest=new InstanceRequest();
65         instanceRequest.setInstanceId(UUID.randomUUID().toString());
66         return instanceRequest;
67     }
68
69     private K8sRbInstanceHealthCheckSimple getK8sRbInstanceHealthCheckSimple(){
70         K8sRbInstanceHealthCheckSimple k8sRbInstanceHealthCheckSimple=new K8sRbInstanceHealthCheckSimple();
71         k8sRbInstanceHealthCheckSimple.setId(UUID.randomUUID().toString());
72         k8sRbInstanceHealthCheckSimple.setStatus("RUNNING");
73         return k8sRbInstanceHealthCheckSimple;
74     }
75
76     private K8sRbInstanceHealthCheck getK8sRbInstanceHealthCheck(){
77         K8sRbInstanceHealthCheck k8sRbInstanceHealthCheck=new K8sRbInstanceHealthCheck();
78         k8sRbInstanceHealthCheck.setStatus("STOPPED");
79         return k8sRbInstanceHealthCheck;
80     }
81 }