@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"));
	
}