1
0
mirror of synced 2025-12-24 02:57:55 +08:00

#707 企业微信增加应用管理里的设置和列表接口

This commit is contained in:
Binary Wang
2018-08-31 00:47:05 +08:00
parent 28b09f7ed6
commit 4dd67f46b8
4 changed files with 127 additions and 13 deletions

View File

@@ -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);
WxCpAgentService wxAgentService = this.wxService.getAgentService();
WxCpAgent wxCpAgent = wxAgentService.get(9);
assertThat(wxCpAgent.getAgentId()).isEqualTo(agentId);
Assert.assertEquals(9, wxCpAgent.getAgentId().intValue());
assertThat(wxCpAgent.getAllowUserInfos().getUsers().toArray()).isNotEmpty();
assertThat(wxCpAgent.getAllowParties().getPartyIds().toArray()).isNotEmpty();
assertThat(wxCpAgent.getAllowTags().getTagIds().toArray()).isNotEmpty();
}
Assert.assertEquals(new Integer[]{42762742}, wxCpAgent.getAllowParties().getPartyIds().toArray());
@Test
public void testSet() throws WxErrorException {
final Integer agentId = this.wxCpService.getWxCpConfigStorage().getAgentId();
Assert.assertEquals(new Integer[]{23, 22, 35, 19, 32, 125, 133, 46, 150, 38, 183, 9, 7}, wxCpAgent.getAllowTags().getTagIds().toArray());
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);
assertEquals(9, wxCpAgent.getAgentId().intValue());
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());
}
}