package com.cattong.weibo; import static org.junit.Assert.assertTrue; import java.io.File; import java.util.List; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Test; import com.cattong.commons.LibException; import com.cattong.commons.LibResultCode; import com.cattong.commons.Paging; import com.cattong.commons.http.auth.Authorization; import com.cattong.commons.util.ListUtil; import com.cattong.entity.GeoLocation; import com.cattong.entity.Status; import com.cattong.entity.StatusUpdate; import com.cattong.oauth.Config; //已经完成基本的测试用例 //@Ignore public class StatusMethods { private static Weibo weibo = null; private static String imagePath = "H:\\棋局.jpg"; @BeforeClass public static void beforClass() { Authorization auth = new Authorization(Config.SP); auth.setAccessToken(Config.ACCESS_TOKEN); auth.setAccessSecret(Config.ACCESS_SECRET); weibo = WeiboFactory.getInstance(auth); } @AfterClass public static void afterClass() { } @Test public void showStatus() { Status showStatus = null; try { String text = "测试接口:showStatus,莫怕," + System.currentTimeMillis(); StatusUpdate sUpdate = new StatusUpdate(text); Status status = weibo.updateStatus(sUpdate); assertTrue(status != null); showStatus = weibo.showStatus(status.getStatusId()); } catch (LibException e) { e.printStackTrace(); } assertTrue(showStatus != null); } @Test public void updateStatus() { Status status = null; try { String text = "测试接口:updateStatus,莫慌," + System.currentTimeMillis(); StatusUpdate sUpdate = new StatusUpdate(text); //地理位置 sUpdate.setLocation(new GeoLocation(39.9594049, 116.298419)); status = weibo.updateStatus(sUpdate); assertTrue(status != null); } catch (LibException e) { e.printStackTrace(); } } @Test public void uploadStatusWithPic() { Status status = null; try { String text = "测试发微博带图:updateStatus,莫慌," + System.currentTimeMillis(); File imageFile = new File(imagePath); StatusUpdate sUpdate = new StatusUpdate(text); //地理位置 //sUpdate.setLocation(new GeoLocation(39.9594049, 116.298419)); sUpdate.setImage(imageFile); status = weibo.updateStatus(sUpdate); assertTrue(status != null); } catch (LibException e) { e.printStackTrace(); assertTrue(false); } } @Test public void destroyStatus() { Status destroyedStatus = null; try { String text = "测试删除微博:destroyStatus,看到这条证明失败," + System.currentTimeMillis(); StatusUpdate sUpdate = new StatusUpdate(text); Status status = weibo.updateStatus(sUpdate); assertTrue(status != null); TestUtil.sleep(); destroyedStatus = weibo.destroyStatus(status.getStatusId()); } catch (LibException e) { e.printStackTrace(); } assertTrue(destroyedStatus != null); } @Test public void retweetStatus() { Status retweetStatus = null; try { String text = "转发原微博:updateStatus," + System.currentTimeMillis(); StatusUpdate sUpdate = new StatusUpdate(text); Status status = weibo.updateStatus(sUpdate); assertTrue(status != null); TestUtil.sleep(); String retweetText = "测试转发:retweetStatus," + System.currentTimeMillis(); boolean isComment = false; retweetStatus = weibo.retweetStatus(status.getStatusId(), retweetText, isComment); } catch (LibException e) { e.printStackTrace(); } assertTrue(retweetStatus != null); } //翻页:单向(SigleStyle) @Test public void getRetweetsOfStatus() { List<Status> listStatus = null; Paging<Status> paging = new Paging<Status>(); try { String text = "测试获取转发列表:getRetweetsOfStatus,造原数据," + System.currentTimeMillis(); StatusUpdate sUpdate = new StatusUpdate(text); Status status = weibo.updateStatus(sUpdate); assertTrue(status != null); TestUtil.sleep(); String retweetText = "测试转发列表:getRetweetsOfStatus,转发微博," + System.currentTimeMillis(); boolean isComment = false; Status retweet = weibo.retweetStatus(status.getStatusId(), retweetText, isComment); assertTrue(retweet != null); TestUtil.sleep(); listStatus = weibo.getRetweetsOfStatus(status.getStatusId(), paging); assertTrue(ListUtil.isNotEmpty(listStatus)); } catch (LibException e) { if (e.getErrorCode() == LibResultCode.API_UNSUPPORTED) { assertTrue(true); } else { e.printStackTrace(); assertTrue(false); } } } @Test public void getRetweetsOfStatus_param() { List<Status> listStatus = null; Paging<Status> paging = new Paging<Status>(); try { listStatus = weibo.getRetweetsOfStatus(null, paging); assertTrue(false); } catch (LibException e) { assertTrue(true); } try { listStatus = weibo.getRetweetsOfStatus("1235", null); assertTrue(false); } catch (LibException e) { assertTrue(true); } assertTrue(ListUtil.isEmpty(listStatus)); } //翻页:单向(SigleStyle) @Test public void getRetweetsOfStatus_paging() { List<Status> listStatus = null; Paging<Status> paging = new Paging<Status>(); try { String text = "测试获取转发列表:getRetweetsOfStatus_paging,造原数据," + System.currentTimeMillis(); StatusUpdate sUpdate = new StatusUpdate(text); Status status = weibo.updateStatus(sUpdate); assertTrue(status != null); TestUtil.sleep(); for (int i = 0; i < 6; i++) { String retweetText = "测试转发列表:getRetweetsOfStatus,转发微博," + System.currentTimeMillis(); boolean isComment = true; Status retweet = weibo.retweetStatus(status.getStatusId(), retweetText, isComment); assertTrue(status != retweet); TestUtil.sleep(); } listStatus = weibo.getRetweetsOfStatus(status.getStatusId(), paging); assertTrue(ListUtil.isNotEmpty(listStatus)); } catch (LibException e) { if (e.getErrorCode() == LibResultCode.API_UNSUPPORTED) { assertTrue(true); } else { e.printStackTrace(); assertTrue(false); } } } //翻页:单向(SigleStyle) @Test public void searchStatus() { List<Status> listStatus = null; Paging<Status> paging = new Paging<Status>(); try { listStatus = weibo.searchStatuses("#话题", paging); } catch (LibException e) { e.printStackTrace(); } assertTrue(ListUtil.isNotEmpty(listStatus)); } @Test public void searchStatus_param() { List<Status> listStatus = null; Paging<Status> paging = new Paging<Status>(); try { listStatus = weibo.searchStatuses("", paging); assertTrue(false); } catch (LibException e) { assertTrue(true); } try { listStatus = weibo.searchStatuses("Google", null); assertTrue(false); } catch (LibException e) { assertTrue(true); } assertTrue(ListUtil.isEmpty(listStatus)); } //翻页:单向(SigleStyle) @Test public void searchStatus_paging() { List<Status> listStatus = null; Paging<Status> paging = new Paging<Status>(); try { listStatus = weibo.searchStatuses("Google", paging); assertTrue(ListUtil.isNotEmpty(listStatus)); if (paging.moveToNext()) { listStatus = weibo.searchStatuses("Google", paging); assertTrue(ListUtil.isNotEmpty(listStatus)); } else { assertTrue(false); } } catch (LibException e) { assertTrue(false); } assertTrue(ListUtil.isNotEmpty(listStatus)); } @Test public void getDailyHotRetweets() { try { weibo.getDailyHotRetweets(new Paging<Status>()); } catch (LibException e) { e.printStackTrace(); assertTrue(false); } } @Test public void getWeeklyHotRetweets() { try { weibo.getWeeklyHotRetweets(new Paging<Status>()); } catch (LibException e) { e.printStackTrace(); assertTrue(false); } } @Test public void getDailyHotComments() { try { weibo.getDailyHotComments(new Paging<Status>()); } catch (LibException e) { e.printStackTrace(); assertTrue(false); } } @Test public void getWeeklyHotComments() { try { weibo.getWeeklyHotComments(new Paging<Status>()); } catch (LibException e) { e.printStackTrace(); assertTrue(false); } } }