diff options
Diffstat (limited to 'catalog-be/src/test/java/org/openecomp/sdc/be/servlets/TypesUploadServletTest.java')
-rw-r--r-- | catalog-be/src/test/java/org/openecomp/sdc/be/servlets/TypesUploadServletTest.java | 292 |
1 files changed, 103 insertions, 189 deletions
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/TypesUploadServletTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/TypesUploadServletTest.java index 37a493de37..690f7427a8 100644 --- a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/TypesUploadServletTest.java +++ b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/TypesUploadServletTest.java @@ -20,22 +20,8 @@ package org.openecomp.sdc.be.servlets; -import static org.junit.Assert.assertTrue; -import static org.mockito.Mockito.when; - -import java.io.File; -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.ServletContext; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpSession; -import javax.ws.rs.client.Entity; -import javax.ws.rs.core.Application; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; - -import org.glassfish.grizzly.http.util.HttpStatus; +import fj.data.Either; +import org.eclipse.jetty.http.HttpStatus; import org.glassfish.hk2.utilities.binding.AbstractBinder; import org.glassfish.jersey.client.ClientConfig; import org.glassfish.jersey.media.multipart.FormDataMultiPart; @@ -49,6 +35,7 @@ import org.junit.Test; import org.mockito.Mockito; import org.openecomp.sdc.be.components.impl.CapabilityTypeImportManager; import org.openecomp.sdc.be.config.ConfigurationManager; +import org.openecomp.sdc.be.config.SpringConfig; import org.openecomp.sdc.be.dao.api.ActionStatus; import org.openecomp.sdc.be.impl.ComponentsUtils; import org.openecomp.sdc.be.impl.ServletUtils; @@ -62,182 +49,109 @@ import org.openecomp.sdc.common.api.Constants; import org.openecomp.sdc.common.impl.ExternalConfiguration; import org.openecomp.sdc.common.impl.FSConfigurationSource; import org.openecomp.sdc.exception.ResponseFormat; +import org.springframework.context.ApplicationContext; +import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.web.context.WebApplicationContext; -import fj.data.Either; +import javax.servlet.ServletContext; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpSession; +import javax.ws.rs.client.Entity; +import javax.ws.rs.core.MediaType; +import javax.ws.rs.core.Response; +import java.io.File; +import java.util.ArrayList; +import java.util.List; + +import static org.junit.Assert.assertTrue; +import static org.mockito.Mockito.when; public class TypesUploadServletTest extends JerseyTest { - public static final HttpServletRequest request = Mockito.mock(HttpServletRequest.class); - public static final HttpSession session = Mockito.mock(HttpSession.class); - public static final ServletContext servletContext = Mockito.mock(ServletContext.class); - public static final WebAppContextWrapper webAppContextWrapper = Mockito.mock(WebAppContextWrapper.class); - public static final WebApplicationContext webApplicationContext = Mockito.mock(WebApplicationContext.class); - public static final CapabilityTypeImportManager importManager = Mockito.mock(CapabilityTypeImportManager.class); - public static final ServletUtils servletUtils = Mockito.mock(ServletUtils.class); - public static final UserBusinessLogic userAdmin = Mockito.mock(UserBusinessLogic.class); - public static final ComponentsUtils componentUtils = Mockito.mock(ComponentsUtils.class); - public static final ResponseFormat responseFormat = Mockito.mock(ResponseFormat.class); - - @BeforeClass - public static void setup() { - ExternalConfiguration.setAppName("catalog-be"); - when(servletContext.getAttribute(Constants.WEB_APPLICATION_CONTEXT_WRAPPER_ATTR)) - .thenReturn(webAppContextWrapper); - when(webAppContextWrapper.getWebAppContext(servletContext)).thenReturn(webApplicationContext); - when(webApplicationContext.getBean(CapabilityTypeImportManager.class)).thenReturn(importManager); - when(webApplicationContext.getBean(ServletUtils.class)).thenReturn(servletUtils); - when(servletUtils.getComponentsUtils()).thenReturn(componentUtils); - when(servletUtils.getUserAdmin()).thenReturn(userAdmin); - String userId = "jh0003"; - User user = new User(); - user.setUserId(userId); - user.setRole(Role.ADMIN.name()); - Either<User, ActionStatus> eitherUser = Either.left(user); - when(userAdmin.getUser(userId, false)).thenReturn(eitherUser); - when(request.getHeader(Constants.USER_ID_HEADER)).thenReturn(userId); - when(responseFormat.getStatus()).thenReturn(HttpStatus.CREATED_201.getStatusCode()); - when(componentUtils.getResponseFormat(ActionStatus.CREATED)).thenReturn(responseFormat); - - } - - @Test - public void creatingCapabilityTypeSuccessTest() { - List<CapabilityTypeDefinition> emptyList = new ArrayList<CapabilityTypeDefinition>(); - Either<List<CapabilityTypeDefinition>, ResponseFormat> either = Either.left(emptyList); - when(importManager.createCapabilityTypes(Mockito.anyString())).thenReturn(either); - FileDataBodyPart filePart = new FileDataBodyPart("capabilityTypeZip", - new File("src/test/resources/types/capabilityTypes.zip")); - MultiPart multipartEntity = new FormDataMultiPart(); - multipartEntity.bodyPart(filePart); - - Response response = target().path("/v1/catalog/uploadType/capability").request(MediaType.APPLICATION_JSON) - .post(Entity.entity(multipartEntity, MediaType.MULTIPART_FORM_DATA), Response.class); - - assertTrue(response.getStatus() == HttpStatus.CREATED_201.getStatusCode()); - - } - - @Override - protected void configureClient(ClientConfig config) { - config.register(MultiPartFeature.class); - } - - @Override - protected Application configure() { - ResourceConfig resourceConfig = new ResourceConfig(TypesUploadServlet.class); - - resourceConfig.register(MultiPartFeature.class); - resourceConfig.register(new AbstractBinder() { - - @Override - protected void configure() { - // The below code was cut-pasted to here from setup() because - // due to it now has - // to be executed during servlet initialization - bind(request).to(HttpServletRequest.class); - when(request.getSession()).thenReturn(session); - when(session.getServletContext()).thenReturn(servletContext); - String appConfigDir = "src/test/resources/config/catalog-be"; - ConfigurationSource configurationSource = new FSConfigurationSource( - ExternalConfiguration.getChangeListener(), appConfigDir); - ConfigurationManager configurationManager = new ConfigurationManager(configurationSource); - for (String mandatoryHeader : configurationManager.getConfiguration().getIdentificationHeaderFields()) { - - when(request.getHeader(mandatoryHeader)).thenReturn(mandatoryHeader); - - } - - when(servletContext.getAttribute(Constants.CONFIGURATION_MANAGER_ATTR)) - .thenReturn(configurationManager); - } - }); - - return resourceConfig; - } - - private TypesUploadServlet createTestSubject() { - return new TypesUploadServlet(); - } - - - @Test - public void testUploadCapabilityType() throws Exception { - TypesUploadServlet testSubject; - File file = null; - HttpServletRequest request = null; - String creator = ""; - Response result; - - // default test - testSubject = createTestSubject(); - } - - - @Test - public void testUploadInterfaceLifecycleType() throws Exception { - TypesUploadServlet testSubject; - File file = null; - HttpServletRequest request = null; - String creator = ""; - Response result; - - // default test - testSubject = createTestSubject(); - } - - - @Test - public void testUploadCategories() throws Exception { - TypesUploadServlet testSubject; - File file = null; - HttpServletRequest request = null; - String creator = ""; - Response result; - - // default test - testSubject = createTestSubject(); - } - - - @Test - public void testUploadDataTypes() throws Exception { - TypesUploadServlet testSubject; - File file = null; - HttpServletRequest request = null; - String creator = ""; - Response result; - - // default test - testSubject = createTestSubject(); - } - - - @Test - public void testUploadGroupTypes() throws Exception { - TypesUploadServlet testSubject; - File file = null; - HttpServletRequest request = null; - String creator = ""; - Response result; - - // default test - testSubject = createTestSubject(); - } - - - @Test - public void testUploadPolicyTypes() throws Exception { - TypesUploadServlet testSubject; - File file = null; - HttpServletRequest request = null; - String creator = ""; - Response result; - - // default test - testSubject = createTestSubject(); - } - - - + public static final HttpServletRequest request = Mockito.mock(HttpServletRequest.class); + private static final HttpSession session = Mockito.mock(HttpSession.class); + public static final ServletContext servletContext = Mockito.mock(ServletContext.class); + public static final WebAppContextWrapper webAppContextWrapper = Mockito.mock(WebAppContextWrapper.class); + private static final WebApplicationContext webApplicationContext = Mockito.mock(WebApplicationContext.class); + private static final CapabilityTypeImportManager importManager = Mockito.mock(CapabilityTypeImportManager.class); + private static final ServletUtils servletUtils = Mockito.mock(ServletUtils.class); + private static final UserBusinessLogic userAdmin = Mockito.mock(UserBusinessLogic.class); + private static final ComponentsUtils componentUtils = Mockito.mock(ComponentsUtils.class); + private static final ResponseFormat responseFormat = Mockito.mock(ResponseFormat.class); + + @BeforeClass + public static void setup() { + ExternalConfiguration.setAppName("catalog-be"); + when(servletContext.getAttribute(Constants.WEB_APPLICATION_CONTEXT_WRAPPER_ATTR)).thenReturn(webAppContextWrapper); + when(webAppContextWrapper.getWebAppContext(servletContext)).thenReturn(webApplicationContext); + when(webApplicationContext.getBean(CapabilityTypeImportManager.class)).thenReturn(importManager); + when(webApplicationContext.getBean(ServletUtils.class)).thenReturn(servletUtils); + when(servletUtils.getComponentsUtils()).thenReturn(componentUtils); + when(servletUtils.getUserAdmin()).thenReturn(userAdmin); + String userId = "jh0003"; + User user = new User(); + user.setUserId(userId); + user.setRole(Role.ADMIN.name()); + Either<User, ActionStatus> eitherUser = Either.left(user); + when(userAdmin.getUser(userId, false)).thenReturn(eitherUser); + when(request.getHeader(Constants.USER_ID_HEADER)).thenReturn(userId); + when(responseFormat.getStatus()).thenReturn(HttpStatus.CREATED_201); + when(componentUtils.getResponseFormat(ActionStatus.CREATED)).thenReturn(responseFormat); + + } + + @Test + public void creatingCapabilityTypeSuccessTest() { + List<CapabilityTypeDefinition> emptyList = new ArrayList<CapabilityTypeDefinition>(); + Either<List<CapabilityTypeDefinition>, ResponseFormat> either = Either.left(emptyList); + when(importManager.createCapabilityTypes(Mockito.anyString())).thenReturn(either); + FileDataBodyPart filePart = new FileDataBodyPart("capabilityTypeZip", new File("src/test/resources/types/capabilityTypes.zip")); + MultiPart multipartEntity = new FormDataMultiPart(); + multipartEntity.bodyPart(filePart); + + Response response = target().path("/v1/catalog/uploadType/capability").request(MediaType.APPLICATION_JSON).post(Entity.entity(multipartEntity, MediaType.MULTIPART_FORM_DATA), Response.class); + + assertTrue(response.getStatus() == HttpStatus.CREATED_201); + + } + + @Override + protected void configureClient(ClientConfig config) { + config.register(MultiPartFeature.class); + } + + @Override + protected ResourceConfig configure() { + + ResourceConfig resourceConfig = new ResourceConfig() + .register(new TypesUploadServlet(importManager, null, null, null, null, null)); + + resourceConfig.register(MultiPartFeature.class); + resourceConfig.register(new AbstractBinder() { + + @Override + protected void configure() { + // The below code was cut-pasted to here from setup() because + // due to it now has + // to be executed during servlet initialization + bind(request).to(HttpServletRequest.class); + when(request.getSession()).thenReturn(session); + when(session.getServletContext()).thenReturn(servletContext); + String appConfigDir = "src/test/resources/config/catalog-be"; + ConfigurationSource configurationSource = new FSConfigurationSource(ExternalConfiguration.getChangeListener(), appConfigDir); + ConfigurationManager configurationManager = new ConfigurationManager(configurationSource); + for (String mandatoryHeader : configurationManager.getConfiguration().getIdentificationHeaderFields()) { + + when(request.getHeader(mandatoryHeader)).thenReturn(mandatoryHeader); + + } + + when(servletContext.getAttribute(Constants.CONFIGURATION_MANAGER_ATTR)).thenReturn(configurationManager); + } + }); + ApplicationContext context = new AnnotationConfigApplicationContext(SpringConfig.class); + resourceConfig.property("contextConfig", context); + + return resourceConfig; + } } |