[SDC] rebase 1710 code
[sdc.git] / asdc-tests / src / main / java / org / openecomp / sdc / ci / tests / execute / resource / GetLeftPaletteTest.java
1 package org.openecomp.sdc.ci.tests.execute.resource;
2
3 import org.json.simple.JSONArray;
4 import org.json.simple.JSONObject;
5 import org.json.simple.JSONValue;
6 import org.junit.rules.TestName;
7 import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
8 import org.openecomp.sdc.be.model.User;
9 import org.openecomp.sdc.ci.tests.api.ComponentBaseTest;
10 import org.openecomp.sdc.ci.tests.datatypes.ResourceReqDetails;
11 import org.openecomp.sdc.ci.tests.datatypes.enums.LifeCycleStatesEnum;
12 import org.openecomp.sdc.ci.tests.datatypes.enums.ResourceCategoryEnum;
13 import org.openecomp.sdc.ci.tests.datatypes.enums.UserRoleEnum;
14 import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse;
15 import org.openecomp.sdc.ci.tests.utils.general.ElementFactory;
16 import org.openecomp.sdc.ci.tests.utils.rest.LifecycleRestUtils;
17 import org.openecomp.sdc.ci.tests.utils.rest.ResourceRestUtils;
18 import org.openecomp.sdc.ci.tests.utils.rest.ResponseParser;
19 import org.slf4j.Logger;
20 import org.slf4j.LoggerFactory;
21 import org.testng.AssertJUnit;
22 import org.testng.annotations.BeforeClass;
23 import org.testng.annotations.AfterClass;
24 import org.testng.annotations.Test;
25
26 import java.io.IOException;
27 import java.util.Arrays;
28
29 import static org.testng.AssertJUnit.assertTrue;
30
31 /**
32  * Created by chaya on 6/15/2017.
33  */
34 public class GetLeftPaletteTest extends ComponentBaseTest {
35
36     private static Logger logger = LoggerFactory.getLogger(GetLeftPaletteTest.class.getName());
37     protected User designerDetails = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER);
38     protected ResourceReqDetails vlResourceDetails;
39     protected ResourceReqDetails cpResourceDetails;
40     protected ResourceReqDetails vfcResourceDetails;
41     protected ResourceReqDetails vfcmtResourceDetails;
42     protected ResourceReqDetails vfResourceDetails;
43
44
45     public static TestName name = new TestName();
46
47     public GetLeftPaletteTest() {
48         super(name, GetLeftPaletteTest.class.getName());
49     }
50
51     @BeforeClass
52     public void setUp() throws Exception {
53         // create VL
54         vlResourceDetails = createResource(vlResourceDetails, "vlRes", ResourceTypeEnum.VL);
55         checkInResource(vlResourceDetails);
56
57         // create CP
58         cpResourceDetails = createResource(cpResourceDetails, "cpRes", ResourceTypeEnum.CP);
59         checkInResource(cpResourceDetails);
60
61         // create VFC
62         vfcResourceDetails = createResource(vfcResourceDetails, "vfcRes", ResourceTypeEnum.VFC);
63         checkInResource(vfcResourceDetails);
64
65         // create VFCMT
66         vfcmtResourceDetails = createResource(vfcmtResourceDetails, "vfcmtRes", ResourceTypeEnum.VFCMT);
67         checkInResource(vfcmtResourceDetails);
68
69         // create VF
70         vfResourceDetails = createResource(vfResourceDetails, "vfRes", ResourceTypeEnum.VF);
71         checkInResource(vfResourceDetails);
72     }
73
74
75
76     @Test
77     public void testGetLeftPaletteForPNF() throws IOException {
78
79         RestResponse getResourceLatestVersionResponse = ResourceRestUtils.getResourceLatestVersionListMetadata(designerDetails, "PNF");
80         assertTrue("response code is not 200, returned :" + getResourceLatestVersionResponse.getErrorCode(),
81                 getResourceLatestVersionResponse.getErrorCode() == 200);
82
83         String json = getResourceLatestVersionResponse.getResponse();
84         JSONArray jsonResp = (JSONArray) JSONValue.parse(json);
85
86         AssertJUnit.assertTrue("check vlResource is in response",
87                 isComponentInArray(vlResourceDetails.getUniqueId(), jsonResp));
88
89         AssertJUnit.assertTrue("check cpResource is in response",
90                 isComponentInArray(cpResourceDetails.getUniqueId(), jsonResp));
91
92         AssertJUnit.assertFalse("check vfcResource is not in response",
93                 isComponentInArray(vfcResourceDetails.getUniqueId(), jsonResp));
94
95         AssertJUnit.assertFalse("check vfResource is not in response",
96                 isComponentInArray(vfResourceDetails.getUniqueId(), jsonResp));
97
98         AssertJUnit.assertFalse("check vfcmtResource is not in response",
99                 isComponentInArray(vfcmtResourceDetails.getUniqueId(), jsonResp));
100
101     }
102
103     @Test
104     public void testGetLeftPaletteForVF() throws IOException {
105
106         RestResponse getResourceLatestVersionResponse = ResourceRestUtils.getResourceLatestVersionListMetadata(designerDetails, "VF");
107         assertTrue("response code is not 200, returned :" + getResourceLatestVersionResponse.getErrorCode(),
108                 getResourceLatestVersionResponse.getErrorCode() == 200);
109
110         String json = getResourceLatestVersionResponse.getResponse();
111         JSONArray jsonResp = (JSONArray) JSONValue.parse(json);
112
113         AssertJUnit.assertTrue("check vlResource is in response",
114                 isComponentInArray(vlResourceDetails.getUniqueId(), jsonResp));
115
116         AssertJUnit.assertTrue("check cpResource is in response",
117                 isComponentInArray(cpResourceDetails.getUniqueId(), jsonResp));
118
119         AssertJUnit.assertTrue("check vfcResource is not in response",
120                 isComponentInArray(vfcResourceDetails.getUniqueId(), jsonResp));
121
122         AssertJUnit.assertFalse("check vfResource is not in response",
123                 isComponentInArray(vfResourceDetails.getUniqueId(), jsonResp));
124
125         AssertJUnit.assertFalse("check vfcmtResource is not in response",
126                 isComponentInArray(vfcmtResourceDetails.getUniqueId(), jsonResp));
127
128     }
129
130     @Test
131     public void testGetLeftPaletteForService() throws IOException {
132
133         RestResponse getResourceLatestVersionResponse = ResourceRestUtils.getResourceLatestVersionListMetadata(designerDetails, "SERVICE");
134         assertTrue("response code is not 200, returned :" + getResourceLatestVersionResponse.getErrorCode(),
135                 getResourceLatestVersionResponse.getErrorCode() == 200);
136
137         String json = getResourceLatestVersionResponse.getResponse();
138         JSONArray jsonResp = (JSONArray) JSONValue.parse(json);
139
140         AssertJUnit.assertTrue("check vlResource is in response",
141                 isComponentInArray(vlResourceDetails.getUniqueId(), jsonResp));
142
143         AssertJUnit.assertTrue("check cpResource is in response",
144                 isComponentInArray(cpResourceDetails.getUniqueId(), jsonResp));
145
146         AssertJUnit.assertFalse("check vfcResource is not in response",
147                 isComponentInArray(vfcResourceDetails.getUniqueId(), jsonResp));
148
149         AssertJUnit.assertTrue("check vfResource is not in response",
150                 isComponentInArray(vfResourceDetails.getUniqueId(), jsonResp));
151
152         AssertJUnit.assertFalse("check vfcmtResource is not in response",
153                 isComponentInArray(vfcmtResourceDetails.getUniqueId(), jsonResp));
154
155     }
156
157     private ResourceReqDetails createResource(ResourceReqDetails resDetails, String name, ResourceTypeEnum resType) throws Exception {
158         resDetails = new ResourceReqDetails(name, "desc",Arrays.asList(name), "Generic", Arrays.asList("tosca.nodes.Root"), "c", "1", "111", "myIcon", resType.name());
159         resDetails.addCategoryChain(ResourceCategoryEnum.GENERIC_NETWORK_ELEMENTS.getCategory(),
160                 ResourceCategoryEnum.GENERIC_NETWORK_ELEMENTS.getSubCategory());
161         RestResponse response = ResourceRestUtils.createResource(resDetails, designerDetails);
162         assertTrue("response code is not 200, returned :" + response.getErrorCode(),
163                 response.getErrorCode() == 201);
164         resDetails.setUniqueId(ResponseParser.getUniqueIdFromResponse(response));
165         return resDetails;
166     }
167
168     private void checkInResource(ResourceReqDetails resDetails) throws IOException {
169         RestResponse checkInResponse = LifecycleRestUtils.changeResourceState(resDetails, designerDetails, "0.1",
170                 LifeCycleStatesEnum.CHECKIN);
171         AssertJUnit.assertEquals("check in operation failed", 200, checkInResponse.getErrorCode().intValue());
172
173     }
174
175     protected boolean isComponentInArray(String id, JSONArray component) {
176         for (int i = 0; i < component.size(); i++) {
177             JSONObject jobject = (JSONObject) component.get(i);
178             if (jobject.get("uniqueId").toString().equals(id.toLowerCase())) {
179                 return true;
180             }
181         }
182         return false;
183     }
184
185     @AfterClass
186     public void tearDown() throws IOException {
187         ResourceRestUtils.deleteResource(vlResourceDetails.getUniqueId(), designerDetails.getUserId());
188         ResourceRestUtils.deleteResource(cpResourceDetails.getUniqueId(), designerDetails.getUserId());
189         ResourceRestUtils.deleteResource(vfcResourceDetails.getUniqueId(), designerDetails.getUserId());
190         ResourceRestUtils.deleteResource(vfcmtResourceDetails.getUniqueId(), designerDetails.getUserId());
191         ResourceRestUtils.deleteResource(vfResourceDetails.getUniqueId(), designerDetails.getUserId());
192     }
193 }