package org.openecomp.portalapp.portal.service; import static org.junit.Assert.*; import java.util.ArrayList; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.junit.Before; 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.openecomp.portalapp.portal.domain.EPUser; import org.openecomp.portalapp.portal.framework.MockEPUser; import org.openecomp.portalapp.portal.framework.MockitoTestSuite; import org.openecomp.portalapp.portal.transport.UserWithNameSurnameTitle; import org.openecomp.portalapp.portal.utils.EcompPortalUtils; 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}) public class SearchServiceImplTest { @InjectMocks SearchServiceImpl searchServiceImpl = new SearchServiceImpl(); @Mock UserService userService; @Before public void setup() { MockitoAnnotations.initMocks(this); } MockitoTestSuite mockitoTestSuite = new MockitoTestSuite(); HttpServletRequest mockedRequest = mockitoTestSuite.getMockedRequest(); HttpServletResponse mockedResponse = mockitoTestSuite.getMockedResponse(); NullPointerException nullPointerException = new NullPointerException(); MockEPUser mockUser = new MockEPUser(); @Test public void searchUsersInPhoneBookTest() { PowerMockito.mockStatic(EcompPortalUtils.class); List list = new ArrayList<>(); String str = "Test"; list.add(str); Mockito.when(EcompPortalUtils.parsingByRegularExpression("Test", " ")).thenReturn(list); assertEquals(searchServiceImpl.searchUsersInPhoneBook("Test"), "[]"); } @Test public void searchUsersInFnTableToFindUserIdTest() { PowerMockito.mockStatic(EcompPortalUtils.class); List list = new ArrayList<>(); String str = "Test"; String str2 = "Test new"; String str1 = "Test new1"; list.add(str); list.add(str1); list.add(str2); Mockito.when(EcompPortalUtils.parsingByRegularExpression("Test", " ")).thenReturn(list); List userList = new ArrayList(); EPUser user = mockUser.mockEPUser(); user.setLastName("Test new"); userList.add(user); Mockito.when( this.userService.getUserByFirstLastName("Test","Test new")).thenReturn(userList); String result = searchServiceImpl.searchUsersInPhoneBook("Test"); assertEquals("[{\"orgUserId\":\"guestT\",\"firstName\":\"test\",\"lastName\":\"Test new\",\"jobTitle\":null}]" , result); } @Test public void searchUsersInFnTableFirstNameTest() { PowerMockito.mockStatic(EcompPortalUtils.class); List list = new ArrayList<>(); String str = "TestTT"; String str2 = "Test new1"; String str1 = "Test new"; String str3 = "Test new2"; list.add(str); list.add(str1); list.add(str2); list.add(str3); Mockito.when(EcompPortalUtils.parsingByRegularExpression("TestTT", " ")).thenReturn(list); List userList = new ArrayList(); EPUser user = mockUser.mockEPUser(); user.setLastName("Test new"); user.setFirstName(null); userList.add(user); Mockito.when( this.userService.getUserByFirstLastName("TestTT","Test new")).thenReturn(userList); assertEquals(searchServiceImpl.searchUsersInPhoneBook("TestTT"), "[]"); } @Test public void searchUsersInFnTableLastNameTest() { PowerMockito.mockStatic(EcompPortalUtils.class); List list = new ArrayList<>(); String str = "Test"; String str2 = "Test new"; String str1 = "Test new1"; list.add(str); list.add(str1); list.add(str2); Mockito.when(EcompPortalUtils.parsingByRegularExpression("Test", " ")).thenReturn(list); List userList = new ArrayList(); EPUser user = mockUser.mockEPUser(); user.setLastName(null); userList.add(user); Mockito.when( this.userService.getUserByFirstLastName("Test","Test new")).thenReturn(userList); assertEquals(searchServiceImpl.searchUsersInPhoneBook("Test"), "[]"); } @Test public void searchUserByUserIdTest() { List userList = new ArrayList(); EPUser user = mockUser.mockEPUser(); user.setLastName("Test new"); userList.add(user); List foundUsers = new ArrayList(); Mockito.when(this.userService.getUserByUserId("guestT")).thenReturn(userList); EPUser expectedUser = searchServiceImpl.searchUserByUserId("guestT"); assertEquals(user, expectedUser); } @Test public void searchUserByUserIdExceptionTest() { Mockito.when(this.userService.getUserByUserId("guestT")).thenThrow(nullPointerException); assertNull(searchServiceImpl.searchUserByUserId("guestT")); } @Test public void searchUsersByUserIdTest() { List userList = new ArrayList(); EPUser user = mockUser.mockEPUser(); user.setLastName("Test new"); userList.add(user); Mockito.when(this.userService.getUserByUserId("guestT")).thenReturn(userList); List foundUsers = searchServiceImpl.searchUsersByUserId(user); assertEquals(foundUsers.size(), 1); } @Test public void searchUsersByUserIdExceptionTest() { EPUser user = mockUser.mockEPUser(); user.setLastName("Test new"); Mockito.when(this.userService.getUserByUserId("guestT")).thenThrow(nullPointerException); List foundUsers = searchServiceImpl.searchUsersByUserId(user); assertEquals(foundUsers.size(), 0); } @Test public void searchUsersByNameExceptionTest() { EPUser user = mockUser.mockEPUser(); user.setLastName("test"); user.setFirstName("test"); Mockito.when(this.userService.getUserByFirstLastName("test","test")).thenThrow(nullPointerException); List foundUsers = searchServiceImpl.searchUsersByName(user); assertEquals(foundUsers.size(), 0); } }