|
|
@@ -1,15 +1,6 @@ |
|
|
|
package me.chanjar.weixin.mp.api; |
|
|
|
|
|
|
|
import java.io.IOException; |
|
|
|
import java.io.InputStream; |
|
|
|
|
|
|
|
import org.testng.Assert; |
|
|
|
import org.testng.annotations.DataProvider; |
|
|
|
import org.testng.annotations.Guice; |
|
|
|
import org.testng.annotations.Test; |
|
|
|
|
|
|
|
import com.google.inject.Inject; |
|
|
|
|
|
|
|
import me.chanjar.weixin.common.api.WxConsts; |
|
|
|
import me.chanjar.weixin.common.bean.result.WxMediaUploadResult; |
|
|
|
import me.chanjar.weixin.common.exception.WxErrorException; |
|
|
@@ -19,13 +10,20 @@ import me.chanjar.weixin.mp.bean.WxMpMassTagMessage; |
|
|
|
import me.chanjar.weixin.mp.bean.WxMpMassVideo; |
|
|
|
import me.chanjar.weixin.mp.bean.result.WxMpMassSendResult; |
|
|
|
import me.chanjar.weixin.mp.bean.result.WxMpMassUploadResult; |
|
|
|
import org.testng.Assert; |
|
|
|
import org.testng.annotations.DataProvider; |
|
|
|
import org.testng.annotations.Guice; |
|
|
|
import org.testng.annotations.Test; |
|
|
|
|
|
|
|
import java.io.IOException; |
|
|
|
import java.io.InputStream; |
|
|
|
|
|
|
|
/** |
|
|
|
* 测试群发消息 |
|
|
|
* @author chanjarster |
|
|
|
* |
|
|
|
* @author chanjarster |
|
|
|
*/ |
|
|
|
@Test(groups = "massAPI", dependsOnGroups = { "baseAPI", "mediaAPI", "groupAPI"}) |
|
|
|
@Test(groups = "massAPI", dependsOnGroups = {"baseAPI", "mediaAPI", "groupAPI"}) |
|
|
|
@Guice(modules = ApiTestModule.class) |
|
|
|
public class WxMpMassMessageAPITest { |
|
|
|
|
|
|
@@ -36,31 +34,31 @@ public class WxMpMassMessageAPITest { |
|
|
|
public void testTextMassOpenIdsMessageSend() throws WxErrorException { |
|
|
|
// 发送群发消息 |
|
|
|
WxXmlMpInMemoryConfigStorage configProvider = (WxXmlMpInMemoryConfigStorage) this.wxService |
|
|
|
.getWxMpConfigStorage(); |
|
|
|
.getWxMpConfigStorage(); |
|
|
|
WxMpMassOpenIdsMessage massMessage = new WxMpMassOpenIdsMessage(); |
|
|
|
massMessage.setMsgType(WxConsts.MASS_MSG_TEXT); |
|
|
|
massMessage.setContent("测试群发消息\n欢迎欢迎,热烈欢迎\n换行测试\n超链接:<a href=\"http://www.baidu.com\">Hello World</a>"); |
|
|
|
massMessage.getToUsers().add(configProvider.getOpenid()); |
|
|
|
|
|
|
|
WxMpMassSendResult massResult = this.wxService |
|
|
|
.massOpenIdsMessageSend(massMessage); |
|
|
|
.massOpenIdsMessageSend(massMessage); |
|
|
|
Assert.assertNotNull(massResult); |
|
|
|
Assert.assertNotNull(massResult.getMsgId()); |
|
|
|
} |
|
|
|
|
|
|
|
@Test(dataProvider="massMessages") |
|
|
|
@Test(dataProvider = "massMessages") |
|
|
|
public void testMediaMassOpenIdsMessageSend(String massMsgType, |
|
|
|
String mediaId) throws WxErrorException { |
|
|
|
String mediaId) throws WxErrorException { |
|
|
|
// 发送群发消息 |
|
|
|
WxXmlMpInMemoryConfigStorage configProvider = (WxXmlMpInMemoryConfigStorage) this.wxService |
|
|
|
.getWxMpConfigStorage(); |
|
|
|
.getWxMpConfigStorage(); |
|
|
|
WxMpMassOpenIdsMessage massMessage = new WxMpMassOpenIdsMessage(); |
|
|
|
massMessage.setMsgType(massMsgType); |
|
|
|
massMessage.setMediaId(mediaId); |
|
|
|
massMessage.getToUsers().add(configProvider.getOpenid()); |
|
|
|
|
|
|
|
WxMpMassSendResult massResult = this.wxService |
|
|
|
.massOpenIdsMessageSend(massMessage); |
|
|
|
.massOpenIdsMessageSend(massMessage); |
|
|
|
Assert.assertNotNull(massResult); |
|
|
|
Assert.assertNotNull(massResult.getMsgId()); |
|
|
|
} |
|
|
@@ -68,28 +66,28 @@ public class WxMpMassMessageAPITest { |
|
|
|
@Test |
|
|
|
public void testTextMassGroupMessageSend() throws WxErrorException { |
|
|
|
WxMpMassTagMessage massMessage = new WxMpMassTagMessage(); |
|
|
|
massMessage.setMsgtype(WxConsts.MASS_MSG_TEXT); |
|
|
|
massMessage.setMsgType(WxConsts.MASS_MSG_TEXT); |
|
|
|
massMessage.setContent("测试群发消息\n欢迎欢迎,热烈欢迎\n换行测试\n超链接:<a href=\"http://www.baidu.com\">Hello World</a>"); |
|
|
|
massMessage |
|
|
|
.setTagId(this.wxService.getUserTagService().tagGet().get(0).getId()); |
|
|
|
.setTagId(this.wxService.getUserTagService().tagGet().get(0).getId()); |
|
|
|
|
|
|
|
WxMpMassSendResult massResult = this.wxService |
|
|
|
.massGroupMessageSend(massMessage); |
|
|
|
.massGroupMessageSend(massMessage); |
|
|
|
Assert.assertNotNull(massResult); |
|
|
|
Assert.assertNotNull(massResult.getMsgId()); |
|
|
|
} |
|
|
|
|
|
|
|
@Test(dataProvider="massMessages") |
|
|
|
@Test(dataProvider = "massMessages") |
|
|
|
public void testMediaMassGroupMessageSend(String massMsgType, String mediaId) |
|
|
|
throws WxErrorException { |
|
|
|
throws WxErrorException { |
|
|
|
WxMpMassTagMessage massMessage = new WxMpMassTagMessage(); |
|
|
|
massMessage.setMsgtype(massMsgType); |
|
|
|
massMessage.setMsgType(massMsgType); |
|
|
|
massMessage.setMediaId(mediaId); |
|
|
|
massMessage |
|
|
|
.setTagId(this.wxService.getUserTagService().tagGet().get(0).getId()); |
|
|
|
.setTagId(this.wxService.getUserTagService().tagGet().get(0).getId()); |
|
|
|
|
|
|
|
WxMpMassSendResult massResult = this.wxService |
|
|
|
.massGroupMessageSend(massMessage); |
|
|
|
.massGroupMessageSend(massMessage); |
|
|
|
Assert.assertNotNull(massResult); |
|
|
|
Assert.assertNotNull(massResult.getMsgId()); |
|
|
|
} |
|
|
@@ -102,10 +100,10 @@ public class WxMpMassMessageAPITest { |
|
|
|
* 视频素材 |
|
|
|
*/ |
|
|
|
try (InputStream inputStream = ClassLoader |
|
|
|
.getSystemResourceAsStream("mm.mp4")) { |
|
|
|
.getSystemResourceAsStream("mm.mp4")) { |
|
|
|
// 上传视频到媒体库 |
|
|
|
WxMediaUploadResult uploadMediaRes = this.wxService.getMaterialService() |
|
|
|
.mediaUpload(WxConsts.MEDIA_VIDEO, WxConsts.FILE_MP4, inputStream); |
|
|
|
.mediaUpload(WxConsts.MEDIA_VIDEO, WxConsts.FILE_MP4, inputStream); |
|
|
|
Assert.assertNotNull(uploadMediaRes); |
|
|
|
Assert.assertNotNull(uploadMediaRes.getMediaId()); |
|
|
|
|
|
|
@@ -117,41 +115,41 @@ public class WxMpMassMessageAPITest { |
|
|
|
WxMpMassUploadResult uploadResult = this.wxService.massVideoUpload(video); |
|
|
|
Assert.assertNotNull(uploadResult); |
|
|
|
Assert.assertNotNull(uploadResult.getMediaId()); |
|
|
|
messages[0] = new Object[] { WxConsts.MASS_MSG_VIDEO, uploadResult.getMediaId() }; |
|
|
|
messages[0] = new Object[]{WxConsts.MASS_MSG_VIDEO, uploadResult.getMediaId()}; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 图片素材 |
|
|
|
*/ |
|
|
|
try (InputStream inputStream = ClassLoader |
|
|
|
.getSystemResourceAsStream("mm.jpeg")) { |
|
|
|
.getSystemResourceAsStream("mm.jpeg")) { |
|
|
|
WxMediaUploadResult uploadMediaRes = this.wxService.getMaterialService() |
|
|
|
.mediaUpload(WxConsts.MEDIA_IMAGE, WxConsts.FILE_JPG, inputStream); |
|
|
|
.mediaUpload(WxConsts.MEDIA_IMAGE, WxConsts.FILE_JPG, inputStream); |
|
|
|
Assert.assertNotNull(uploadMediaRes); |
|
|
|
Assert.assertNotNull(uploadMediaRes.getMediaId()); |
|
|
|
messages[1] = new Object[] { WxConsts.MASS_MSG_IMAGE, uploadMediaRes.getMediaId() }; |
|
|
|
messages[1] = new Object[]{WxConsts.MASS_MSG_IMAGE, uploadMediaRes.getMediaId()}; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 语音素材 |
|
|
|
*/ |
|
|
|
try (InputStream inputStream = ClassLoader |
|
|
|
.getSystemResourceAsStream("mm.mp3")) { |
|
|
|
.getSystemResourceAsStream("mm.mp3")) { |
|
|
|
WxMediaUploadResult uploadMediaRes = this.wxService.getMaterialService() |
|
|
|
.mediaUpload(WxConsts.MEDIA_VOICE, WxConsts.FILE_MP3, inputStream); |
|
|
|
.mediaUpload(WxConsts.MEDIA_VOICE, WxConsts.FILE_MP3, inputStream); |
|
|
|
Assert.assertNotNull(uploadMediaRes); |
|
|
|
Assert.assertNotNull(uploadMediaRes.getMediaId()); |
|
|
|
messages[2] = new Object[] { WxConsts.MASS_MSG_VOICE, uploadMediaRes.getMediaId() }; |
|
|
|
messages[2] = new Object[]{WxConsts.MASS_MSG_VOICE, uploadMediaRes.getMediaId()}; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 图文素材 |
|
|
|
*/ |
|
|
|
try (InputStream inputStream = ClassLoader |
|
|
|
.getSystemResourceAsStream("mm.jpeg")) { |
|
|
|
.getSystemResourceAsStream("mm.jpeg")) { |
|
|
|
// 上传照片到媒体库 |
|
|
|
WxMediaUploadResult uploadMediaRes = this.wxService.getMaterialService() |
|
|
|
.mediaUpload(WxConsts.MEDIA_IMAGE, WxConsts.FILE_JPG, inputStream); |
|
|
|
.mediaUpload(WxConsts.MEDIA_IMAGE, WxConsts.FILE_JPG, inputStream); |
|
|
|
Assert.assertNotNull(uploadMediaRes); |
|
|
|
Assert.assertNotNull(uploadMediaRes.getMediaId()); |
|
|
|
|
|
|
@@ -174,10 +172,10 @@ public class WxMpMassMessageAPITest { |
|
|
|
news.addArticle(article2); |
|
|
|
|
|
|
|
WxMpMassUploadResult massUploadResult = this.wxService |
|
|
|
.massNewsUpload(news); |
|
|
|
.massNewsUpload(news); |
|
|
|
Assert.assertNotNull(massUploadResult); |
|
|
|
Assert.assertNotNull(uploadMediaRes.getMediaId()); |
|
|
|
messages[3] = new Object[] { WxConsts.MASS_MSG_NEWS, massUploadResult.getMediaId() }; |
|
|
|
messages[3] = new Object[]{WxConsts.MASS_MSG_NEWS, massUploadResult.getMediaId()}; |
|
|
|
} |
|
|
|
|
|
|
|
return messages; |
|
|
|