#884 微信公众号模块增加主体变更迁移用户openid的接口

* 增加接口 微信公众号主体变更迁移用户 openid

* add test
This commit is contained in:
007gzs
2018-12-17 22:42:23 +08:00
committed by Binary Wang
parent af68dd4522
commit b7d3f839f7
7 changed files with 149 additions and 0 deletions

View File

@ -1,8 +1,13 @@
package me.chanjar.weixin.mp.api.impl;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import me.chanjar.weixin.mp.api.WxMpUserService;
import me.chanjar.weixin.mp.bean.result.WxMpChangeOpenid;
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
import org.testng.*;
import org.testng.annotations.*;
@ -15,6 +20,9 @@ import me.chanjar.weixin.mp.bean.WxMpUserQuery;
import me.chanjar.weixin.mp.bean.result.WxMpUser;
import me.chanjar.weixin.mp.bean.result.WxMpUserList;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
/**
* 测试用户相关的接口
*
@ -75,4 +83,50 @@ public class WxMpUserServiceImplTest {
System.out.println(wxMpUserList);
}
public void testChangeOpenid() throws WxErrorException {
List<String> openids = new ArrayList<>();
openids.add(this.configProvider.getOpenid());
List<WxMpChangeOpenid> wxMpChangeOpenidList = this.wxService.getUserService()
.changeOpenid("原公众号appid", openids);
Assert.assertNotNull(wxMpChangeOpenidList);
Assert.assertEquals(1, wxMpChangeOpenidList.size());
WxMpChangeOpenid wxMpChangeOpenid = wxMpChangeOpenidList.get(0);
Assert.assertNotNull(wxMpChangeOpenid);
Assert.assertEquals(this.configProvider.getOpenid(), wxMpChangeOpenid.getOriOpenid());
System.out.println(wxMpChangeOpenid);
}
public static class MockTest {
private WxMpService wxService = mock(WxMpService.class);
@Test
public void testMockChangeOpenid() throws WxErrorException {
List<String> openids = new ArrayList<>();
openids.add("oEmYbwN-n24jxvk4Sox81qedINkQ");
openids.add("oEmYbwH9uVd4RKJk7ZZg6SzL6tTo");
String fromAppid = "old_appid";
Map<String, Object> map = new HashMap<>();
map.put("from_appid", fromAppid);
map.put("openid_list", openids);
String returnJson = "{\"errcode\": 0,\"errmsg\": \"ok\",\"result_list\": [{\"ori_openid\": \"oEmYbwN-n24jxvk4Sox81qedINkQ\",\"new_openid\": \"o2FwqwI9xCsVadFah_HtpPfaR-X4\",\"err_msg\": \"ok\"},{\"ori_openid\": \"oEmYbwH9uVd4RKJk7ZZg6SzL6tTo\",\"err_msg\": \"ori_openid error\"}]}";
when(wxService.post(WxMpUserService.USER_CHANGE_OPENID_URL, WxMpGsonBuilder.create().toJson(map))).thenReturn(returnJson);
List<WxMpChangeOpenid> wxMpChangeOpenidList = this.wxService.getUserService()
.changeOpenid(fromAppid, openids);
Assert.assertNotNull(wxMpChangeOpenidList);
Assert.assertEquals(2, wxMpChangeOpenidList.size());
WxMpChangeOpenid wxMpChangeOpenid = wxMpChangeOpenidList.get(0);
Assert.assertNotNull(wxMpChangeOpenid);
Assert.assertEquals("oEmYbwN-n24jxvk4Sox81qedINkQ", wxMpChangeOpenid.getOriOpenid());
Assert.assertEquals("o2FwqwI9xCsVadFah_HtpPfaR-X4", wxMpChangeOpenid.getNewOpenid());
Assert.assertEquals("ok", wxMpChangeOpenid.getErrMsg());
wxMpChangeOpenid = wxMpChangeOpenidList.get(1);
Assert.assertNotNull(wxMpChangeOpenid);
Assert.assertEquals("oEmYbwH9uVd4RKJk7ZZg6SzL6tTo", wxMpChangeOpenid.getOriOpenid());
Assert.assertNull(wxMpChangeOpenid.getNewOpenid());
Assert.assertEquals("ori_openid error", wxMpChangeOpenid.getErrMsg());
System.out.println(wxMpChangeOpenid);
}
}
}