diff options
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.java | 242 |
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 |