f461df3720fe4ba48df125b8d67a62cbb97d5ca9
[so.git] /
1 package org.onap.so.apihandlerinfra.infra.rest.validator;
2
3 import static org.junit.Assert.assertEquals;
4 import static org.mockito.Mockito.when;
5 import java.util.HashMap;
6 import java.util.Map;
7 import java.util.Optional;
8 import org.junit.Before;
9 import org.junit.Test;
10 import org.junit.runner.RunWith;
11 import org.mockito.InjectMocks;
12 import org.mockito.Mock;
13 import org.mockito.Spy;
14 import org.mockito.junit.MockitoJUnitRunner;
15 import org.onap.so.apihandlerinfra.Action;
16 import org.onap.so.apihandlerinfra.infra.rest.AAIDataRetrieval;
17 import org.onap.so.apihandlerinfra.infra.rest.validators.ServiceInstanceDeleteValidator;
18 import org.onap.so.serviceinstancebeans.RequestDetails;
19 import org.onap.so.serviceinstancebeans.RequestParameters;
20 import org.onap.so.serviceinstancebeans.ServiceInstancesRequest;
21
22
23 @RunWith(MockitoJUnitRunner.class)
24 public class ServiceInstanceDeleteValidatorTest {
25
26
27     @InjectMocks
28     @Spy
29     private ServiceInstanceDeleteValidator serviceValidator;
30
31     @Mock
32     private AAIDataRetrieval aaiDataRetrieval;
33
34     private Map<String, String> instanceIdMap = new HashMap<>();
35
36     private ServiceInstancesRequest serviceInstancesRequest;
37
38     @Before
39     public void before() {
40         serviceInstancesRequest = new ServiceInstancesRequest();
41         RequestDetails requestDetails = new RequestDetails();
42         RequestParameters requestParameters = new RequestParameters();
43         requestParameters.setaLaCarte(true);
44         requestDetails.setRequestParameters(requestParameters);
45         serviceInstancesRequest.setRequestDetails(requestDetails);
46     }
47
48     @Test
49     public void validateURIMatchTest() {
50         assertEquals(true, serviceValidator.shouldRunFor("v8/serviceInstances/uasdfasdf", serviceInstancesRequest,
51                 Action.deleteInstance));
52     }
53
54     @Test
55     public void validateURINotMatchTest() {
56         assertEquals(false, serviceValidator.shouldRunFor("v8/serviceInstances/uasdfasdf/vnfs/asdfasdf",
57                 serviceInstancesRequest, Action.deleteInstance));
58     }
59
60     @Test
61     public void validateURINotMatch2Test() {
62         assertEquals(false, serviceValidator.shouldRunFor("v8/serviceInstances/uasdfasdf/update",
63                 serviceInstancesRequest, Action.deleteInstance));
64     }
65
66     @Test
67     public void validateNotALaCarteTest() {
68         serviceInstancesRequest.getRequestDetails().getRequestParameters().setaLaCarte(false);
69         assertEquals(false, serviceValidator.shouldRunFor("v8/serviceInstances/uasdfasdf", serviceInstancesRequest,
70                 Action.deleteInstance));
71     }
72
73     @Test
74     public void validateSuccessTest() {
75         instanceIdMap.put("serviceInstanceId", "1");
76         when(aaiDataRetrieval.isServiceRelatedToGenericVnf("1")).thenReturn(false);
77         when(aaiDataRetrieval.isServiceRelatedToNetworks("1")).thenReturn(false);
78         when(aaiDataRetrieval.isServiceRelatedToConfiguration("1")).thenReturn(false);
79         Optional<String> result = serviceValidator.validate(instanceIdMap, null, null);
80         assertEquals(false, result.isPresent());
81     }
82
83     @Test
84     public void validateFailureVnfTest() {
85         instanceIdMap.put("serviceInstanceId", "1");
86         when(aaiDataRetrieval.isServiceRelatedToGenericVnf("1")).thenReturn(true);
87         Optional<String> result = serviceValidator.validate(instanceIdMap, null, null);
88         assertEquals(true, result.isPresent());
89     }
90
91     @Test
92     public void validateFailureNetworksTest() {
93         instanceIdMap.put("serviceInstanceId", "1");
94         when(aaiDataRetrieval.isServiceRelatedToGenericVnf("1")).thenReturn(false);
95         when(aaiDataRetrieval.isServiceRelatedToNetworks("1")).thenReturn(true);
96         Optional<String> result = serviceValidator.validate(instanceIdMap, null, null);
97         assertEquals(true, result.isPresent());
98     }
99
100     @Test
101     public void validateFailureConfigurationTest() {
102         instanceIdMap.put("serviceInstanceId", "1");
103         when(aaiDataRetrieval.isServiceRelatedToGenericVnf("1")).thenReturn(false);
104         when(aaiDataRetrieval.isServiceRelatedToNetworks("1")).thenReturn(false);
105         when(aaiDataRetrieval.isServiceRelatedToConfiguration("1")).thenReturn(true);
106         Optional<String> result = serviceValidator.validate(instanceIdMap, null, null);
107         assertEquals(true, result.isPresent());
108     }
109
110 }