package com.redhat.rcm.version.util;
import static com.redhat.rcm.version.testutil.TestProjectFixture.getResourceFile;
import static org.hamcrest.CoreMatchers.equalTo;
import static org.hamcrest.CoreMatchers.notNullValue;
import static org.junit.Assert.assertThat;
import java.io.File;
import java.util.Set;
import org.apache.maven.mae.project.key.FullProjectKey;
import org.junit.BeforeClass;
import org.junit.Test;
import com.redhat.rcm.version.fixture.LoggingFixture;
public class PomPeekTest
{
private static final String BASE = "pom-peek/";
@BeforeClass
public static void logging()
{
LoggingFixture.setupLogging();
}
@Test
public void findModules()
{
final File pom = getResourceFile( BASE + "contains-modules.pom" );
final PomPeek peek = new PomPeek( pom );
final Set<String> modules = peek.getModules();
assertThat( modules, notNullValue() );
assertThat( modules.size(), equalTo( 2 ) );
assertThat( modules.contains( "child1" ), equalTo( true ) );
assertThat( modules.contains( "child2" ), equalTo( true ) );
assertThat( modules.contains( "child3" ), equalTo( false ) );
}
@Test
public void findGAVDirectlyInProjectAtTop()
{
final File pom = getResourceFile( BASE + "direct-gav-at-top.pom" );
final PomPeek peek = new PomPeek( pom );
assertThat( peek.getKey(), notNullValue() );
final FullProjectKey key = peek.getKey();
assertThat( key.getGroupId(), equalTo( "test" ) );
assertThat( key.getArtifactId(), equalTo( "direct-gav-at-top" ) );
assertThat( key.getVersion(), equalTo( "1" ) );
}
@Test
public void findGAVDirectlyInProjectBelowProperties()
{
final File pom = getResourceFile( BASE + "direct-gav-below-props.pom" );
final PomPeek peek = new PomPeek( pom );
assertThat( peek.getKey(), notNullValue() );
final FullProjectKey key = peek.getKey();
assertThat( key.getGroupId(), equalTo( "test" ) );
assertThat( key.getArtifactId(), equalTo( "direct-gav-below-props" ) );
assertThat( key.getVersion(), equalTo( "1" ) );
}
@Test
public void findGAVInheritedFromParentAtTop()
{
final File pom = getResourceFile( BASE + "inherited-gav-at-top.pom" );
final PomPeek peek = new PomPeek( pom );
assertThat( peek.getKey(), notNullValue() );
final FullProjectKey key = peek.getKey();
assertThat( key.getGroupId(), equalTo( "test" ) );
assertThat( key.getArtifactId(), equalTo( "inherited-gav-at-top" ) );
assertThat( key.getVersion(), equalTo( "1" ) );
}
@Test
public void findGAVInheritedFromParentWithVersionOverrideAtTop()
{
final File pom = getResourceFile( BASE + "inherited-gav-with-override-at-top.pom" );
final PomPeek peek = new PomPeek( pom );
assertThat( peek.getKey(), notNullValue() );
final FullProjectKey key = peek.getKey();
assertThat( key.getGroupId(), equalTo( "test" ) );
assertThat( key.getArtifactId(), equalTo( "inherited-gav-with-override-at-top" ) );
assertThat( key.getVersion(), equalTo( "2" ) );
}
}