@Test
  public void testExecute() {
    MockHttpServletRequest request = new MockHttpServletRequest();
    MockHttpServletResponse response = new MockHttpServletResponse();

    LogoutAction action = new LogoutAction();
    action.setServletRequest(request);
    action.setServletResponse(response);
    assertEquals(Action.SUCCESS, action.execute());
  }
Example #2
0
  @Test
  public void testGetAppList() throws UnsupportedEncodingException {
    // 测试准备。
    MockHttpServletRequest request = new MockHttpServletRequest();
    MockHttpServletResponse response = new MockHttpServletResponse();
    CredentialResolver credentialResolver = Mockito.mock(CredentialResolver.class);
    logoutAction.setCredentialResolver(credentialResolver);

    Ki4soService ki4soService = Mockito.mock(Ki4soService.class);
    logoutAction.setKi4soService(ki4soService);

    Credential credential = Mockito.mock(Credential.class);

    // 设置预期结果。
    Mockito.when(credentialResolver.resolveCredential(request)).thenReturn(credential);
    List<App> list = new ArrayList<App>();
    App app = new App();
    app.setAppId("1000");
    app.setAppName("测试应用程序1");
    app.setHost("app.com");
    app.setLogoutUrl("http://app.com/logout.do");
    list.add(app);
    Mockito.when(ki4soService.getAppList(credential)).thenReturn(list);

    // 执行查询。
    logoutAction.getAppList(request, response);

    // 检查结果。
    Assert.assertEquals("application/x-javascript", response.getContentType());
    Assert.assertEquals("UTF-8", response.getCharacterEncoding());
    // 检查输出的jsonp串是否正确。
    String content = response.getContentAsString();
    content = content.trim();
    Assert.assertTrue(content.startsWith("fetchAppList("));
    Assert.assertTrue(content.endsWith(");"));
    String json = content.replaceFirst("fetchAppList\\(", "");
    json = json.replaceFirst("\\);", "");
    JSONArray data = (JSONArray) JSON.parse(json);
    Assert.assertEquals(1, data.size());
    @SuppressWarnings("unchecked")
    Map<String, Object> map = (Map<String, Object>) data.get(0);
    Assert.assertEquals("1000", map.get("appId"));
  }
Example #3
0
  @Test
  public void testLogout() {
    MockHttpServletRequest request = new MockHttpServletRequest();
    MockHttpServletResponse response = new MockHttpServletResponse();

    CredentialResolver credentialResolver = Mockito.mock(CredentialResolver.class);
    logoutAction.setCredentialResolver(credentialResolver);

    Ki4soService ki4soService = Mockito.mock(Ki4soService.class);
    logoutAction.setKi4soService(ki4soService);

    // 测试没有cookie的情况。
    logoutAction.logout(request, response);
    Assert.assertEquals(0, response.getCookies().length);

    // 测试存在cookie,登出后要清除cookie值。
    request = new MockHttpServletRequest();
    response = new MockHttpServletResponse();
    request.setCookies(
        new Cookie(WebConstants.KI4SO_SERVER_ENCRYPTED_CREDENTIAL_COOKIE_KEY, "dddsd"));
    logoutAction.logout(request, response);
    Assert.assertEquals(1, response.getCookies().length);
    Assert.assertEquals(0, response.getCookies()[0].getMaxAge());
  }