* ============LICENSE_START==========================================
* ONAP Portal
* ===================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
* ===================================================================
*
* Unless otherwise specified, all software contained herein is licensed
package org.onap.portalapp.portal.service;
import static org.junit.Assert.assertEquals;
+import static org.mockito.Mockito.*;
import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.util.ArrayList;
+import java.util.Date;
import java.util.List;
import org.hibernate.criterion.Criterion;
import org.hibernate.criterion.Restrictions;
import org.json.simple.JSONObject;
import org.junit.Before;
-import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
-import org.onap.portalapp.portal.core.MockEPUser;
-import org.onap.portalapp.portal.domain.EPApp;
import org.onap.portalapp.portal.domain.EPUser;
import org.onap.portalapp.portal.utils.EPCommonSystemProperties;
-import org.onap.portalapp.portal.utils.EcompPortalUtils;
-import org.onap.portalapp.portal.utils.PortalConstants;
import org.onap.portalsdk.core.onboarding.util.CipherUtil;
import org.onap.portalsdk.core.service.DataAccessService;
-import org.onap.portalsdk.core.service.DataAccessServiceImpl;
import org.onap.portalsdk.core.util.SystemProperties;
import org.powermock.api.mockito.PowerMockito;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
@RunWith(PowerMockRunner.class)
-@PrepareForTest({ EcompPortalUtils.class, SystemProperties.class, PortalConstants.class,
- EPCommonSystemProperties.class, Criterion.class, CipherUtil.class, Restrictions.class })
-@Ignore
+@PrepareForTest({ SystemProperties.class, EPCommonSystemProperties.class, CipherUtil.class })
public class UserServiceImplTest {
- @Mock
- DataAccessService dataAccessService = new DataAccessServiceImpl();
-
+ private static final String TEST = "test";
+
@InjectMocks
- UserServiceImpl userServiceImpl= new UserServiceImpl();
-
+ UserServiceImpl userServiceImpl = new UserServiceImpl();
+
+ @Mock
+ DataAccessService dataAccessService;
+
+ @Mock
+ HttpURLConnection con;
+
@Before
public void setup() {
MockitoAnnotations.initMocks(this);
}
-
- public EPApp mockApp() {
- EPApp app = new EPApp();
- app.setName("Test");
- app.setImageUrl("test");
- app.setNameSpace("com.test.app");
- app.setCentralAuth(true);
- app.setDescription("test");
- app.setNotes("test");
- app.setUrl("test");
- app.setId((long) 10);
- app.setAppRestEndpoint("test");
- app.setAlternateUrl("test");
- app.setName("test");
- app.setMlAppName("test");
- app.setMlAppAdminId("test");
- app.setUsername("test");
- app.setAppPassword("test");
- app.setOpen(false);
- app.setEnabled(true);
- app.setUebKey("test");
- app.setUebSecret("test");
- app.setUebTopicName("test");
- app.setAppType(1);
- return app;
- }
-
- MockEPUser mockUser = new MockEPUser();
-
- @SuppressWarnings("unchecked")
+
@Test
- public void getUserByUserIdExceptionTest() throws Exception {
+ public void getUserByUserIdTest() throws UnsupportedEncodingException, IOException {
+
PowerMockito.mockStatic(SystemProperties.class);
- EPUser user = mockUser.mockEPUser();
+ EPUser user = buildEpUser();
Mockito.when(SystemProperties.getProperty(SystemProperties.AUTHENTICATION_MECHANISM)).thenReturn("OIDC");
- Mockito.when(EPCommonSystemProperties.getProperty(EPCommonSystemProperties.AUTH_USER_SERVER)).thenReturn("http://www.test.com");
+ Mockito.when(EPCommonSystemProperties.getProperty(EPCommonSystemProperties.AUTH_USER_SERVER))
+ .thenReturn("http://www.test.com");
HttpURLConnection connection = Mockito.mock(HttpURLConnection.class);
+
JSONObject response = new JSONObject();
JSONObject userJson = new JSONObject();
userJson.put("id", 1);
userJson.put("givenName", "Guest");
- userJson.put("familyName", "Test");
+ userJson.put("familyName", TEST);
userJson.put("email", "test@123.com");
- List<JSONObject> userListJson = new ArrayList<>();
+ List<JSONObject> userListJson = new ArrayList<>();
userListJson.add(userJson);
response.put("response", userListJson);
ByteArrayInputStream getBody = new ByteArrayInputStream(response.toString().getBytes("UTF-8"));
PowerMockito.when(connection.getInputStream()).thenReturn(getBody);
userServiceImpl.getUserByUserId(user.getOrgUserId());
}
-
- @SuppressWarnings("unchecked")
+
+ @Test
+ public void testGetUserByNameInvalidODC() throws Exception {
+
+ PowerMockito.mockStatic(SystemProperties.class);
+ Mockito.when(SystemProperties.getProperty(SystemProperties.AUTHENTICATION_MECHANISM)).thenReturn(TEST);
+ List list = new ArrayList<>();
+ StringBuffer criteria = new StringBuffer();
+ String firstName = TEST;
+ String lastName = TEST;
+ if (firstName != null)
+ criteria.append(" where first_name = '").append(firstName).append("'");
+ if (lastName != null)
+ criteria.append(" where last_name = '").append(lastName).append("'");
+ when(dataAccessService.getList(EPUser.class, criteria.toString(), null, null)).thenReturn(list);
+ userServiceImpl.getUserByFirstLastName(TEST, TEST);
+
+ }
+
+ @Test
+ public void testGetUserByName() throws Exception {
+
+ PowerMockito.mockStatic(SystemProperties.class);
+ EPUser user = buildEpUser();
+ Mockito.when(SystemProperties.getProperty(SystemProperties.AUTHENTICATION_MECHANISM)).thenReturn("OIDC");
+ Mockito.when(EPCommonSystemProperties.getProperty(EPCommonSystemProperties.AUTH_USER_SERVER))
+ .thenReturn("http://www.test.com");
+ //HttpURLConnection connection = Mockito.mock(HttpURLConnection.class);
+ JSONObject response = new JSONObject();
+ JSONObject userJson = new JSONObject();
+ userJson.put("id", 1);
+ userJson.put("givenName", "Guest");
+ userJson.put("familyName", TEST);
+ userJson.put("email", "test@123.com");
+ List<JSONObject> userListJson = new ArrayList<>();
+ userListJson.add(userJson);
+ response.put("response", userListJson);
+ //ByteArrayInputStream getBody = new ByteArrayInputStream(response.toString().getBytes("UTF-8"));
+ //PowerMockito.when(connection.getInputStream()).thenReturn(getBody);
+ userServiceImpl.getUserByFirstLastName(TEST, TEST);
+
+ }
+
@Test
public void saveNewUserTest() throws Exception {
- PowerMockito.mockStatic(Restrictions.class);
+
PowerMockito.mockStatic(Criterion.class);
PowerMockito.mockStatic(CipherUtil.class);
- EPUser user = mockUser.mockEPUser();
- List<EPUser> users = new ArrayList<>();
+ EPUser user = buildEpUser();
+ List users = new ArrayList<>();
+ users.add(user);
Mockito.when(CipherUtil.encryptPKC(user.getLoginPwd())).thenReturn("xyz");
List<Criterion> restrictionsList = new ArrayList<Criterion>();
- Criterion orgUserIdCriterion = Restrictions.eq("orgUserId",user.getLoginId());
+ Criterion orgUserIdCriterion = Restrictions.eq("orgUserId", user.getLoginId());
restrictionsList.add(orgUserIdCriterion);
- Mockito.when((List<EPUser>) dataAccessService.getList(EPUser.class, null, restrictionsList, null)).thenReturn(users);
+
+ when( dataAccessService.getList(EPUser.class, null, restrictionsList, null)).thenReturn(users);
String actual = userServiceImpl.saveNewUser(user, "No");
assertEquals("success", actual);
+
}
-
- @SuppressWarnings("unchecked")
+
@Test
- public void saveExistingUserTest() throws Exception {
+ public void saveNewUserEmptyTest() throws Exception {
PowerMockito.mockStatic(Restrictions.class);
PowerMockito.mockStatic(Criterion.class);
PowerMockito.mockStatic(CipherUtil.class);
- EPUser user = mockUser.mockEPUser();
- user.setLoginPwd("xyz");
- List<EPUser> users = new ArrayList<>();
- users.add(user);
- EPUser oldUser = mockUser.mockEPUser();
- oldUser.setLoginPwd("abc");
- List<EPUser> oldUsers = new ArrayList<>();
- oldUsers.add(oldUser);
+ EPUser user = buildEpUser();
+ List users = new ArrayList<>();
Mockito.when(CipherUtil.encryptPKC(user.getLoginPwd())).thenReturn("xyz");
List<Criterion> restrictionsList = new ArrayList<Criterion>();
- Criterion orgUserIdCriterion = Restrictions.eq("orgUserId",user.getLoginId());
+ Criterion orgUserIdCriterion = Restrictions.eq("orgUserId", user.getLoginId());
restrictionsList.add(orgUserIdCriterion);
- Mockito.when((List<EPUser>) dataAccessService.getList(EPUser.class, null, restrictionsList, null)).thenReturn(oldUsers);
+ StringBuffer criteria = new StringBuffer();
+ criteria.append(" where org_user_id = '").append(user.getLoginId()).append("'");
+ Mockito.when(dataAccessService.getList(EPUser.class, criteria.toString(), null, null)).thenReturn(users);
String actual = userServiceImpl.saveNewUser(user, "No");
assertEquals("success", actual);
- }
+ }
+ @Test
+ public void saveUser()throws Exception {
+
+ EPUser user = buildEpUser();
+ userServiceImpl.saveUser(user);
+
+ }
+
+ EPUser buildEpUser() {
+ EPUser epUser = new EPUser();
+
+ epUser.setId((long) 1);
+ epUser.setManagerId((long) 1234);
+ epUser.setFirstName(TEST);
+ epUser.setLastName(TEST);
+ epUser.setMiddleInitial(TEST);
+ epUser.setPhone(TEST);
+ epUser.setFax(TEST);
+ epUser.setCellular(TEST);
+ epUser.setEmail(TEST);
+ epUser.setAddressId((long) 123);
+ epUser.setAlertMethodCd(TEST);
+ epUser.setHrid(TEST);
+ epUser.setOrgUserId(TEST);
+ epUser.setOrgCode(TEST);
+ epUser.setAddress1(TEST);
+ epUser.setAddress2(TEST);
+ epUser.setCity(TEST);
+ epUser.setState(TEST);
+ epUser.setZipCode(TEST);
+ epUser.setCountry(TEST);
+ epUser.setOrgManagerUserId(TEST);
+ epUser.setLocationClli(TEST);
+ epUser.setBusinessCountryCode(TEST);
+ epUser.setBusinessCountryName(TEST);
+ epUser.setBusinessUnit(TEST);
+ epUser.setBusinessUnitName(TEST);
+ epUser.setDepartment(TEST);
+ epUser.setDepartmentName(TEST);
+ epUser.setCompanyCode(TEST);
+ epUser.setCompany(TEST);
+ epUser.setZipCodeSuffix(TEST);
+ epUser.setJobTitle(TEST);
+ epUser.setCommandChain(TEST);
+ epUser.setSiloStatus(TEST);
+ epUser.setCostCenter(TEST);
+ epUser.setFinancialLocCode(TEST);
+ epUser.setLoginId(TEST);
+ epUser.setLoginPwd(TEST);
+ epUser.setLastLoginDate(new Date());
+ epUser.setActive(false);
+ epUser.setInternal(false);
+ epUser.setSelectedProfileId((long) 12345);
+ epUser.setTimeZoneId((long) 12345);
+ epUser.setOnline(false);
+ epUser.setChatId(TEST);
+ return epUser;
+ }
}