package com.xiaomi.infra.galaxy.fds.client;
import org.junit.Assert;
import org.junit.Test;
/**
* Created by zhangjunbin on 12/24/14.
*/
public class TestFDSClientConfiguration {
@Test
public void testDefaultConfigurationValue() {
FDSClientConfiguration conf = new FDSClientConfiguration();
Assert.assertEquals("cnbj0", conf.getRegionName());
Assert.assertEquals(true, conf.isHttpsEnabled());
Assert.assertEquals(false, conf.isCdnEnabledForUpload());
Assert.assertEquals(true, conf.isCdnEnabledForDownload());
Assert.assertEquals(false, conf.isEnabledUnitTestMode());
}
@Test
public void testCdnChosen() {
FDSClientConfiguration fdsConfig = new FDSClientConfiguration();
String regionName = "regionName";
fdsConfig.setRegionName(regionName);
fdsConfig.enableHttps(true);
// Test flag enableCdnForUpload.
fdsConfig.enableCdnForUpload(true);
Assert.assertEquals(fdsConfig.getUploadBaseUri(),
"https://cdn." + regionName + ".fds.api.mi-img.com");
fdsConfig.enableCdnForUpload(false);
Assert.assertEquals(fdsConfig.getUploadBaseUri(),
"https://" + regionName + ".fds.api.xiaomi.com");
// Test flag enableCdnForDownload.
fdsConfig.enableCdnForDownload(true);
Assert.assertEquals(fdsConfig.getDownloadBaseUri(),
"http://cdn." + regionName + ".fds.api.mi-img.com");
fdsConfig.enableCdnForDownload(false);
Assert.assertEquals(fdsConfig.getDownloadBaseUri(),
"http://" + regionName + ".fds.api.xiaomi.com");
}
@Test
public void testBuildBaseUri() {
final String regionName = "regionName";
FDSClientConfiguration fdsConfig = new FDSClientConfiguration();
// Test against flag enable https.
fdsConfig.setRegionName(regionName);
fdsConfig.enableHttps(true);
Assert.assertEquals("https://" + regionName + ".fds.api.xiaomi.com/",
fdsConfig.buildBaseUri(false));
fdsConfig.enableHttps(false);
Assert.assertEquals("http://" + regionName + ".fds.api.xiaomi.com/",
fdsConfig.buildBaseUri(false));
// Test against region name.
fdsConfig.setRegionName(regionName);
fdsConfig.enableHttps(true);
Assert.assertEquals("https://" + regionName + ".fds.api.xiaomi.com/",
fdsConfig.buildBaseUri(false));
Assert.assertEquals("https://cdn." + regionName + ".fds.api.mi-img.com/",
fdsConfig.buildBaseUri(true));
String endpointName = "cnbj0.fds.api.xiaomi.com";
fdsConfig.setEndpoint(endpointName);
fdsConfig.enableHttps(true);
Assert.assertEquals("https://" + endpointName + "/", fdsConfig.buildBaseUri(false));
fdsConfig.enableHttps(false);
Assert.assertEquals("http://" + endpointName + "/", fdsConfig.buildBaseUri(false));
}
}