1 package com.foxinmy.weixin4j.mp.test;
2
3 import java.io.File;
4 import java.io.FileInputStream;
5 import java.io.FileNotFoundException;
6 import java.io.IOException;
7 import java.io.InputStream;
8 import java.util.ArrayList;
9 import java.util.List;
10
11 import org.junit.Assert;
12 import org.junit.Before;
13 import org.junit.Test;
14
15 import com.foxinmy.weixin4j.exception.WeixinException;
16 import com.foxinmy.weixin4j.http.weixin.ApiResult;
17 import com.foxinmy.weixin4j.model.media.MediaCounter;
18 import com.foxinmy.weixin4j.model.media.MediaDownloadResult;
19 import com.foxinmy.weixin4j.model.media.MediaItem;
20 import com.foxinmy.weixin4j.model.media.MediaRecord;
21 import com.foxinmy.weixin4j.model.media.MediaUploadResult;
22 import com.foxinmy.weixin4j.model.paging.Pageable;
23 import com.foxinmy.weixin4j.mp.api.MediaApi;
24 import com.foxinmy.weixin4j.tuple.MpArticle;
25 import com.foxinmy.weixin4j.tuple.MpVideo;
26 import com.foxinmy.weixin4j.type.MediaType;
27
28
29
30
31
32
33
34
35
36
37 public class MediaTest extends TokenTest {
38
39 private MediaApi mediaApi;
40
41 @Before
42 public void init() {
43 mediaApi = new MediaApi(tokenManager);
44 }
45
46 @Test
47 public void upload1() throws IOException, WeixinException {
48 File file = new File("/Users/jy/Downloads/weixin4j.png");
49 MediaUploadResult mediaId = mediaApi.uploadMedia(false,
50 new FileInputStream(file), file.getName());
51
52 Assert.assertNotNull(mediaId);
53 System.err.println(mediaId);
54 }
55
56 @Test
57 public void download1() throws WeixinException, IOException {
58 MediaDownloadResult content = mediaApi
59 .downloadMedia(
60 "PPHCwX-13V4_IdIchHIsI1VDcJyUB5ttJdnRArbAmWrNXSxX55fQ831N7B_R3l1c",
61 false);
62 Assert.assertTrue(content != null);
63 System.err.println(content);
64 }
65
66 @Test
67 public void upload2() throws IOException, WeixinException {
68 File file = new File("/root/Pictures/2.jpg");
69 MediaUploadResult mediaId = mediaApi.uploadMedia(true,
70 new FileInputStream(file), file.getName());
71
72 Assert.assertNotNull(mediaId);
73 System.err.println(mediaId);
74 }
75
76 @Test
77 public void uploadMaterialVideo() throws IOException, WeixinException {
78 File file = new File("/Users/jy/Downloads/test.mp4");
79 String mediaId = mediaApi.uploadMaterialVideo(
80 new FileInputStream(file), "filename", "title", "introduction");
81
82 Assert.assertNotNull(mediaId);
83 System.err.println(mediaId);
84 }
85
86 @Test
87 public void uploadVideo() throws WeixinException, FileNotFoundException {
88 InputStream is = new FileInputStream("/Users/jy/Downloads/test.mp4");
89 String fileName = "视频文件名";
90 String title = "视频标题";
91 String description = "视频描述";
92 MpVideo mpVideo = mediaApi
93 .uploadVideo(is, fileName, title, description);
94 Assert.assertTrue(mpVideo.getMediaId() != null);
95 System.err.println(mpVideo.getMediaId());
96 }
97
98 @Test
99 public void uploadMaterialArticle() throws WeixinException {
100 List<MpArticle> articles = new ArrayList<MpArticle>();
101 articles.add(new MpArticle("8790403529", "title", "content"));
102 String mediaId = mediaApi.uploadMaterialArticle(articles);
103
104 Assert.assertNotNull(mediaId);
105 System.err.println(mediaId);
106 }
107
108 @Test
109 public void downloadArticle() throws WeixinException {
110 List<MpArticle> articles = mediaApi
111 .downloadArticle("DVWwU0u9ommOTPgyJszpK943IWCCVAcFGNmiIBObf5E");
112 Assert.assertTrue(articles != null && !articles.isEmpty());
113 System.err.println(articles);
114 }
115
116 @Test
117 public void deleteMaterialMedia() throws WeixinException {
118 ApiResult result = mediaApi.deleteMaterialMedia("17385064953");
119 System.err.println(result);
120 }
121
122 @Test
123 public void updateMaterialArticle() throws WeixinException {
124 MpArticle article = new MpArticle("8790403529", "title", "content");
125 article.setAuthor("author_update");
126 article.setDigest("digest_update");
127 article.setShowCoverPic(false);
128 article.setSourceUrl("http://www.baidu.com");
129 ApiResult result = mediaApi.updateMaterialArticle("17385064953", 0,
130 article);
131 System.err.println(result);
132
133 }
134
135 @Test
136 public void countMaterialMedia() throws WeixinException {
137 MediaCounter counter = mediaApi.countMaterialMedia();
138 System.err.println(counter);
139 }
140
141 @Test
142 public void listMaterialMedia() throws WeixinException {
143 Pageable pageable = Pageable.get();
144 MediaRecord mediaRecord = mediaApi.listMaterialMedia(MediaType.news,
145 pageable);
146 System.err.println(mediaRecord);
147 }
148
149 @Test
150 public void listAllMaterialMedia() throws WeixinException {
151 List<MediaItem> mediaList = mediaApi
152 .listAllMaterialMedia(MediaType.image);
153 System.err.println(mediaList);
154 }
155 }