aboutsummaryrefslogtreecommitdiffstats
path: root/ccsdk-app-common/src/test/java/org/onap/ccsdk
diff options
context:
space:
mode:
Diffstat (limited to 'ccsdk-app-common/src/test/java/org/onap/ccsdk')
-rw-r--r--ccsdk-app-common/src/test/java/org/onap/ccsdk/dashboard/controller/CloudifyControllerTest.java90
-rw-r--r--ccsdk-app-common/src/test/java/org/onap/ccsdk/dashboard/core/MockUser.java65
-rw-r--r--ccsdk-app-common/src/test/java/org/onap/ccsdk/dashboard/core/MockitoTestSuite.java95
-rw-r--r--ccsdk-app-common/src/test/java/org/onap/ccsdk/dashboard/rest/CloudifyRestClientImplTest.java119
4 files changed, 369 insertions, 0 deletions
diff --git a/ccsdk-app-common/src/test/java/org/onap/ccsdk/dashboard/controller/CloudifyControllerTest.java b/ccsdk-app-common/src/test/java/org/onap/ccsdk/dashboard/controller/CloudifyControllerTest.java
new file mode 100644
index 0000000..ff6aa24
--- /dev/null
+++ b/ccsdk-app-common/src/test/java/org/onap/ccsdk/dashboard/controller/CloudifyControllerTest.java
@@ -0,0 +1,90 @@
+package org.onap.ccsdk.dashboard.controller;
+
+import static org.junit.Assert.*;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.Mockito;
+import org.mockito.MockitoAnnotations;
+import org.onap.ccsdk.dashboard.core.MockUser;
+import org.onap.ccsdk.dashboard.model.CloudifyTenantList;
+import org.onap.ccsdk.dashboard.rest.CloudifyClient;
+import org.onap.ccsdk.dashboard.core.MockitoTestSuite;
+import org.onap.portalsdk.core.domain.User;
+import org.onap.portalsdk.core.web.support.UserUtils;
+import org.springframework.test.web.servlet.RequestBuilder;
+import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.datatype.jdk8.Jdk8Module;
+import org.powermock.api.mockito.PowerMockito;
+import org.powermock.core.classloader.annotations.PrepareForTest;
+import org.powermock.modules.junit4.PowerMockRunner;
+
+import org.springframework.http.MediaType;
+
+
+public class CloudifyControllerTest extends MockitoTestSuite {
+
+ @Mock
+ private CloudifyClient restClient;
+
+ @InjectMocks
+ private CloudifyController subject = new CloudifyController();
+
+ protected final ObjectMapper objectMapper = new ObjectMapper();
+
+ @Mock
+ UserUtils userUtils = new UserUtils();
+
+ @Mock
+ User epuser;
+
+ MockUser mockUser = new MockUser();
+
+ @Before
+ public void setUp() throws Exception {
+ MockitoAnnotations.initMocks(this);
+ objectMapper.registerModule(new Jdk8Module());
+ }
+
+ @Test
+ public final void testGetControllerEndpoints_stubbed() {
+
+ }
+
+ @Test
+ public final void testGetTenants_stubbed() throws Exception {
+
+ String tenantsList =
+ "{\"items\": [{\"id\": 1, \"name\": \"default_tenant\", \"dName\": \"default_tenant\" }, "
+ + "{\"id\": 2, \"name\": \"dyh1b1902\", \"dName\": \"dyh1b1902\"}], "
+ + "\"metadata\": {\"pagination\": {\"total\": 2, \"offset\": 0, \"size\": 0}}}";
+ CloudifyTenantList sampleData = null;
+ try {
+ sampleData = objectMapper.readValue(tenantsList, CloudifyTenantList.class);
+ } catch (Exception e) {
+ }
+
+ User user = mockUser.mockUser();
+ user.setLoginId("tester");
+ MockHttpServletRequestWrapper mockedRequest = getMockedRequest();
+
+ Mockito.when(UserUtils.getUserSession(mockedRequest)).thenReturn(user);
+ Mockito.when(restClient.getTenants()).thenReturn(sampleData);
+
+ RequestBuilder request = MockMvcRequestBuilders.
+ get("/tenants").
+ accept(MediaType.APPLICATION_JSON);
+
+ String tenantStr =
+ subject.getTenants(mockedRequest);
+
+ assertNotNull(tenantStr);
+ assertTrue(tenantStr.contains("dyh1b"));
+
+
+ }
+
+}
diff --git a/ccsdk-app-common/src/test/java/org/onap/ccsdk/dashboard/core/MockUser.java b/ccsdk-app-common/src/test/java/org/onap/ccsdk/dashboard/core/MockUser.java
new file mode 100644
index 0000000..4b68c8e
--- /dev/null
+++ b/ccsdk-app-common/src/test/java/org/onap/ccsdk/dashboard/core/MockUser.java
@@ -0,0 +1,65 @@
+package org.onap.ccsdk.dashboard.core;
+
+import java.util.Date;
+
+import org.onap.portalsdk.core.domain.User;
+
+public class MockUser {
+
+ public User mockUser() {
+
+ User ePUser = new User();
+ ePUser.setOrgId(null);
+ ePUser.setManagerId(null);
+ ePUser.setFirstName("test");
+ ePUser.setLastName("test");
+ ePUser.setMiddleInitial(null);
+ ePUser.setPhone(null);
+ ePUser.setFax(null);
+ ePUser.setCellular(null);
+ ePUser.setEmail(null);
+ ePUser.setAddressId(null);
+ ePUser.setAlertMethodCd(null);
+ ePUser.setHrid(null);
+ ePUser.setOrgUserId("guestT");
+ ePUser.setOrgCode(null);
+ ePUser.setAddress1(null);
+ ePUser.setAddress2(null);
+ ePUser.setCity(null);
+ ePUser.setState(null);
+ ePUser.setZipCode(null);
+ ePUser.setCountry(null);
+ ePUser.setOrgManagerUserId(null);
+ ePUser.setLocationClli(null);
+ ePUser.setBusinessCountryCode(null);
+ ePUser.setBusinessCountryName(null);
+ ePUser.setBusinessUnit(null);
+ ePUser.setBusinessUnitName(null);
+ ePUser.setDepartment(null);
+ ePUser.setDepartmentName(null);
+ ePUser.setCompanyCode(null);
+ ePUser.setCompany(null);
+ ePUser.setZipCodeSuffix(null);
+ ePUser.setJobTitle(null);
+ ePUser.setCommandChain(null);
+ ePUser.setSiloStatus(null);
+ ePUser.setCostCenter(null);
+ ePUser.setFinancialLocCode(null);
+
+ ePUser.setLoginId(null);
+ ePUser.setLoginPwd(null);
+ Date date = new Date();
+ ePUser.setLastLoginDate(date);
+ ePUser.setActive(true);
+ ePUser.setInternal(false);
+ ePUser.setSelectedProfileId(null);
+ ePUser.setTimeZoneId(null);
+ ePUser.setOnline(true);
+ ePUser.setChatId(null);
+ ePUser.setUserApps(null);
+ ePUser.setPseudoRoles(null);
+
+ ePUser.setId((long) -1);
+ return ePUser;
+ }
+}
diff --git a/ccsdk-app-common/src/test/java/org/onap/ccsdk/dashboard/core/MockitoTestSuite.java b/ccsdk-app-common/src/test/java/org/onap/ccsdk/dashboard/core/MockitoTestSuite.java
new file mode 100644
index 0000000..c251a5c
--- /dev/null
+++ b/ccsdk-app-common/src/test/java/org/onap/ccsdk/dashboard/core/MockitoTestSuite.java
@@ -0,0 +1,95 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * ONAP Portal
+ * ===================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ===================================================================
+ *
+ * Unless otherwise specified, all software contained herein is licensed
+ * under the Apache License, Version 2.0 (the "License");
+ * you may not use this software except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Unless otherwise specified, all documentation contained herein is licensed
+ * under the Creative Commons License, Attribution 4.0 Intl. (the "License");
+ * you may not use this documentation except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://creativecommons.org/licenses/by/4.0/
+ *
+ * Unless required by applicable law or agreed to in writing, documentation
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * ============LICENSE_END============================================
+ *
+ *
+ */
+package org.onap.ccsdk.dashboard.core;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletRequestWrapper;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mockito;
+import org.mockito.runners.MockitoJUnitRunner;
+
+@RunWith(MockitoJUnitRunner.class)
+public class MockitoTestSuite {
+
+
+ public MockHttpServletRequestWrapper mockedRequest = new MockHttpServletRequestWrapper(
+ Mockito.mock(HttpServletRequest.class));
+ public HttpServletResponse mockedResponse = Mockito.mock(HttpServletResponse.class);
+
+ public MockHttpServletRequestWrapper getMockedRequest() {
+ return mockedRequest;
+ }
+
+ public HttpServletResponse getMockedResponse() {
+ return mockedResponse;
+ }
+
+ public class MockHttpServletRequestWrapper extends HttpServletRequestWrapper {
+
+ HttpSession session = Mockito.mock(HttpSession.class);
+
+ public MockHttpServletRequestWrapper(HttpServletRequest request) {
+ super(request);
+
+ }
+
+ @Override
+ public HttpSession getSession() {
+
+ return session;
+ }
+
+ @Override
+ public HttpSession getSession(boolean create) {
+
+ return session;
+ }
+
+ }
+
+ @Test
+ public void test()
+ {
+ assert(true);
+ }
+} \ No newline at end of file
diff --git a/ccsdk-app-common/src/test/java/org/onap/ccsdk/dashboard/rest/CloudifyRestClientImplTest.java b/ccsdk-app-common/src/test/java/org/onap/ccsdk/dashboard/rest/CloudifyRestClientImplTest.java
new file mode 100644
index 0000000..e7e51cf
--- /dev/null
+++ b/ccsdk-app-common/src/test/java/org/onap/ccsdk/dashboard/rest/CloudifyRestClientImplTest.java
@@ -0,0 +1,119 @@
+package org.onap.ccsdk.dashboard.rest;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertThat;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Ignore;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.InjectMocks;
+import org.mockito.Matchers;
+import org.mockito.Mock;
+import org.mockito.Mockito;
+import org.mockito.MockitoAnnotations;
+import org.onap.ccsdk.dashboard.model.CloudifyErrorCause;
+import org.onap.ccsdk.dashboard.model.CloudifyEvent;
+import org.onap.ccsdk.dashboard.model.CloudifyEventList;
+import org.onap.ccsdk.dashboard.model.CloudifyEventList.Metadata;
+import org.onap.ccsdk.dashboard.model.CloudifyTenantList;
+import org.springframework.core.ParameterizedTypeReference;
+import org.springframework.http.HttpEntity;
+import org.springframework.http.HttpMethod;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.client.RestClientException;
+import org.springframework.web.client.RestTemplate;
+
+import com.fasterxml.jackson.core.JsonParseException;
+import com.fasterxml.jackson.databind.JsonMappingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.datatype.jdk8.Jdk8Module;
+
+public class CloudifyRestClientImplTest {
+
+ @Mock
+ RestTemplate mockRest;
+
+ @InjectMocks
+ CloudifyRestClientImpl subject =
+ new CloudifyRestClientImpl("https://www.orcl.com/v3.1", "", "");
+
+ protected final ObjectMapper objectMapper = new ObjectMapper();
+
+ @Before
+ public void setUp() throws Exception {
+ MockitoAnnotations.initMocks(this);
+ objectMapper.registerModule(new Jdk8Module());
+ }
+
+ @Test
+ public final void getEventlogsTest() throws JsonParseException, JsonMappingException, IOException {
+ String executionId = "123a123a";
+ String tenant = "thisTenant";
+ List<CloudifyEvent> items = new ArrayList<CloudifyEvent>();
+ CloudifyEvent aMockEvent = new CloudifyEvent("dcae_dtieventproc_idns-k8s-svc-blueprint_02_28_02", "dcae_dtieventproc_idns-k8s-svc-blueprint_02_28_02",
+ null, "workflow_succeeded", "5f8a2e05-e187-4925-90de-ece9160aa517", "warning", "ctx.7a10e191-f12b-4142-aa5d-6e5766ebb1d4",
+ "install workflow execution succeeded", "publish_l36bhr", "publish", "cloudify.interfaces.lifecycle.create",
+ "2019-02-28T23:17:49.228Z", "2019-02-28T23:17:49.700Z", "cloudify_event", "install");
+ items.add(aMockEvent);
+ items.add(
+ new CloudifyEvent("dcae_dtieventproc_idns-k8s-svc-blueprint_02_28_02", "dcae_dtieventproc_idns-k8s-svc-blueprint_02_28_02",
+ null, "workflow_node_event", "5f8a2e05-e187-4925-90de-ece9160aa517", "warning", "ctx.7a10e191-f12b-4142-aa5d-6e5766ebb1d4",
+ "Starting node", "publish_l36bhr", "publish", "cloudify.interfaces.lifecycle.create",
+ "2019-02-28T23:17:48.391Z", "2019-02-28T23:17:48.516Z", "cloudify_event", "install"));
+
+ String metaInfo = "metadata\": {\"pagination\": {\"total\": 2, \"offset\": 0, \"size\": 0}}";
+ Metadata metadata = null;
+ //metadata = objectMapper.readValue(metaInfo, Metadata.class);
+
+ CloudifyEventList expected = new CloudifyEventList(items, metadata);
+
+ ResponseEntity<CloudifyEventList> response = new ResponseEntity<CloudifyEventList>(expected, HttpStatus.OK);
+ Mockito.when(mockRest.exchange(Matchers.anyString(), Matchers.eq(HttpMethod.GET), Matchers.<HttpEntity<?>>any(),
+ Matchers.<ParameterizedTypeReference<CloudifyEventList>>any())).thenReturn(response);
+ CloudifyEventList actual = subject.getEventlogs(executionId, tenant);
+
+ assertTrue(actual.items.size() == 2);
+
+ }
+ @Test
+ public final void testGetTenants_GetData() {
+ // define the entity you want the exchange to return
+ String tenantsList = "{\"items\": [{\"id\": 1, \"dName\": null, \"name\": \"default_tenant\"}, {\"id\": 2, \"dName\": null, \"name\": \"dyh1b1902\"}], \"metadata\": {\"pagination\": {\"total\": 2, \"offset\": 0, \"size\": 0}}}";
+ CloudifyTenantList sampleData = null;
+ try {
+ sampleData = objectMapper.readValue(tenantsList, CloudifyTenantList.class);
+ } catch (Exception e) {
+ }
+
+ ResponseEntity<CloudifyTenantList> response = new ResponseEntity<CloudifyTenantList>(sampleData, HttpStatus.OK);
+ Mockito.when(mockRest.exchange(Matchers.anyString(), Matchers.eq(HttpMethod.GET), Matchers.<HttpEntity<?>>any(),
+ Matchers.<ParameterizedTypeReference<CloudifyTenantList>>any())).thenReturn(response);
+
+ CloudifyTenantList res = subject.getTenants();
+ assertNotNull(res);
+ assertThat(res.items.get(1).name, is("dyh1b1902"));
+ // Assert.assertEquals(myobjectA, res.get(0));
+ }
+
+ @Test(expected = RestClientException.class)
+ public final void testGetTenants_withException() {
+ // define the entity you want the exchange to return
+ Mockito.when(mockRest.exchange(Matchers.anyString(), Matchers.eq(HttpMethod.GET), Matchers.<HttpEntity<?>>any(),
+ Matchers.<ParameterizedTypeReference<CloudifyTenantList>>any())).thenThrow(RestClientException.class);
+
+ subject.getTenants();
+
+
+ }
+}