package sagan.tools.support;
import sagan.tools.Download;
import sagan.tools.Release;
import sagan.tools.ToolSuiteDownloads;
import sagan.tools.UpdateSiteArchive;
import java.util.ArrayList;
import java.util.List;
import org.junit.Before;
import org.junit.Test;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.equalTo;
public class ToolXmlConverter_SingleArchiveDownloadTests {
private ToolSuiteDownloads toolSuite;
private ToolXmlConverter toolXmlConverter;
@Before
public void setUp() throws Exception {
ToolSuiteXml toolSuiteXml = new ToolSuiteXml();
List<Release> releases = new ArrayList<>();
Release release = new Release();
List<Download> downloads = new ArrayList<>();
Download download = new Download();
download.setDescription("Update Site");
download.setOs("all");
download.setFile("release/TOOLS/update/3.3.0.RELEASE/e4.3/springsource-tool-suite-3.3.0.RELEASE-e4.3-updatesite.zip");
download.setBucket("http://dist.springsource.com/");
download.setEclipseVersion("4.3.x");
download.setSize("172MB");
download.setVersion("3.3.0.RELEASE");
downloads.add(download);
release.setDownloads(downloads);
release.setName("Spring Tool Suite 3.3.0.RELEASE - based on Eclipse Kepler 4.3");
releases.add(release);
toolSuiteXml.setReleases(releases);
toolXmlConverter = new ToolXmlConverter();
toolSuite = toolXmlConverter.convert(toolSuiteXml, "Spring Tool Suite", "STS");
}
@Test
public void addsAnUpdateSiteArchive() {
assertThat(toolSuite.getArchives().size(), equalTo(1));
UpdateSiteArchive archive = toolSuite.getArchives().get(0);
assertThat(archive.getVersion(), equalTo("4.3.x"));
assertThat(
archive.getUrl(),
equalTo("http://dist.springsource.com/release/TOOLS/update/3.3.0.RELEASE/e4.3/springsource-tool-suite-3.3.0.RELEASE-e4.3-updatesite.zip"));
assertThat(archive.getFileSize(), equalTo("172MB"));
assertThat(archive.getFileName(), equalTo("springsource-tool-suite-3.3.0.RELEASE-e4.3-updatesite.zip"));
}
}