@Test public void testListProjectsActionByNormalUser() throws Exception { String actionString = Action.ListProjects.toString(); when(mockHttpServletRequest.getParameter(ServletUtil.ACTION)).thenReturn(actionString); // set AuthenticateOneTimeUser false prepareEnterAuthenticateOneTimeUser(false); User user = stubbingCheckUser(); String xmi = constructProjectsObjectsXmi(); doThrow( new org.talend.gwtadministrator.server.remoteconnection.ConnectionUtil .ResponseException(xmi)) .when(ConnectionUtil.class); ConnectionUtil.listAuthorizedProjects(user); // RUN... defaultConnectionStrategy.execute(mockHttpServletRequest, mockHttpServletResponse); verifyNecessaryChecks(actionString); verifyStatic(org.mockito.Mockito.times(1)); ConnectionUtil.checkUser(loginString, password, false); verifyStatic(org.mockito.Mockito.times(1)); ConnectionUtil.listAuthorizedProjects(user); PrintWriter writer = mockHttpServletResponse.getWriter(); writer.flush(); System.out.println(outStringWriter.toString()); // ASSERT... assertThat(outStringWriter.toString(), is("RESPONSE:" + xmi)); }
private void verifyNecessaryChecks(String actionString) throws Exception { verifyStatic(org.mockito.Mockito.times(1)); ConnectionUtil.checkParameter(actionString); verifyStatic(org.mockito.Mockito.times(1)); ConnectionUtil.checkParameter(versionString); verifyStatic(org.mockito.Mockito.times(1)); ConnectionUtil.checkVersion(versionString); }
@Test public void testCloseSessionByNormalUser() throws Exception { String sessionIdString = "555"; String actionString = Action.CloseSession.toString(); long sessionIdLong = Long.parseLong(sessionIdString); when(mockHttpServletRequest.getParameter(ServletUtil.ACTION)).thenReturn(actionString); when(mockHttpServletRequest.getParameter(ServletUtil.SESSION_ID)).thenReturn(sessionIdString); // set AuthenticateOneTimeUser false prepareEnterAuthenticateOneTimeUser(false); User user = stubbingCheckUser(); UsersCache userCacheHelper = mock(UsersCache.class); mockStatic(UsersCacheFactory.class); when(UsersCacheFactory.getInstance()).thenReturn(userCacheHelper); doNothing().when(userCacheHelper); userCacheHelper.remove(sessionIdLong); // RUN... defaultConnectionStrategy.execute(mockHttpServletRequest, mockHttpServletResponse); verifyNecessaryChecks(actionString); verifyStatic(org.mockito.Mockito.times(1)); ConnectionUtil.checkUser(loginString, password, false); PrintWriter writer = mockHttpServletResponse.getWriter(); writer.flush(); System.out.println(outStringWriter.toString()); // ASSERT... assertThat(outStringWriter.toString(), is("RESPONSE:" + String.valueOf(sessionIdLong))); }
@Test public void testOpenSessionByNormalUser() throws Exception { long sessionLong = 555; String actionString = Action.OpenSession.toString(); when(mockHttpServletRequest.getParameter(ServletUtil.ACTION)).thenReturn(actionString); when(mockHttpServletRequest.getParameter(ServletUtil.PROJECT)).thenReturn(projectString); // set AuthenticateOneTimeUser false prepareEnterAuthenticateOneTimeUser(false); User user = stubbingCheckUser(); UsersCache userCacheHelper = mock(UsersCache.class); mockStatic(UsersCacheFactory.class); when(UsersCacheFactory.getInstance()).thenReturn(userCacheHelper); when(userCacheHelper.logWithProjectLabel(loginString, CLIENT_TYPE, projectString)) .thenReturn(sessionLong); // RUN... defaultConnectionStrategy.execute(mockHttpServletRequest, mockHttpServletResponse); verifyNecessaryChecks(actionString); verifyStatic(org.mockito.Mockito.times(1)); ConnectionUtil.checkUser(loginString, password, false); PrintWriter writer = mockHttpServletResponse.getWriter(); writer.flush(); System.out.println(outStringWriter.toString()); // ASSERT... assertThat(outStringWriter.toString(), is("RESPONSE:" + String.valueOf(sessionLong))); }
@Test public void testLoginActionByAuthenticateOneTimeUser() throws Exception { String actionString = Action.Login.toString(); when(mockHttpServletRequest.getParameter(ServletUtil.ACTION)).thenReturn(actionString); when(mockHttpServletRequest.getParameter(ServletUtil.PROJECT)).thenReturn(projectString); // set AuthenticateOneTimeUser true prepareEnterAuthenticateOneTimeUser(true); String xmi = constructProjectsObjectsXmi(); doThrow( new org.talend.gwtadministrator.server.remoteconnection.ConnectionUtil .ResponseException(xmi)) .when(ConnectionUtil.class); ConnectionUtil.returnProjectAndUsers(anyString(), (User) any(), anyBoolean()); // RUN... defaultConnectionStrategy.execute(mockHttpServletRequest, mockHttpServletResponse); verifyNecessaryChecks(actionString); // verify called listAllProjects once verifyStatic(org.mockito.Mockito.times(1)); ConnectionUtil.returnProjectAndUsers(anyString(), (User) any(), anyBoolean()); PrintWriter writer = mockHttpServletResponse.getWriter(); writer.flush(); System.out.println(outStringWriter.toString()); // ASSERT... assertThat(outStringWriter.toString(), is("RESPONSE:" + xmi)); }
@Test public void testBestExecutionServerByNormalUser() throws Exception { String actionString = Action.BestExecutionServer.toString(); String virtualServerString = "server01"; when(mockHttpServletRequest.getParameter(ServletUtil.ACTION)).thenReturn(actionString); when(mockHttpServletRequest.getParameter(ServletUtil.VIRTUAL_SERVER)) .thenReturn(virtualServerString); // set AuthenticateOneTimeUser false prepareEnterAuthenticateOneTimeUser(false); User user = stubbingCheckUser(); doNothing().when(ConnectionUtil.class); ConnectionUtil.checkUserAuthorizationJobConductor(user); String xmi = constructServersObjectXmi(); doThrow( new org.talend.gwtadministrator.server.remoteconnection.ConnectionUtil .ResponseException(xmi)) .when(ConnectionUtil.class); ConnectionUtil.returnBestExecutionServer(virtualServerString); // RUN... defaultConnectionStrategy.execute(mockHttpServletRequest, mockHttpServletResponse); verifyNecessaryChecks(actionString); // verify called checkUserAuthorizationJobConductor once verifyStatic(org.mockito.Mockito.times(1)); ConnectionUtil.checkUserAuthorizationJobConductor(user); verifyStatic(org.mockito.Mockito.times(1)); ConnectionUtil.returnBestExecutionServer(virtualServerString); PrintWriter writer = mockHttpServletResponse.getWriter(); writer.flush(); System.out.println(outStringWriter.toString()); // ASSERT... assertThat(outStringWriter.toString(), is("RESPONSE:" + xmi)); }
@Test public void testListProjectsActionSentByCmdline() throws Exception { String actionString = Action.ListProjects.toString(); String loginString = ServletUtil.COMMAND_LIST_PROJECTS_HOOK; String passwdString = "any"; when(mockHttpServletRequest.getParameter(ServletUtil.ACTION)).thenReturn(actionString); when(mockHttpServletRequest.getParameter(ServletUtil.VERSION)).thenReturn(versionString); when(mockHttpServletRequest.getParameter(ServletUtil.LOGIN)).thenReturn(loginString); when(mockHttpServletRequest.getParameter(ServletUtil.PASSWD)).thenReturn(passwdString); spy(ConnectionUtil.class); doNothing().when(ConnectionUtil.class); ConnectionUtil.checkParameter(versionString); doNothing().when(ConnectionUtil.class); ConnectionUtil.checkVersion(versionString); String xmi = constructProjectsObjectsXmi(); doThrow( new org.talend.gwtadministrator.server.remoteconnection.ConnectionUtil .ResponseException(xmi)) .when(ConnectionUtil.class); ConnectionUtil.listAllProjects((User) any()); // RUN... defaultConnectionStrategy.execute(mockHttpServletRequest, mockHttpServletResponse); verifyNecessaryChecks(actionString); verifyStatic(org.mockito.Mockito.times(1)); ConnectionUtil.listAllProjects((User) any()); PrintWriter writer = mockHttpServletResponse.getWriter(); writer.flush(); System.out.println(outStringWriter.toString()); // ASSERT... assertThat(outStringWriter.toString(), is("RESPONSE:" + xmi)); }
@Test public void testGetWarningAction() throws Exception { String actionString = Action.GetWarning.toString(); String warningMsg = "It's a warning message"; String encodedMsg = EncryptionHelper.encode64(warningMsg.getBytes()); when(mockHttpServletRequest.getParameter(ServletUtil.ACTION)).thenReturn(actionString); when(mockHttpServletRequest.getParameter(ServletUtil.VERSION)).thenReturn(versionString); spy(ConnectionUtil.class); doNothing().when(ConnectionUtil.class); ConnectionUtil.checkParameter(versionString); doNothing().when(ConnectionUtil.class); ConnectionUtil.checkVersion(versionString); doThrow( new org.talend.gwtadministrator.server.remoteconnection.ConnectionUtil .ResponseException(encodedMsg)) .when(ConnectionUtil.class); ConnectionUtil.getWarnings(); // RUN... defaultConnectionStrategy.execute(mockHttpServletRequest, mockHttpServletResponse); verifyNecessaryChecks(actionString); verifyStatic(org.mockito.Mockito.times(1)); ConnectionUtil.getWarnings(); PrintWriter writer = mockHttpServletResponse.getWriter(); writer.flush(); System.out.println(outStringWriter.toString()); // ASSERT... assertThat(outStringWriter.toString(), is("RESPONSE:" + encodedMsg)); }