summaryrefslogtreecommitdiffstats
path: root/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ComponentServletTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ComponentServletTest.java')
-rw-r--r--catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ComponentServletTest.java242
1 files changed, 103 insertions, 139 deletions
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ComponentServletTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ComponentServletTest.java
index 7159f2e035..a074af2f21 100644
--- a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ComponentServletTest.java
+++ b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ComponentServletTest.java
@@ -1,143 +1,107 @@
package org.openecomp.sdc.be.servlets;
-import java.util.List;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.core.Response;
-
+import fj.data.Either;
+import org.glassfish.jersey.server.ResourceConfig;
+import org.json.JSONArray;
+import org.json.JSONObject;
+import org.junit.Before;
import org.junit.Test;
-
-public class ComponentServletTest {
-
- private ComponentServlet createTestSubject() {
- return new ComponentServlet();
- }
-
-
- @Test
- public void testConformanceLevelValidation() throws Exception {
- ComponentServlet testSubject;
- String componentType = "";
- String componentUuid = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testGetRequirementAndCapabilities() throws Exception {
- ComponentServlet testSubject;
- String componentType = "";
- String componentId = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testGetLatestVersionNotAbstractCheckoutComponents() throws Exception {
- ComponentServlet testSubject;
- String componentType = "";
- HttpServletRequest request = null;
- String internalComponentType = "";
- List<String> componentUids = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testGetLatestVersionNotAbstractCheckoutComponentsByBody() throws Exception {
- ComponentServlet testSubject;
- String componentType = "";
- HttpServletRequest request = null;
- String internalComponentType = "";
- String userId = "";
- List<String> data = null;
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testGetLatestVersionNotAbstractCheckoutComponentsIdesOnly() throws Exception {
- ComponentServlet testSubject;
- String componentType = "";
- HttpServletRequest request = null;
- String internalComponentType = "";
- String userId = "";
- String data = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testGetComponentInstancesFilteredByPropertiesAndInputs() throws Exception {
- ComponentServlet testSubject;
- String componentType = "";
- String componentId = "";
- HttpServletRequest request = null;
- String searchText = "";
- String userId = "";
- String data = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testGetComponentDataFilteredByParams() throws Exception {
- ComponentServlet testSubject;
- String componentType = "";
- String componentId = "";
- List<String> dataParamsToReturn = null;
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testGetFilteredComponentInstanceProperties() throws Exception {
- ComponentServlet testSubject;
- String componentType = "";
- String componentId = "";
- String propertyNameFragment = "";
- List<String> resourceTypes = null;
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
+import org.openecomp.sdc.be.components.impl.ComponentBusinessLogicProvider;
+import org.openecomp.sdc.be.components.impl.ResourceBusinessLogic;
+import org.openecomp.sdc.be.components.utils.PolicyDefinitionBuilder;
+import org.openecomp.sdc.be.model.PolicyDefinition;
+import org.openecomp.sdc.be.model.User;
+import org.openecomp.sdc.be.ui.model.UiComponentDataTransfer;
+import org.openecomp.sdc.common.api.Constants;
+
+import javax.ws.rs.client.Invocation;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+import java.util.Collections;
+
+import static java.util.Arrays.asList;
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+public class ComponentServletTest extends JerseySpringBaseTest{
+
+ private static final String USER_ID = "userId";
+ private static final String RESOURCE_ID = "resourceId";
+ private ResourceBusinessLogic resourceBusinessLogic;
+ private PolicyDefinition policy1, policy2;
+
+ @Override
+ @Before
+ public void setUp() throws Exception {
+ super.setUp();
+ policy1 = buildPolicy("p1");
+ policy2 = buildPolicy("p2");
+ }
+
+ @Override
+ protected ResourceConfig configure() {
+ resourceBusinessLogic = mock(ResourceBusinessLogic.class);
+ ComponentServlet componentServlet = new ComponentServlet(new ComponentBusinessLogicProvider(resourceBusinessLogic, null, null));
+ return super.configure().register(componentServlet);
+ }
+
+ @Test
+ public void filterDataByParam_getPolicies_returnOnlyNameTargetsAndIdFields() {
+ UiComponentDataTransfer dataTransfer = buildDataTransferWithPolicies();
+ when(resourceBusinessLogic.getComponentDataFilteredByParams(eq(RESOURCE_ID.toLowerCase()), any(User.class), eq(Collections.singletonList("policies")))).thenReturn(Either.left(dataTransfer));
+ UiComponentDataTransfer uiComponentDataTransfer = buildGetPolicyTypesCall().get(UiComponentDataTransfer.class);
+ assertThat(uiComponentDataTransfer.getPolicies())
+ .usingElementComparatorOnFields("name", "uniqueId", "targets")
+ .containsExactlyInAnyOrder(policy1, policy2)
+ .extracting("properties")//properties is not returned in the response
+ .containsExactly(null, null);
+ }
+
+ @Test
+ public void filterDataByParam_getPolicies_policyTypeNameFieldShouldReturnAsType() {
+ UiComponentDataTransfer dataTransfer = buildDataTransferWithPolicies();
+ when(resourceBusinessLogic.getComponentDataFilteredByParams(eq(RESOURCE_ID.toLowerCase()), any(User.class), eq(Collections.singletonList("policies")))).thenReturn(Either.left(dataTransfer));
+ Response uiComponentDataTransfer = buildGetPolicyTypesCall().get();
+ verifyPolicyTypeFieldUsingJsonResponse(uiComponentDataTransfer);
+ }
+
+ private void verifyPolicyTypeFieldUsingJsonResponse(Response uiComponentDataTransfer) {
+ JSONObject json = new JSONObject(uiComponentDataTransfer.readEntity(String.class));
+ JSONArray policies = json.getJSONArray("policies");
+ for (int i = 0; i < policies.length(); i++) {
+ JSONObject policy = policies.getJSONObject(i);
+ String policyId = policy.get("uniqueId").toString();
+ assertThat(policy.get("type")).isEqualTo("type" + policyId);
+ }
+ }
+
+ private UiComponentDataTransfer buildDataTransferWithPolicies() {
+ UiComponentDataTransfer res = new UiComponentDataTransfer();
+ res.setPolicies(asList(policy1, policy2));
+ return res;
+ }
+
+ private PolicyDefinition buildPolicy(String id) {
+ return PolicyDefinitionBuilder.create()
+ .setUniqueId(id)
+ .setName("name" + id)
+ .setType("type" + id)
+ .addGroupTarget("group1")
+ .addGroupTarget("group2")
+ .addComponentInstanceTarget("inst1")
+ .addComponentInstanceTarget("inst2")
+ .addProperty("prop1")
+ .build();
+ }
+
+ private Invocation.Builder buildGetPolicyTypesCall() {
+ return target("/v1/catalog/resources/{id}/filteredDataByParams")
+ .queryParam("include", "policies")
+ .resolveTemplate("id", RESOURCE_ID)
+ .request(MediaType.APPLICATION_JSON)
+ .header(Constants.USER_ID_HEADER, USER_ID);
+ }
} \ No newline at end of file