Disable VnfDeleteValidator for non-alacarte requests.
[so.git] / mso-api-handlers / mso-api-handler-infra / src / test / java / org / onap / so / apihandlerinfra / infra / rest / validator / VnfDeleteValidatorTest.java
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 static org.mockito.Mockito.doReturn;
6 import java.util.HashMap;
7 import java.util.Map;
8 import java.util.Optional;
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.VnfDeleteValidator;
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 VnfDeleteValidatorTest {
25
26
27     @InjectMocks
28     @Spy
29     private VnfDeleteValidator vnfValidator;
30
31     @Mock
32     private AAIDataRetrieval aaiDataRetrieval;
33
34     private Map<String, String> instanceIdMap = new HashMap<>();
35
36     public ServiceInstancesRequest createServiceInstancesRequest(boolean alacarte) {
37         ServiceInstancesRequest sir = new ServiceInstancesRequest();
38         sir.setRequestDetails(new RequestDetails());
39         sir.getRequestDetails().setRequestParameters(new RequestParameters());
40         sir.getRequestDetails().getRequestParameters().setaLaCarte(alacarte);
41         return sir;
42     }
43
44     @Test
45     public void validateURIMatchTest() {
46         assertEquals(true, vnfValidator.shouldRunFor("v8/serviceInstances/uasdfasdf/vnfs/asdfasdf",
47                 createServiceInstancesRequest(true), Action.deleteInstance));
48     }
49
50     @Test
51     public void validateURIMatchNonAlacarteTest() {
52         assertEquals(false, vnfValidator.shouldRunFor("v8/serviceInstances/uasdfasdf/vnfs/asdfasdf",
53                 createServiceInstancesRequest(false), Action.deleteInstance));
54     }
55
56     @Test
57     public void validateURINotMatchTest() {
58         assertEquals(false, vnfValidator.shouldRunFor("v8/serviceInstances/uasdfasdf/vnfs/asdfasdf/replace",
59                 new ServiceInstancesRequest(), Action.deleteInstance));
60     }
61
62     @Test
63     public void validateURINotMatch2Test() {
64         assertEquals(false, vnfValidator.shouldRunFor("v8/serviceInstances/uasdfasdf", new ServiceInstancesRequest(),
65                 Action.deleteInstance));
66     }
67
68     @Test
69     public void validateFailureVfModuleVnfTest() {
70         instanceIdMap.put("vnfInstanceId", "1");
71         doReturn(Optional.of("test")).when(aaiDataRetrieval).getVfModuleIdsByVnfId("1");
72         Optional<String> result = vnfValidator.validate(instanceIdMap, null, null, null);
73         assertEquals(true, result.isPresent());
74     }
75
76     @Test
77     public void validateSuccessVfModuleVnfTest() {
78         instanceIdMap.put("vnfInstanceId", "1");
79         doReturn(Optional.empty()).when(aaiDataRetrieval).getVfModuleIdsByVnfId("1");
80         Optional<String> result = vnfValidator.validate(instanceIdMap, null, null, null);
81         assertEquals(false, result.isPresent());
82     }
83
84     @Test
85     public void validateFailureVolumeGroupVnfTest() {
86         instanceIdMap.put("vnfInstanceId", "1");
87         doReturn(Optional.of("test")).when(aaiDataRetrieval).getVolumeGroupIdsByVnfId("1");
88         Optional<String> result = vnfValidator.validate(instanceIdMap, null, null, null);
89         assertEquals(true, result.isPresent());
90     }
91
92     @Test
93     public void validateSuccessVolumeGroupVnfTest() {
94         instanceIdMap.put("vnfInstanceId", "1");
95         doReturn(Optional.empty()).when(aaiDataRetrieval).getVolumeGroupIdsByVnfId("1");
96         Optional<String> result = vnfValidator.validate(instanceIdMap, null, null, null);
97         assertEquals(false, result.isPresent());
98     }
99 }