package com.github.danielflower.mavenplugins.release;
import org.apache.maven.project.MavenProject;
import org.junit.Test;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.core.IsEqual.equalTo;
import static scaffolding.ReleasableModuleBuilder.aModule;
public class ReleasableModuleTest {
@Test
public void getsTheTagFromTheArtifactAndVersion() throws Exception {
ReleasableModule module = aModule()
.withArtifactId("my-artifact")
.withSnapshotVersion("1.0-SNAPSHOT")
.withBuildNumber(123)
.build();
assertThat(module.getTagName(), equalTo("my-artifact-1.0.123"));
}
@Test
public void aReleaseableModuleCanBeCreatedFromAnUnreleasableOne() {
MavenProject project = new MavenProject();
project.setArtifactId("some-arty");
project.setGroupId("some-group");
ReleasableModule first = new ReleasableModule(
project, new VersionName("1.2.3-SNAPSHOT", "1.2.3", 12), "1.2.3.11", "somewhere"
);
assertThat(first.willBeReleased(), is(false));
ReleasableModule changed = first.createReleasableVersion();
assertThat(changed.getArtifactId(), equalTo("some-arty"));
assertThat(changed.getBuildNumber(), equalTo(12L));
assertThat(changed.getGroupId(), equalTo("some-group"));
assertThat(changed.getNewVersion(), equalTo("1.2.3.12"));
assertThat(changed.getProject(), is(project));
assertThat(changed.getRelativePathToModule(), equalTo("somewhere"));
assertThat(changed.willBeReleased(), is(true));
}
}