|  |  | @@ -1,13 +1,21 @@ | 
		
	
		
			
			|  |  |  | package me.chanjar.weixin.cp.api.impl; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | import com.google.inject.Inject; | 
		
	
		
			
			|  |  |  | import me.chanjar.weixin.common.error.WxErrorException; | 
		
	
		
			
			|  |  |  | import me.chanjar.weixin.cp.api.ApiTestModule; | 
		
	
		
			
			|  |  |  | import me.chanjar.weixin.cp.api.WxCpAgentService; | 
		
	
		
			
			|  |  |  | import me.chanjar.weixin.cp.api.WxCpService; | 
		
	
		
			
			|  |  |  | import me.chanjar.weixin.cp.bean.WxCpAgent; | 
		
	
		
			
			|  |  |  | import org.testng.Assert; | 
		
	
		
			
			|  |  |  | import org.testng.annotations.Guice; | 
		
	
		
			
			|  |  |  | import org.testng.annotations.Test; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | import java.util.List; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | import static org.assertj.core.api.Assertions.assertThat; | 
		
	
		
			
			|  |  |  | import static org.mockito.Mockito.mock; | 
		
	
		
			
			|  |  |  | import static org.mockito.Mockito.when; | 
		
	
		
			
			|  |  |  | import static org.testng.Assert.assertEquals; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | /** | 
		
	
	
		
			
				|  |  | @@ -18,24 +26,64 @@ import static org.mockito.Mockito.when; | 
		
	
		
			
			|  |  |  | * | 
		
	
		
			
			|  |  |  | * @author <a href="https://github.com/huansinho">huansinho</a> | 
		
	
		
			
			|  |  |  | */ | 
		
	
		
			
			|  |  |  | @Guice(modules = ApiTestModule.class) | 
		
	
		
			
			|  |  |  | public class WxCpAgentServiceImplTest { | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | protected WxCpService wxService = mock(WxCpService.class); | 
		
	
		
			
			|  |  |  | @Inject | 
		
	
		
			
			|  |  |  | private WxCpService wxCpService; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | @Test | 
		
	
		
			
			|  |  |  | public void testGet() throws Exception { | 
		
	
		
			
			|  |  |  | String returnJson = "{\"errcode\": 0,\"errmsg\": \"ok\",\"agentid\": 9,\"name\": \"测试应用\",\"square_logo_url\": \"http://wx.qlogo.cn/mmhead/alksjf;lasdjf;lasjfuodiuj3rj2o34j/0\",\"description\": \"这是一个企业号应用\",\"allow_userinfos\": {\"user\": [{\"userid\": \"0009854\"}, {\"userid\": \"1723\"}, {\"userid\": \"5625\"}]},\"allow_partys\": {\"partyid\": [42762742]},\"allow_tags\": {\"tagid\": [23, 22, 35, 19, 32, 125, 133, 46, 150, 38, 183, 9, 7]},\"close\": 0,\"redirect_domain\": \"weixin.com.cn\",\"report_location_flag\": 0,\"isreportenter\": 0,\"home_url\": \"\"}"; | 
		
	
		
			
			|  |  |  | when(wxService.get("https://qyapi.weixin.qq.com/cgi-bin/agent/get?agentid=9", null)).thenReturn(returnJson); | 
		
	
		
			
			|  |  |  | when(wxService.getAgentService()).thenReturn(new WxCpAgentServiceImpl(wxService)); | 
		
	
		
			
			|  |  |  | final Integer agentId = this.wxCpService.getWxCpConfigStorage().getAgentId(); | 
		
	
		
			
			|  |  |  | WxCpAgent wxCpAgent = this.wxCpService.getAgentService().get(agentId); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | assertThat(wxCpAgent.getAgentId()).isEqualTo(agentId); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | assertThat(wxCpAgent.getAllowUserInfos().getUsers().toArray()).isNotEmpty(); | 
		
	
		
			
			|  |  |  | assertThat(wxCpAgent.getAllowParties().getPartyIds().toArray()).isNotEmpty(); | 
		
	
		
			
			|  |  |  | assertThat(wxCpAgent.getAllowTags().getTagIds().toArray()).isNotEmpty(); | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | @Test | 
		
	
		
			
			|  |  |  | public void testSet() throws WxErrorException { | 
		
	
		
			
			|  |  |  | final Integer agentId = this.wxCpService.getWxCpConfigStorage().getAgentId(); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | this.wxCpService.getAgentService().set(WxCpAgent.builder() | 
		
	
		
			
			|  |  |  | .description("abcddd") | 
		
	
		
			
			|  |  |  | .logoMediaId("aaaaaaaaaaaaaa") | 
		
	
		
			
			|  |  |  | .agentId(agentId) | 
		
	
		
			
			|  |  |  | .build()); | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | @Test | 
		
	
		
			
			|  |  |  | public void testList() throws WxErrorException { | 
		
	
		
			
			|  |  |  | List<WxCpAgent> list = this.wxCpService.getAgentService().list(); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | assertThat(list).isNotEmpty(); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | assertThat(list.get(0).getAgentId()).isNotNull(); | 
		
	
		
			
			|  |  |  | assertThat(list.get(0).getName()).isNotEmpty(); | 
		
	
		
			
			|  |  |  | assertThat(list.get(0).getSquareLogoUrl()).isNotEmpty(); | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | public static class MockTest { | 
		
	
		
			
			|  |  |  | private WxCpService wxService = mock(WxCpService.class); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | @Test | 
		
	
		
			
			|  |  |  | public void testGet() throws Exception { | 
		
	
		
			
			|  |  |  | String returnJson = "{\"errcode\": 0,\"errmsg\": \"ok\",\"agentid\": 9,\"name\": \"测试应用\",\"square_logo_url\": \"http://wx.qlogo.cn/mmhead/alksjf;lasdjf;lasjfuodiuj3rj2o34j/0\",\"description\": \"这是一个企业号应用\",\"allow_userinfos\": {\"user\": [{\"userid\": \"0009854\"}, {\"userid\": \"1723\"}, {\"userid\": \"5625\"}]},\"allow_partys\": {\"partyid\": [42762742]},\"allow_tags\": {\"tagid\": [23, 22, 35, 19, 32, 125, 133, 46, 150, 38, 183, 9, 7]},\"close\": 0,\"redirect_domain\": \"weixin.com.cn\",\"report_location_flag\": 0,\"isreportenter\": 0,\"home_url\": \"\"}"; | 
		
	
		
			
			|  |  |  | when(wxService.get("https://qyapi.weixin.qq.com/cgi-bin/agent/get?agentid=9", null)).thenReturn(returnJson); | 
		
	
		
			
			|  |  |  | when(wxService.getAgentService()).thenReturn(new WxCpAgentServiceImpl(wxService)); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | WxCpAgentService wxAgentService = this.wxService.getAgentService(); | 
		
	
		
			
			|  |  |  | WxCpAgent wxCpAgent = wxAgentService.get(9); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | WxCpAgentService wxAgentService = this.wxService.getAgentService(); | 
		
	
		
			
			|  |  |  | WxCpAgent wxCpAgent = wxAgentService.get(9); | 
		
	
		
			
			|  |  |  | assertEquals(9, wxCpAgent.getAgentId().intValue()); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | Assert.assertEquals(9, wxCpAgent.getAgentId().intValue()); | 
		
	
		
			
			|  |  |  | assertEquals(new Integer[]{42762742}, wxCpAgent.getAllowParties().getPartyIds().toArray()); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | Assert.assertEquals(new Integer[]{42762742}, wxCpAgent.getAllowParties().getPartyIds().toArray()); | 
		
	
		
			
			|  |  |  | assertEquals(new Integer[]{23, 22, 35, 19, 32, 125, 133, 46, 150, 38, 183, 9, 7}, wxCpAgent.getAllowTags().getTagIds().toArray()); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | Assert.assertEquals(new Integer[]{23, 22, 35, 19, 32, 125, 133, 46, 150, 38, 183, 9, 7}, wxCpAgent.getAllowTags().getTagIds().toArray()); | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
	
		
			
				|  |  | 
 |