1 changed files with 0 additions and 270 deletions
@ -1,270 +0,0 @@ |
|||||||
package org.springframework.gradle.antora; |
|
||||||
|
|
||||||
import org.apache.commons.io.IOUtils; |
|
||||||
import org.gradle.api.GradleException; |
|
||||||
import org.gradle.api.Project; |
|
||||||
import org.gradle.api.Task; |
|
||||||
import org.gradle.testfixtures.ProjectBuilder; |
|
||||||
import org.junit.jupiter.api.Test; |
|
||||||
|
|
||||||
import java.io.File; |
|
||||||
import java.io.FileOutputStream; |
|
||||||
import java.nio.charset.StandardCharsets; |
|
||||||
|
|
||||||
import static org.assertj.core.api.Assertions.assertThat; |
|
||||||
import static org.assertj.core.api.Assertions.assertThatExceptionOfType; |
|
||||||
import static org.assertj.core.api.Assertions.assertThatIOException; |
|
||||||
|
|
||||||
class AntoraVersionPluginTests { |
|
||||||
|
|
||||||
@Test |
|
||||||
void defaultsPropertiesWhenSnapshot() { |
|
||||||
String expectedVersion = "1.0.0-SNAPSHOT"; |
|
||||||
Project project = ProjectBuilder.builder().build(); |
|
||||||
project.setVersion(expectedVersion); |
|
||||||
project.getPluginManager().apply(AntoraVersionPlugin.class); |
|
||||||
|
|
||||||
Task task = project.getTasks().findByName(AntoraVersionPlugin.ANTORA_CHECK_VERSION_TASK_NAME); |
|
||||||
|
|
||||||
assertThat(task).isInstanceOf(CheckAntoraVersionTask.class); |
|
||||||
|
|
||||||
CheckAntoraVersionTask checkAntoraVersionTask = (CheckAntoraVersionTask) task; |
|
||||||
assertThat(checkAntoraVersionTask.getAntoraVersion().get()).isEqualTo("1.0.0"); |
|
||||||
assertThat(checkAntoraVersionTask.getAntoraPrerelease().get()).isEqualTo("-SNAPSHOT"); |
|
||||||
assertThat(checkAntoraVersionTask.getAntoraDisplayVersion().isPresent()).isFalse(); |
|
||||||
assertThat(checkAntoraVersionTask.getAntoraYmlFile().getAsFile().get()).isEqualTo(project.file("antora.yml")); |
|
||||||
} |
|
||||||
|
|
||||||
@Test |
|
||||||
void defaultsPropertiesWhenMilestone() { |
|
||||||
String expectedVersion = "1.0.0-M1"; |
|
||||||
Project project = ProjectBuilder.builder().build(); |
|
||||||
project.setVersion(expectedVersion); |
|
||||||
project.getPluginManager().apply(AntoraVersionPlugin.class); |
|
||||||
|
|
||||||
Task task = project.getTasks().findByName(AntoraVersionPlugin.ANTORA_CHECK_VERSION_TASK_NAME); |
|
||||||
|
|
||||||
assertThat(task).isInstanceOf(CheckAntoraVersionTask.class); |
|
||||||
|
|
||||||
CheckAntoraVersionTask checkAntoraVersionTask = (CheckAntoraVersionTask) task; |
|
||||||
assertThat(checkAntoraVersionTask.getAntoraVersion().get()).isEqualTo("1.0.0-M1"); |
|
||||||
assertThat(checkAntoraVersionTask.getAntoraPrerelease().get()).isEqualTo("true"); |
|
||||||
assertThat(checkAntoraVersionTask.getAntoraDisplayVersion().get()).isEqualTo(checkAntoraVersionTask.getAntoraVersion().get()); |
|
||||||
assertThat(checkAntoraVersionTask.getAntoraYmlFile().getAsFile().get()).isEqualTo(project.file("antora.yml")); |
|
||||||
} |
|
||||||
|
|
||||||
@Test |
|
||||||
void defaultsPropertiesWhenRc() { |
|
||||||
String expectedVersion = "1.0.0-RC1"; |
|
||||||
Project project = ProjectBuilder.builder().build(); |
|
||||||
project.setVersion(expectedVersion); |
|
||||||
project.getPluginManager().apply(AntoraVersionPlugin.class); |
|
||||||
|
|
||||||
Task task = project.getTasks().findByName(AntoraVersionPlugin.ANTORA_CHECK_VERSION_TASK_NAME); |
|
||||||
|
|
||||||
assertThat(task).isInstanceOf(CheckAntoraVersionTask.class); |
|
||||||
|
|
||||||
CheckAntoraVersionTask checkAntoraVersionTask = (CheckAntoraVersionTask) task; |
|
||||||
assertThat(checkAntoraVersionTask.getAntoraVersion().get()).isEqualTo("1.0.0-RC1"); |
|
||||||
assertThat(checkAntoraVersionTask.getAntoraPrerelease().get()).isEqualTo("true"); |
|
||||||
assertThat(checkAntoraVersionTask.getAntoraDisplayVersion().get()).isEqualTo(checkAntoraVersionTask.getAntoraVersion().get()); |
|
||||||
assertThat(checkAntoraVersionTask.getAntoraYmlFile().getAsFile().get()).isEqualTo(project.file("antora.yml")); |
|
||||||
} |
|
||||||
|
|
||||||
@Test |
|
||||||
void defaultsPropertiesWhenRelease() { |
|
||||||
String expectedVersion = "1.0.0"; |
|
||||||
Project project = ProjectBuilder.builder().build(); |
|
||||||
project.setVersion(expectedVersion); |
|
||||||
project.getPluginManager().apply(AntoraVersionPlugin.class); |
|
||||||
|
|
||||||
Task task = project.getTasks().findByName(AntoraVersionPlugin.ANTORA_CHECK_VERSION_TASK_NAME); |
|
||||||
|
|
||||||
assertThat(task).isInstanceOf(CheckAntoraVersionTask.class); |
|
||||||
|
|
||||||
CheckAntoraVersionTask checkAntoraVersionTask = (CheckAntoraVersionTask) task; |
|
||||||
assertThat(checkAntoraVersionTask.getAntoraVersion().get()).isEqualTo("1.0.0"); |
|
||||||
assertThat(checkAntoraVersionTask.getAntoraPrerelease().isPresent()).isFalse(); |
|
||||||
assertThat(checkAntoraVersionTask.getAntoraDisplayVersion().isPresent()).isFalse(); |
|
||||||
assertThat(checkAntoraVersionTask.getAntoraYmlFile().getAsFile().get()).isEqualTo(project.file("antora.yml")); |
|
||||||
} |
|
||||||
|
|
||||||
@Test |
|
||||||
void explicitProperties() { |
|
||||||
Project project = ProjectBuilder.builder().build(); |
|
||||||
project.getPluginManager().apply(AntoraVersionPlugin.class); |
|
||||||
|
|
||||||
Task task = project.getTasks().findByName(AntoraVersionPlugin.ANTORA_CHECK_VERSION_TASK_NAME); |
|
||||||
|
|
||||||
CheckAntoraVersionTask checkAntoraVersionTask = (CheckAntoraVersionTask) task; |
|
||||||
checkAntoraVersionTask.getAntoraVersion().set("1.0.0"); |
|
||||||
checkAntoraVersionTask.getAntoraPrerelease().set("-SNAPSHOT"); |
|
||||||
assertThat(checkAntoraVersionTask.getAntoraVersion().get()).isEqualTo("1.0.0"); |
|
||||||
assertThat(checkAntoraVersionTask.getAntoraPrerelease().get()).isEqualTo("-SNAPSHOT"); |
|
||||||
assertThat(checkAntoraVersionTask.getAntoraDisplayVersion().isPresent()).isFalse(); |
|
||||||
assertThat(checkAntoraVersionTask.getAntoraYmlFile().getAsFile().get()).isEqualTo(project.file("antora.yml")); |
|
||||||
} |
|
||||||
|
|
||||||
@Test |
|
||||||
void versionNotDefined() throws Exception { |
|
||||||
Project project = ProjectBuilder.builder().build(); |
|
||||||
File rootDir = project.getRootDir(); |
|
||||||
IOUtils.write("version: '1.0.0'", new FileOutputStream(new File(rootDir, "antora.yml")), StandardCharsets.UTF_8); |
|
||||||
project.getPluginManager().apply(AntoraVersionPlugin.class); |
|
||||||
|
|
||||||
Task task = project.getTasks().findByName(AntoraVersionPlugin.ANTORA_CHECK_VERSION_TASK_NAME); |
|
||||||
|
|
||||||
assertThat(task).isInstanceOf(CheckAntoraVersionTask.class); |
|
||||||
|
|
||||||
CheckAntoraVersionTask checkAntoraVersionTask = (CheckAntoraVersionTask) task; |
|
||||||
assertThatExceptionOfType(GradleException.class).isThrownBy(() -> checkAntoraVersionTask.check()); |
|
||||||
} |
|
||||||
|
|
||||||
@Test |
|
||||||
void antoraFileNotFound() throws Exception { |
|
||||||
String expectedVersion = "1.0.0-SNAPSHOT"; |
|
||||||
Project project = ProjectBuilder.builder().build(); |
|
||||||
project.setVersion(expectedVersion); |
|
||||||
project.getPluginManager().apply(AntoraVersionPlugin.class); |
|
||||||
|
|
||||||
Task task = project.getTasks().findByName(AntoraVersionPlugin.ANTORA_CHECK_VERSION_TASK_NAME); |
|
||||||
|
|
||||||
assertThat(task).isInstanceOf(CheckAntoraVersionTask.class); |
|
||||||
|
|
||||||
CheckAntoraVersionTask checkAntoraVersionTask = (CheckAntoraVersionTask) task; |
|
||||||
assertThatIOException().isThrownBy(() -> checkAntoraVersionTask.check()); |
|
||||||
} |
|
||||||
|
|
||||||
@Test |
|
||||||
void actualAntoraPrereleaseNull() throws Exception { |
|
||||||
String expectedVersion = "1.0.0-SNAPSHOT"; |
|
||||||
Project project = ProjectBuilder.builder().build(); |
|
||||||
File rootDir = project.getRootDir(); |
|
||||||
IOUtils.write("version: '1.0.0'", new FileOutputStream(new File(rootDir, "antora.yml")), StandardCharsets.UTF_8); |
|
||||||
project.setVersion(expectedVersion); |
|
||||||
project.getPluginManager().apply(AntoraVersionPlugin.class); |
|
||||||
|
|
||||||
Task task = project.getTasks().findByName(AntoraVersionPlugin.ANTORA_CHECK_VERSION_TASK_NAME); |
|
||||||
|
|
||||||
assertThat(task).isInstanceOf(CheckAntoraVersionTask.class); |
|
||||||
|
|
||||||
CheckAntoraVersionTask checkAntoraVersionTask = (CheckAntoraVersionTask) task; |
|
||||||
assertThatExceptionOfType(GradleException.class).isThrownBy(() -> checkAntoraVersionTask.check()); |
|
||||||
|
|
||||||
} |
|
||||||
|
|
||||||
@Test |
|
||||||
void matchesWhenSnapshot() throws Exception { |
|
||||||
String expectedVersion = "1.0.0-SNAPSHOT"; |
|
||||||
Project project = ProjectBuilder.builder().build(); |
|
||||||
File rootDir = project.getRootDir(); |
|
||||||
IOUtils.write("version: '1.0.0'\nprerelease: '-SNAPSHOT'", new FileOutputStream(new File(rootDir, "antora.yml")), StandardCharsets.UTF_8); |
|
||||||
project.setVersion(expectedVersion); |
|
||||||
project.getPluginManager().apply(AntoraVersionPlugin.class); |
|
||||||
|
|
||||||
Task task = project.getTasks().findByName(AntoraVersionPlugin.ANTORA_CHECK_VERSION_TASK_NAME); |
|
||||||
|
|
||||||
assertThat(task).isInstanceOf(CheckAntoraVersionTask.class); |
|
||||||
|
|
||||||
CheckAntoraVersionTask checkAntoraVersionTask = (CheckAntoraVersionTask) task; |
|
||||||
checkAntoraVersionTask.check(); |
|
||||||
} |
|
||||||
|
|
||||||
@Test |
|
||||||
void matchesWhenMilestone() throws Exception { |
|
||||||
String expectedVersion = "1.0.0-M1"; |
|
||||||
Project project = ProjectBuilder.builder().build(); |
|
||||||
File rootDir = project.getRootDir(); |
|
||||||
IOUtils.write("version: '1.0.0-M1'\nprerelease: 'true'\ndisplay_version: '1.0.0-M1'", new FileOutputStream(new File(rootDir, "antora.yml")), StandardCharsets.UTF_8); |
|
||||||
project.setVersion(expectedVersion); |
|
||||||
project.getPluginManager().apply(AntoraVersionPlugin.class); |
|
||||||
|
|
||||||
Task task = project.getTasks().findByName(AntoraVersionPlugin.ANTORA_CHECK_VERSION_TASK_NAME); |
|
||||||
|
|
||||||
assertThat(task).isInstanceOf(CheckAntoraVersionTask.class); |
|
||||||
|
|
||||||
CheckAntoraVersionTask checkAntoraVersionTask = (CheckAntoraVersionTask) task; |
|
||||||
checkAntoraVersionTask.check(); |
|
||||||
} |
|
||||||
|
|
||||||
@Test |
|
||||||
void matchesWhenRc() throws Exception { |
|
||||||
String expectedVersion = "1.0.0-RC1"; |
|
||||||
Project project = ProjectBuilder.builder().build(); |
|
||||||
File rootDir = project.getRootDir(); |
|
||||||
IOUtils.write("version: '1.0.0-RC1'\nprerelease: 'true'\ndisplay_version: '1.0.0-RC1'", new FileOutputStream(new File(rootDir, "antora.yml")), StandardCharsets.UTF_8); |
|
||||||
project.setVersion(expectedVersion); |
|
||||||
project.getPluginManager().apply(AntoraVersionPlugin.class); |
|
||||||
|
|
||||||
Task task = project.getTasks().findByName(AntoraVersionPlugin.ANTORA_CHECK_VERSION_TASK_NAME); |
|
||||||
|
|
||||||
assertThat(task).isInstanceOf(CheckAntoraVersionTask.class); |
|
||||||
|
|
||||||
CheckAntoraVersionTask checkAntoraVersionTask = (CheckAntoraVersionTask) task; |
|
||||||
checkAntoraVersionTask.check(); |
|
||||||
} |
|
||||||
|
|
||||||
@Test |
|
||||||
void matchesWhenReleaseAndPrereleaseUndefined() throws Exception { |
|
||||||
String expectedVersion = "1.0.0"; |
|
||||||
Project project = ProjectBuilder.builder().build(); |
|
||||||
File rootDir = project.getRootDir(); |
|
||||||
IOUtils.write("version: '1.0.0'", new FileOutputStream(new File(rootDir, "antora.yml")), StandardCharsets.UTF_8); |
|
||||||
project.setVersion(expectedVersion); |
|
||||||
project.getPluginManager().apply(AntoraVersionPlugin.class); |
|
||||||
|
|
||||||
Task task = project.getTasks().findByName(AntoraVersionPlugin.ANTORA_CHECK_VERSION_TASK_NAME); |
|
||||||
|
|
||||||
assertThat(task).isInstanceOf(CheckAntoraVersionTask.class); |
|
||||||
|
|
||||||
CheckAntoraVersionTask checkAntoraVersionTask = (CheckAntoraVersionTask) task; |
|
||||||
checkAntoraVersionTask.check(); |
|
||||||
} |
|
||||||
|
|
||||||
@Test |
|
||||||
void matchesWhenExplicitRelease() throws Exception { |
|
||||||
Project project = ProjectBuilder.builder().build(); |
|
||||||
File rootDir = project.getRootDir(); |
|
||||||
IOUtils.write("version: '1.0.0'", new FileOutputStream(new File(rootDir, "antora.yml")), StandardCharsets.UTF_8); |
|
||||||
project.getPluginManager().apply(AntoraVersionPlugin.class); |
|
||||||
|
|
||||||
Task task = project.getTasks().findByName(AntoraVersionPlugin.ANTORA_CHECK_VERSION_TASK_NAME); |
|
||||||
|
|
||||||
assertThat(task).isInstanceOf(CheckAntoraVersionTask.class); |
|
||||||
CheckAntoraVersionTask checkAntoraVersionTask = (CheckAntoraVersionTask) task; |
|
||||||
((CheckAntoraVersionTask) task).getAntoraVersion().set("1.0.0"); |
|
||||||
checkAntoraVersionTask.check(); |
|
||||||
} |
|
||||||
|
|
||||||
@Test |
|
||||||
void matchesWhenExplicitPrerelease() throws Exception { |
|
||||||
Project project = ProjectBuilder.builder().build(); |
|
||||||
File rootDir = project.getRootDir(); |
|
||||||
IOUtils.write("version: '1.0.0'\nprerelease: '-SNAPSHOT'", new FileOutputStream(new File(rootDir, "antora.yml")), StandardCharsets.UTF_8); |
|
||||||
project.getPluginManager().apply(AntoraVersionPlugin.class); |
|
||||||
|
|
||||||
Task task = project.getTasks().findByName(AntoraVersionPlugin.ANTORA_CHECK_VERSION_TASK_NAME); |
|
||||||
|
|
||||||
assertThat(task).isInstanceOf(CheckAntoraVersionTask.class); |
|
||||||
CheckAntoraVersionTask checkAntoraVersionTask = (CheckAntoraVersionTask) task; |
|
||||||
((CheckAntoraVersionTask) task).getAntoraVersion().set("1.0.0"); |
|
||||||
((CheckAntoraVersionTask) task).getAntoraPrerelease().set("-SNAPSHOT"); |
|
||||||
checkAntoraVersionTask.check(); |
|
||||||
} |
|
||||||
|
|
||||||
@Test |
|
||||||
void matchesWhenMissingPropertyDefined() throws Exception { |
|
||||||
Project project = ProjectBuilder.builder().build(); |
|
||||||
File rootDir = project.getRootDir(); |
|
||||||
IOUtils.write("name: 'ROOT'\nversion: '1.0.0'", new FileOutputStream(new File(rootDir, "antora.yml")), StandardCharsets.UTF_8); |
|
||||||
project.getPluginManager().apply(AntoraVersionPlugin.class); |
|
||||||
|
|
||||||
Task task = project.getTasks().findByName(AntoraVersionPlugin.ANTORA_CHECK_VERSION_TASK_NAME); |
|
||||||
|
|
||||||
assertThat(task).isInstanceOf(CheckAntoraVersionTask.class); |
|
||||||
CheckAntoraVersionTask checkAntoraVersionTask = (CheckAntoraVersionTask) task; |
|
||||||
((CheckAntoraVersionTask) task).getAntoraVersion().set("1.0.0"); |
|
||||||
checkAntoraVersionTask.check(); |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
||||||
Loading…
Reference in new issue