From f8a8d5192b1e5013d9e2f699be54b072ef39d5f0 Mon Sep 17 00:00:00 2001 From: talasila Date: Wed, 8 Feb 2017 10:13:29 -0500 Subject: Initial OpenECOMP UI/DMaapBC commit Change-Id: Ia492e1b88311b9bed4c31f593b28deaaad73b7e4 Signed-off-by: talasila --- .../core/MockApplicationContextTestSuite.java | 128 +++++++++++++++++++++ .../java/org/openecomp/fusionapp/SanityTest.java | 20 ++++ .../controller/CollaborationControllerTest.java | 27 +++++ .../openecomp/fusionapp/controller/NetMapTest.java | 19 +++ .../fusionapp/service/ProfileServiceTest.java | 37 ++++++ 5 files changed, 231 insertions(+) create mode 100644 dcae_dmaapbc_webapp/src/test/java/org/openecomp/fusion/core/MockApplicationContextTestSuite.java create mode 100644 dcae_dmaapbc_webapp/src/test/java/org/openecomp/fusionapp/SanityTest.java create mode 100644 dcae_dmaapbc_webapp/src/test/java/org/openecomp/fusionapp/controller/CollaborationControllerTest.java create mode 100644 dcae_dmaapbc_webapp/src/test/java/org/openecomp/fusionapp/controller/NetMapTest.java create mode 100644 dcae_dmaapbc_webapp/src/test/java/org/openecomp/fusionapp/service/ProfileServiceTest.java (limited to 'dcae_dmaapbc_webapp/src/test/java') diff --git a/dcae_dmaapbc_webapp/src/test/java/org/openecomp/fusion/core/MockApplicationContextTestSuite.java b/dcae_dmaapbc_webapp/src/test/java/org/openecomp/fusion/core/MockApplicationContextTestSuite.java new file mode 100644 index 0000000..82ff760 --- /dev/null +++ b/dcae_dmaapbc_webapp/src/test/java/org/openecomp/fusion/core/MockApplicationContextTestSuite.java @@ -0,0 +1,128 @@ +package org.openecomp.fusion.core; + +import java.io.IOException; + +import org.junit.Before; +import org.junit.runner.RunWith; +import org.openecomp.portalsdk.core.conf.AppConfig; +import org.openecomp.portalsdk.core.objectcache.AbstractCacheManager; +import org.openecomp.portalsdk.core.util.CacheManager; +import org.openecomp.portalsdk.core.util.SystemProperties; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.ComponentScan; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Profile; +import org.springframework.test.context.ActiveProfiles; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.web.AnnotationConfigWebContextLoader; +import org.springframework.test.context.web.WebAppConfiguration; +import org.springframework.test.web.servlet.MockMvc; +import org.springframework.test.web.servlet.setup.MockMvcBuilders; +import org.springframework.web.context.WebApplicationContext; +import org.springframework.web.servlet.config.annotation.InterceptorRegistry; + +/** + * + * + * + * In order to write a unit test, + * 1. inherit this class - See SanityTest.java + * 2. place the "war" folder on your test class's classpath + * 3. run the test with the following VM argument; This is important because when starting the application from Container, the System Properties file (SystemProperties.java) can have the direct path + * but, when running from the Mock Junit container, the path should be prefixed with "classpath" to enable the mock container to search for the file in the classpath + * -Dcontainer.classpath="classpath:" + * + */ + +@RunWith(SpringJUnit4ClassRunner.class) +@WebAppConfiguration +@ContextConfiguration(loader = AnnotationConfigWebContextLoader.class, classes = {MockAppConfig.class}) +@ActiveProfiles(value="test") +public class MockApplicationContextTestSuite { + + @Autowired + public WebApplicationContext wac; + + private MockMvc mockMvc; + + @Before + public void setup() { + if(mockMvc == null) { + this.mockMvc = MockMvcBuilders.webAppContextSetup(this.wac).build(); + + } + } + + public Object getBean(String name) { + return this.wac.getBean(name); + } + + + public MockMvc getMockMvc() { + return mockMvc; + } + + public void setMockMvc(MockMvc mockMvc) { + this.mockMvc = mockMvc; + } + + public WebApplicationContext getWebApplicationContext() { + return wac; + } + + + + +} + + + @Configuration + @ComponentScan(basePackages = "org.openecomp", + excludeFilters = { + // the following source configurations should not be scanned; instead of using Exclusion filter, we can use the @Profile annotation to exclude them + // see AppConfig class + + } + ) + @Profile("test") + class MockAppConfig extends AppConfig { + + @Bean + public SystemProperties systemProperties(){ + return new MockSystemProperties(); + } + + @Bean + public AbstractCacheManager cacheManager() { + return new CacheManager() { + + public void configure() throws IOException { + + } + }; + } + + protected String[] tileDefinitions() { + return new String[] {"classpath:/WEB-INF/fusion/defs/definitions.xml", "classpath:/WEB-INF/defs/definitions.xml"}; + } + + @Override + public void addInterceptors(InterceptorRegistry registry) { + //registry.addInterceptor(new SessionTimeoutInterceptor()).excludePathPatterns(getExcludeUrlPathsForSessionTimeout()); + //registry.addInterceptor(resourceInterceptor()); + } + + public static class MockSystemProperties extends SystemProperties { + + public MockSystemProperties() { + } + + } + + } + + + + diff --git a/dcae_dmaapbc_webapp/src/test/java/org/openecomp/fusionapp/SanityTest.java b/dcae_dmaapbc_webapp/src/test/java/org/openecomp/fusionapp/SanityTest.java new file mode 100644 index 0000000..a5022f9 --- /dev/null +++ b/dcae_dmaapbc_webapp/src/test/java/org/openecomp/fusionapp/SanityTest.java @@ -0,0 +1,20 @@ +package org.openecomp.fusionapp; + +import org.junit.Assert; +import org.junit.Test; +import org.openecomp.fusion.core.MockApplicationContextTestSuite; +import org.springframework.test.web.servlet.ResultActions; +import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; + +public class SanityTest extends MockApplicationContextTestSuite { + + @Test + public void testGetAvailableRoles() throws Exception { + + ResultActions ra =getMockMvc().perform(MockMvcRequestBuilders.get("/api/roles")); + //Assert.assertEquals(UrlAccessRestrictedException.class,ra.andReturn().getResolvedException().getClass()); + Assert.assertEquals("application/json",ra.andReturn().getResponse().getContentType()); + } + + +} diff --git a/dcae_dmaapbc_webapp/src/test/java/org/openecomp/fusionapp/controller/CollaborationControllerTest.java b/dcae_dmaapbc_webapp/src/test/java/org/openecomp/fusionapp/controller/CollaborationControllerTest.java new file mode 100644 index 0000000..a0b219b --- /dev/null +++ b/dcae_dmaapbc_webapp/src/test/java/org/openecomp/fusionapp/controller/CollaborationControllerTest.java @@ -0,0 +1,27 @@ +package org.openecomp.fusionapp.controller; + +import org.junit.Assert; +import org.junit.Test; +import org.openecomp.fusion.core.MockApplicationContextTestSuite; +import org.openecomp.portalsdk.core.domain.User; +import org.openecomp.portalsdk.core.util.SystemProperties; +import org.springframework.test.web.servlet.ResultActions; +import org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder; +import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; + +public class CollaborationControllerTest extends MockApplicationContextTestSuite{ + + @Test + public void testGetAvailableRoles() throws Exception { + MockHttpServletRequestBuilder requestBuilder = MockMvcRequestBuilders.get("/collaborate_list"); + User user = new User(); + user.setId(1l); + user.setOrgUserId("abc"); + requestBuilder.sessionAttr(SystemProperties.getProperty(SystemProperties.USER_ATTRIBUTE_NAME), user); + + ResultActions ra =getMockMvc().perform(requestBuilder); + Assert.assertEquals(2,ra.andReturn().getModelAndView().getModelMap().size()); + } + + +} diff --git a/dcae_dmaapbc_webapp/src/test/java/org/openecomp/fusionapp/controller/NetMapTest.java b/dcae_dmaapbc_webapp/src/test/java/org/openecomp/fusionapp/controller/NetMapTest.java new file mode 100644 index 0000000..74cbd62 --- /dev/null +++ b/dcae_dmaapbc_webapp/src/test/java/org/openecomp/fusionapp/controller/NetMapTest.java @@ -0,0 +1,19 @@ +package org.openecomp.fusionapp.controller; + +import org.junit.Assert; +import org.junit.Test; +import org.openecomp.fusion.core.MockApplicationContextTestSuite; +import org.springframework.test.web.servlet.ResultActions; +import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; + +public class NetMapTest extends MockApplicationContextTestSuite { + + @Test + public void testGetNetMap() throws Exception { + ResultActions ra =getMockMvc().perform(MockMvcRequestBuilders.get("/net_map")); + //Assert.assertEquals(UrlAccessRestrictedException.class,ra.andReturn().getResolvedException().getClass()); + Assert.assertEquals("net_map_int",ra.andReturn().getModelAndView().getModel().get("frame_int")); + } + + +} diff --git a/dcae_dmaapbc_webapp/src/test/java/org/openecomp/fusionapp/service/ProfileServiceTest.java b/dcae_dmaapbc_webapp/src/test/java/org/openecomp/fusionapp/service/ProfileServiceTest.java new file mode 100644 index 0000000..1e6d78c --- /dev/null +++ b/dcae_dmaapbc_webapp/src/test/java/org/openecomp/fusionapp/service/ProfileServiceTest.java @@ -0,0 +1,37 @@ +package org.openecomp.fusionapp.service; + +import java.util.List; + +import org.junit.Assert; +import org.junit.Test; +import org.openecomp.fusion.core.MockApplicationContextTestSuite; +import org.openecomp.portalsdk.core.domain.Profile; +import org.openecomp.portalsdk.core.domain.User; +import org.openecomp.portalsdk.core.service.ProfileService; +import org.openecomp.portalsdk.core.service.UserProfileService; +import org.springframework.beans.factory.annotation.Autowired; + + +public class ProfileServiceTest extends MockApplicationContextTestSuite { + + @Autowired + ProfileService service; + + @Autowired + UserProfileService userProfileService; + + @Test + public void testFindAll() { + + List profiles = service.findAll(); + Assert.assertTrue(profiles.size() > 0); + } + + @Test + public void testFindAllActive() { + + List users = userProfileService.findAllActive(); + List activeUsers = userProfileService.findAllActive(); + Assert.assertTrue(users.size() - activeUsers.size() >= 0); + } +} -- cgit 1.2.3-korg