| @@ -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; | |||