package depends.extractor.pom; import org.junit.Before; import org.junit.Test; import java.io.IOException; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; public class EntityExtractTest extends MavenParserTest{ @Before public void setUp() { super.init(); } @Test public void use_package_contains() throws IOException { String[] srcs = new String[] { "./src/test/resources/maven-code-examples/simple/log4j.pom", }; for (String src:srcs) { PomFileParser parser = createParser(); parser.parse(src); } resolveAllBindings(); assertEquals(0,entityRepo.getEntity("org.log4j-test.log4j_1.2.12_").getRelations().size()); } @Test public void should_use_parent_groupId() throws IOException { String[] srcs = new String[] { "./src/test/resources/maven-code-examples/use_parent_groupId_and_version.pom", }; for (String src:srcs) { PomFileParser parser = createParser(); parser.parse(src); } resolveAllBindings(); assertNotNull(entityRepo.getEntity("org.apache.maven.surefire.surefire-junit4_2.12.4_")); } @Test public void should_parse_properties_in_same_pom() throws IOException { String[] srcs = new String[] { "./src/test/resources/maven-code-examples/properties-test1.pom", }; for (String src:srcs) { PomFileParser parser = createParser(); parser.parse(src); } resolveAllBindings(); PomArtifactEntity entity = (PomArtifactEntity)(entityRepo.getEntity("properties-test.test_1_")); /* 1.00 3.1.4 Apache ActiveMQ activemq-${project.version} */ assertEquals("1.00",entity.getProperty("project.version")); assertEquals("activemq-1.00",entity.getProperty("siteId")); } @Test public void should_parse_multiple_properties_in_same_pom() throws IOException { String[] srcs = new String[] { "./src/test/resources/maven-code-examples/properties-test1.pom", }; for (String src:srcs) { PomFileParser parser = createParser(); parser.parse(src); } resolveAllBindings(); PomArtifactEntity entity = (PomArtifactEntity)(entityRepo.getEntity("properties-test.test_1_")); /* 1.00 3.1.4 Apache ActiveMQ activemq-${project.version}--${activeio-version} */ assertEquals("activemq-1.00-3.1.4",entity.getProperty("anotherId")); } @Test public void should_parse_multiple_properties_in_parent_pom() throws IOException { String[] srcs = new String[] { "./src/test/resources/maven-code-examples/properties-test-child.pom" }; for (String src:srcs) { PomFileParser parser = createParser(); parser.parse(src); } resolveAllBindings(); PomArtifactEntity entity = (PomArtifactEntity)(entityRepo.getEntity("properties-test.test_1_")); assertEquals("13",entity.getProperty("project.version")); } }