Package sagan.tools.support

Source Code of sagan.tools.support.EclipseDownloadsXmlConverter_SingleDownloadTests

package sagan.tools.support;

import sagan.tools.DownloadLink;
import sagan.tools.EclipseDownloads;
import sagan.tools.EclipsePackage;
import sagan.tools.EclipseRelease;

import java.util.Collections;
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 EclipseDownloadsXmlConverter_SingleDownloadTests {

    private EclipseDownloads eclipseDownloads;

    @Before
    public void setup() {
        EclipseXmlDownload eclipseXmlDownload = new EclipseXmlDownload();
        eclipseXmlDownload.setOs("mac");
        eclipseXmlDownload.setEclipseVersion("4.3.0");
        eclipseXmlDownload.setSize("196MB");
        eclipseXmlDownload.setDescription("Mac OS X (Cocoa)");
        eclipseXmlDownload.setFile("release/ECLIPSE/kepler/R/eclipse-standard-kepler-R-macosx-cocoa.tar.gz");
        eclipseXmlDownload.setBucket("http://eclipseXmlDownload.springsource.com/");

        EclipseXmlPackage eclipseXmlPackage = new EclipseXmlPackage();
        eclipseXmlPackage.setName("Eclipse Standard 4.3 (Win32, 0MB)");
        eclipseXmlPackage.setEclipseXmlDownloads(Collections.singletonList(eclipseXmlDownload));

        EclipseXmlProduct eclipseXmlProduct = new EclipseXmlProduct();
        eclipseXmlProduct.setName("Eclipse Kepler Package Downloads (based on Eclipse 4.3)");
        eclipseXmlProduct.setPackages(Collections.singletonList(eclipseXmlPackage));
        EclipseXml eclipseXml = new EclipseXml();
        eclipseXml.setEclipseXmlProducts(Collections.singletonList(eclipseXmlProduct));

        EclipseDownloadsXmlConverter converter = new EclipseDownloadsXmlConverter();
        eclipseDownloads = converter.convert(eclipseXml);
    }

    @Test
    public void addsAPlatform() throws Exception {
        assertThat(eclipseDownloads.getPlatforms().size(), equalTo(1));
        assertThat(eclipseDownloads.getPlatforms().get("mac").getName(), equalTo("Mac"));
    }

    @Test
    public void addsAProduct() throws Exception {
        List<EclipseRelease> products = eclipseDownloads.getPlatforms().get("mac").getReleases();

        assertThat(products.size(), equalTo(1));
        assertThat(products.get(0).getName(), equalTo("Eclipse Kepler"));
        assertThat(products.get(0).getEclipseVersion(), equalTo("Eclipse 4.3"));
    }

    @Test
    public void addsAPackage() throws Exception {
        List<EclipsePackage> packages = eclipseDownloads.getPlatforms().get("mac").getReleases().get(0).getPackages();
        assertThat(packages.size(), equalTo(1));
        assertThat(packages.get(0).getName(), equalTo("Eclipse Standard 4.3"));
    }

    @Test
    public void addsAnArchitecture() throws Exception {
        EclipsePackage eclipsePackage =
                eclipseDownloads.getPlatforms().get("mac").getReleases().get(0).getPackages().get(0);
        assertThat(eclipsePackage.getArchitectures().size(), equalTo(1));
        assertThat(eclipsePackage.getArchitectures().get(0).getName(), equalTo("Mac OS X (Cocoa)"));
    }

    @Test
    public void addsADownloadLink() throws Exception {
        EclipsePackage eclipsePackage =
                eclipseDownloads.getPlatforms().get("mac").getReleases().get(0).getPackages().get(0);
        List<DownloadLink> downloadLinks = eclipsePackage.getArchitectures().get(0).getDownloadLinks();
        assertThat(downloadLinks.size(), equalTo(1));
        assertThat(downloadLinks.get(0).getOs(), equalTo("mac"));
        assertThat(downloadLinks.get(0).getArchitecture(), equalTo("32"));
        assertThat(
                downloadLinks.get(0).getUrl(),
                equalTo("http://eclipseXmlDownload.springsource.com/release/ECLIPSE/kepler/R/eclipse-standard-kepler-R-macosx-cocoa.tar.gz"));
        assertThat(downloadLinks.get(0).getFileSize(), equalTo("196MB"));
        assertThat(downloadLinks.get(0).getFileType(), equalTo("tar.gz"));
    }
}
TOP

Related Classes of sagan.tools.support.EclipseDownloadsXmlConverter_SingleDownloadTests

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.