package sagan.tools.support;
import sagan.tools.Download;
import org.junit.Before;
import org.junit.Test;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.equalTo;
public class DownloadLinkExtractorTests {
private Download download;
private DownloadLinkExtractor extractor;
@Before
public void setUp() throws Exception {
download = new Download();
download.setDescription("Mac OS X (Cocoa)");
download.setOs("mac");
download.setFile("release/STS/3.3.0/dist/e4.3/spring-tool-suite-3.3.0.RELEASE-e4.3-macosx-cocoa-installer.dmg");
download.setBucket("http://dist.springsource.com/");
download.setEclipseVersion("4.3");
download.setSize("373MB");
download.setVersion("3.3.0.RELEASE");
extractor = new DownloadLinkExtractor();
}
@Test
public void extractsUrl() throws Exception {
assertThat(
extractor.createDownloadLink(download).getUrl(),
equalTo("http://dist.springsource.com/release/STS/3.3.0/dist/e4.3/spring-tool-suite-3.3.0.RELEASE-e4.3-macosx-cocoa-installer.dmg"));
}
@Test
public void extractsFileSize() throws Exception {
assertThat(extractor.createDownloadLink(download).getFileSize(), equalTo("373MB"));
}
@Test
public void extractsSimpleFileType() throws Exception {
assertThat(extractor.createDownloadLink(download).getFileType(), equalTo("dmg"));
}
@Test
public void extractsTarGzFileType() throws Exception {
download.setFile("release/STS/3.3.0/dist/e4.3/spring-tool-suite-3.3.0.RELEASE-e4.3-macosx-cocoa-installer.tar.gz");
assertThat(extractor.createDownloadLink(download).getFileType(), equalTo("tar.gz"));
}
@Test
public void extractsOs() throws Exception {
assertThat(extractor.createDownloadLink(download).getOs(), equalTo("mac"));
}
@Test
public void extractsArchitecture() throws Exception {
assertThat(extractor.createDownloadLink(download).getArchitecture(), equalTo("32"));
}
}