DCAE-D be initial commit
[sdc/dcae-d/dt-be-main.git] / dcaedt_tools / src / test / java / BaseTest.java
1 import json.response.ElementsResponse.Element;
2 import json.response.ItemsResponse.Item;
3 import json.response.ItemsResponse.Model;
4 import org.junit.Before;
5 import org.junit.runner.RunWith;
6 import org.mockito.Mock;
7 import org.mockito.runners.MockitoJUnitRunner;
8 import org.onap.sdc.dcae.composition.restmodels.sdc.ResourceDetailed;
9 import utilities.IDcaeRestClient;
10 import utilities.IReport;
11
12 import java.util.ArrayList;
13 import java.util.Collections;
14 import java.util.List;
15
16 import static org.mockito.Matchers.any;
17 import static org.mockito.Matchers.anyString;
18 import static org.mockito.Mockito.when;
19
20 @RunWith(MockitoJUnitRunner.class)
21 abstract class BaseTest {
22     static final String USER_ID = "userId";
23     static final String TEMPLATE_INFO_NAME = "templateInfoName";
24     static final String VFCMT_NAME1 = "my vfcmt1";
25     static final String UUID1 = "my uuid1";
26     static final String VFCMT_NAME2 = "my vfcmt2";
27     static final String UUID2 = "my uuid2";
28     static final String VFCMT_NAME3 = "my vfcmt3";
29     static final String UUID3 = "my uuid3";
30     static final String ELEMENT_NAME1 = "my element1";
31     static final String ELEMENT_NAME2 = "my element2";
32     static final String ELEMENT_NAME3 = "my element3";
33     static final String ALIAS_NAME1 = "my alias1";
34     static final String ALIAS_NAME2 = "my alias2";
35     static final String ALIAS_NAME3 = "my alias3";
36     static final String ITEM_NAME1 = "my item1";
37     static final String ITEM_NAME2 = "my item2";
38     static final String ITEM_NAME3 = "my item3";
39
40     @Mock
41     IReport report;
42     @Mock
43     IDcaeRestClient dcaeRestClient;
44
45     @Before
46     public void setup() {
47         when(dcaeRestClient.getUserId()).thenReturn(USER_ID);
48         mockGetAllVfcmt();
49         mockGetElements();
50         mockGetItems();
51         mockGetItemModel();
52         mockGetItemType();
53         mockCheckoutVfcmtAndCreateResource();
54         when(dcaeRestClient.saveComposition(anyString(), anyString())).thenReturn("Composition Created");
55     }
56
57     private void mockCheckoutVfcmtAndCreateResource() {
58         ResourceDetailed resourceDetailed = new ResourceDetailed();
59         resourceDetailed.setName(VFCMT_NAME1);
60         resourceDetailed.setUuid(UUID1);
61         resourceDetailed.setLifecycleState("NOT_CERTIFIED_CHECKOUT");
62         resourceDetailed.setLastUpdaterUserId(USER_ID);
63         when(dcaeRestClient.checkoutVfcmt(anyString())).thenReturn(resourceDetailed);
64         when(dcaeRestClient.createResource(any())).thenReturn(resourceDetailed);
65     }
66
67     private void mockGetItemType() {
68         when(dcaeRestClient.getItemType(anyString(), anyString())).thenReturn("{\"data\":{\"type\":{\"itemId\":\"e45ec9d7-01df-4cb1-896f-aff2a6ca5a8b/tosca.dcae.nodes.cdapApp.Map\", \"typeinfo\":\"typeInfo\"}}}");
69     }
70
71     private void mockGetItemModel() {
72         when(dcaeRestClient.getItemModel(anyString())).thenReturn("{\"data\":{\"model\":{\"nodes\":[{\"capability\":{\"type\":\"someType\"}, \"type\":\"type\", \"name\":\"SomeNameFromRequirement\", \"requirements\":[{\"name\":\"SomeNameFromRequirement\"}], \"properties\":[{}], \"capabilities\":[{\"name\":\"SomeNameToCapability\"}],\"type\":\"type\"}]}}}",
73                 "{\"data\":{\"model\":{\"nodes\":[{\"capability\":{\"type\":\"someType\"}, \"type\":\"type\", \"name\":\"SomeNameToCapability\", \"requirements\":[{\"name\":\"SomeNameFromRequirement\"}], \"properties\":[{}], \"capabilities\":[{\"name\":\"SomeNameToCapability\"}],\"type\":\"type\"}]}}}");
74     }
75
76     private void mockGetItems() {
77         when(dcaeRestClient.getItem(ELEMENT_NAME1)).thenReturn(null);
78         List<Item> items = new ArrayList<>();
79         Item item = new Item();
80         item.setName(ITEM_NAME1);
81         Model model =  new Model();
82         model.setItemId("");
83         List<Model> models = Collections.singletonList(model);
84         item.setModels(models);
85         items.add(item);
86         item = new Item();
87         item.setName(ITEM_NAME2);
88         item.setModels(models);
89         items.add(item);
90         when(dcaeRestClient.getItem(ELEMENT_NAME2)).thenReturn(items);
91         items = new ArrayList<>();
92         item = new Item();
93         item.setName(ITEM_NAME3);
94         item.setModels(models);
95         items.add(item);
96         when(dcaeRestClient.getItem(ELEMENT_NAME3)).thenReturn(items);
97     }
98
99     private void mockGetElements() {
100         List<Element> elements = new ArrayList<>();
101         Element element = new Element();
102         element.setName(ELEMENT_NAME1);
103         elements.add(element);
104         element = new Element();
105         element.setName(ELEMENT_NAME2);
106         elements.add(element);
107         element = new Element();
108         element.setName(ELEMENT_NAME3);
109         elements.add(element);
110         when(dcaeRestClient.getElements()).thenReturn(elements);
111     }
112
113     private void mockGetAllVfcmt() {
114         List<ResourceDetailed> resourceDetaileds = new ArrayList<>();
115         ResourceDetailed resourceDetailed = new ResourceDetailed();
116         resourceDetailed.setName(VFCMT_NAME1);
117         resourceDetailed.setUuid(UUID1);
118         resourceDetailed.setLifecycleState("NOT_CERTIFIED_CHECKOUT");
119         resourceDetailed.setLastUpdaterUserId(USER_ID);
120         resourceDetaileds.add(resourceDetailed);
121         resourceDetailed = new ResourceDetailed();
122         resourceDetailed.setName(VFCMT_NAME2);
123         resourceDetailed.setUuid(UUID2);
124         resourceDetaileds.add(resourceDetailed);
125         resourceDetailed = new ResourceDetailed();
126         resourceDetailed.setName(VFCMT_NAME3);
127         resourceDetailed.setUuid(UUID3);
128         resourceDetaileds.add(resourceDetailed);
129
130         List<ResourceDetailed> resourceDetaileds2 = new ArrayList<>();
131         resourceDetailed = new ResourceDetailed();
132         resourceDetailed.setName(VFCMT_NAME1);
133         resourceDetailed.setUuid(UUID1);
134         resourceDetailed.setLifecycleState("NOT_CERTIFIED_CHECKOUT");
135         resourceDetailed.setLastUpdaterUserId(USER_ID);
136         resourceDetaileds2.add(resourceDetailed);
137         resourceDetailed = new ResourceDetailed();
138         resourceDetailed.setName(VFCMT_NAME2);
139         resourceDetailed.setUuid(UUID2);
140         resourceDetaileds2.add(resourceDetailed);
141         resourceDetailed = new ResourceDetailed();
142         resourceDetailed.setName(VFCMT_NAME3);
143         resourceDetailed.setUuid(UUID3);
144         resourceDetaileds2.add(resourceDetailed);
145         resourceDetailed = new ResourceDetailed();
146         resourceDetailed.setName(TEMPLATE_INFO_NAME);
147         resourceDetailed.setUuid(UUID3);
148         resourceDetaileds2.add(resourceDetailed);
149         when(dcaeRestClient.getAllVfcmts()).thenReturn(resourceDetaileds, resourceDetaileds2);
150     }
151 }