@Test public void testPrepareBuildProduct() throws Exception { File basedir = TestUtil.getBasedir("unitTestResources"); File productFile = new File(basedir, "test.product"); ProductConfiguration productConfiguration = ProductConfiguration.read(productFile); BuildOutputDirectory buildBasedir = new BuildOutputDirectory(new File(tempDir, "buildBasedir")); Product buildProduct = PublishProductMojo.prepareBuildProduct( productFile, productConfiguration, buildBasedir, "buildQualifier"); Assert.assertEquals( buildBasedir.getChild("products/testproduct/p2.inf"), buildProduct.getP2infFile()); Assert.assertTrue(buildBasedir.getChild("products/testproduct/p2.inf").exists()); File buildProductRootDir = buildBasedir.getChild("products/testproduct"); assertFileExists("icons/linux.xpm", buildProductRootDir); assertFileExists("icons/mac.ico", buildProductRootDir); assertFileExists("icons/solaris.ico", buildProductRootDir); assertFileExists("icons/win.ico", buildProductRootDir); assertFileExists("configs/config_linux.ini", buildProductRootDir); assertFileExists("configs/config_macosx.ini", buildProductRootDir); assertFileExists("configs/config_win32.ini", buildProductRootDir); assertFileExists("configs/config_solaris.ini", buildProductRootDir); ProductConfiguration buildProductConfiguration = ProductConfiguration.read(buildProduct.getProductFile()); Assert.assertEquals("0.1.0.buildQualifier", buildProductConfiguration.getVersion()); }
@Test public void testQualifyVersionsEmptyVersions() throws IOException { File basedir = TestUtil.getBasedir("unitTestResources"); File productFile = new File(basedir, "emptyVersion.product"); ProductConfiguration product = ProductConfiguration.read(productFile); PublishProductMojo.qualifyVersions(product, "20100623"); Assert.assertEquals("", product.getVersion()); }
@Test public void testExpandVersionInCapabilities() throws Exception { subject = new IUXmlTransformer(); IU iu = IU.read(new File(TestUtil.getBasedir("projects/iuXmlValueReplacement/"), "p2iu.xml")); subject.replaceQualifierInCapabilities(iu.getProvidedCapabilites(), "CAPABILITY"); assertThat(iu.getProvidedCapabilites(), hasItem(capability("anotherId", "2.0.0.CAPABILITY"))); assertThat(iu.getProvidedCapabilites(), hasItem(capability("demo.iu", "1.0.0.CAPABILITY"))); assertThat(iu.getProvidedCapabilites(), hasItem(capability("demo.iu", "1.1.1.CAPABILITY"))); }
@Test public void testExpandVersion() throws Exception { subject = new IUXmlTransformer(); IU iu = IU.read(new File(TestUtil.getBasedir("projects/iuXmlValueReplacement/"), "p2iu.xml")); subject.replaceSelfQualifiers(iu, "1.0.0.ABC", "ABC"); assertEquals(iu.getVersion(), "1.0.0.ABC"); assertThat(iu.getProvidedCapabilites(), hasItem(capability("demo.iu", "1.0.0.ABC"))); assertThat(iu.getArtifacts(), hasItem(artifact("demo.iu", "1.0.0.ABC"))); }
@Test public void testQualifyVersions() throws IOException { File basedir = TestUtil.getBasedir("unitTestResources"); File productFile = new File(basedir, "test.product"); ProductConfiguration product = ProductConfiguration.read(productFile); PublishProductMojo.qualifyVersions(product, "20100623"); Assert.assertEquals("0.1.0.20100623", product.getVersion()); Assert.assertEquals("0.1.0.20100623", product.getFeatures().get(0).getVersion()); Assert.assertEquals("0.1.0.qual", product.getFeatures().get(1).getVersion()); Assert.assertEquals("0.1.0.20100623", product.getPlugins().get(0).getVersion()); Assert.assertEquals("0.1.0.qual", product.getPlugins().get(1).getVersion()); }
@Test public void testPrepareBuildProductEmptyQualifier() throws Exception { File basedir = TestUtil.getBasedir("unitTestResources"); File productFile = new File(basedir, "test.product"); ProductConfiguration productConfiguration = ProductConfiguration.read(productFile); BuildOutputDirectory buildBasedir = new BuildOutputDirectory(new File(tempDir, "buildBasedir")); Product buildProduct = PublishProductMojo.prepareBuildProduct(productFile, productConfiguration, buildBasedir, ""); Assert.assertEquals( buildBasedir.getChild("products/testproduct/p2.inf"), buildProduct.getP2infFile()); Assert.assertTrue(buildBasedir.getChild("products/testproduct/p2.inf").exists()); ProductConfiguration buildProductConfiguration = ProductConfiguration.read(buildProduct.getProductFile()); Assert.assertEquals("0.1.0", buildProductConfiguration.getVersion()); }
@Test public void testExpandReferences() throws Exception { subject = new IUXmlTransformer(); IU iu = IU.read(new File(TestUtil.getBasedir("projects/iuXmlValueReplacement/"), "p2iu.xml")); TargetPlatform tp = mock(TargetPlatform.class); when(tp.resolveArtifact("p2-installable-unit", "org.junit4", "0.0.0")).thenReturn(junit4InTP); when(tp.resolveArtifact("p2-installable-unit", "org.hamcrest.core", "1.1.0.qualifier")) .thenReturn(hamcrestInTP); subject.replaceZerosInRequirements(iu, tp); subject.replaceQualifierInRequirements(iu, tp); assertThat(iu.getRequiredCapabilites(), hasItem(requirement("org.junit4", "4.8.1.v20100302"))); assertThat( iu.getRequiredCapabilites(), hasItem(requirement("org.hamcrest.core", "1.1.0.v20090501071000"))); }