View Javadoc
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   * @className MediaTest
32   * @author jinyu(foxinmy@gmail.com)
33   * @date 2014年4月10日
34   * @since JDK 1.6
35   * @see
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  		// PPHCwX-13V4_IdIchHIsI1VDcJyUB5ttJdnRArbAmWrNXSxX55fQ831N7B_R3l1c
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  		// 8790403529
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  		// Sy1KOLsi4ri3kB3TYUuculVelcW2I7W6BrfGwkGvSW8beTCAarxuGQLjuNJChJr8
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 		// DVWwU0u9ommOTPgyJszpK943IWCCVAcFGNmiIBObf5E
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 		// 17385065153
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 }