package com.baidu.disconf.core.test.restful;
import java.io.File;
import org.apache.commons.io.FileUtils;
import org.junit.AfterClass;
import org.junit.Assert;
import org.junit.BeforeClass;
import org.junit.Test;
import com.baidu.disconf.core.common.json.ValueVo;
import com.baidu.disconf.core.common.restful.RestfulMgr;
import com.baidu.disconf.core.common.restful.core.RemoteUrl;
import com.baidu.disconf.core.common.restful.impl.RestfulMgrImpl;
import com.baidu.disconf.core.common.restful.retry.impl.RetryStrategyRoundBin;
import com.baidu.disconf.core.test.common.BaseCoreTestCase;
/**
* 使用 WireMock 进行测试
*
* @author liaoqiqi
* @version 2014-7-30
*/
public class RestfulMgrTestCase extends BaseCoreTestCase {
private static RestfulMgr restfulMgr = null;
@BeforeClass
public static void myInit() {
restfulMgr = new RestfulMgrImpl(new RetryStrategyRoundBin());
}
@AfterClass
public static void release() {
restfulMgr.close();
}
/**
*
*/
@Test
public void tetGetJsonData() {
try {
RemoteUrl remoteUrl = new RemoteUrl(RemoteMockServer.ITEM_URL, RemoteMockServer.LOCAL_HOST_LIST);
ValueVo valueVo = restfulMgr.getJsonData(ValueVo.class, remoteUrl, 3, 3);
Assert.assertEquals(String.valueOf(RemoteMockServer.DEFAULT_ITEM_VALUE), valueVo.getValue());
} catch (Exception e) {
e.printStackTrace();
Assert.assertTrue(false);
}
}
/**
*
*/
@Test
public void tetDownloadFromServer() {
try {
RemoteUrl remoteUrl = new RemoteUrl(RemoteMockServer.FILE_URL, RemoteMockServer.LOCAL_HOST_LIST);
String downloadFilePath = restfulMgr.downloadFromServer(remoteUrl, RemoteMockServer.FILE_NAME,
RemoteMockServer.LOCAL_DOWNLOAD_DIR, RemoteMockServer.LOCAL_DOWNLOAD_DIR_TEMP, RemoteMockServer
.LOCAL_TARGET_DOWNLOAD_DIR,
true, 3, 3);
File file = new File(downloadFilePath);
String content = FileUtils.readFileToString(file);
Assert.assertEquals(RemoteMockServer.FILE_CONTENT, content);
} catch (Exception e) {
e.printStackTrace();
Assert.assertTrue(false);
}
}
/**
*
*/
@Test
public void testZooPrefixUrl() {
try {
RemoteUrl remoteUrl = new RemoteUrl(RemoteMockServer.ZOO_PREFIX_URL, RemoteMockServer.LOCAL_HOST_LIST);
ValueVo valueVo = restfulMgr.getJsonData(ValueVo.class, remoteUrl, 3, 3);
Assert.assertEquals(String.valueOf(RemoteMockServer.ZOO_PREFIX_VALUE), valueVo.getValue());
} catch (Exception e) {
e.printStackTrace();
Assert.assertTrue(false);
}
}
/**
*
*/
@Test
public void testZooHost() {
try {
RemoteUrl remoteUrl = new RemoteUrl(RemoteMockServer.ZOO_URL, RemoteMockServer.LOCAL_HOST_LIST);
ValueVo valueVo = restfulMgr.getJsonData(ValueVo.class, remoteUrl, 3, 3);
Assert.assertEquals(String.valueOf(RemoteMockServer.ZOO_HOSTS), valueVo.getValue());
} catch (Exception e) {
e.printStackTrace();
Assert.assertTrue(false);
}
}
}