Using constants in Gradle tests

This commit is contained in:
George Gastaldi
2019-12-28 22:34:39 -03:00
parent e56b849120
commit 016578745e
2 changed files with 20 additions and 13 deletions

View File

@@ -27,6 +27,8 @@ import io.quarkus.gradle.tasks.QuarkusTestNative;
public class QuarkusPlugin implements Plugin<Project> {
public static final String ID = "io.quarkus";
public static final String EXTENSION_NAME = "quarkus";
public static final String LIST_EXTENSIONS_TASK_NAME = "listExtensions";
public static final String ADD_EXTENSION_TASK_NAME = "addExtension";
@@ -75,7 +77,7 @@ public class QuarkusPlugin implements Plugin<Project> {
buildNative.dependsOn(tasks.getByName(BasePlugin.ASSEMBLE_TASK_NAME));
SourceSetContainer sourceSets = project.getConvention().findPlugin(JavaPluginConvention.class)
SourceSetContainer sourceSets = project.getConvention().getPlugin(JavaPluginConvention.class)
.getSourceSets();
SourceSet nativeTestSourceSet = sourceSets.create(NATIVE_TEST_SOURCE_SET_NAME);
SourceSet mainSourceSet = sourceSets.getByName(SourceSet.MAIN_SOURCE_SET_NAME);

View File

@@ -5,6 +5,8 @@ import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
import org.gradle.api.Project;
import org.gradle.api.plugins.BasePlugin;
import org.gradle.api.plugins.JavaPlugin;
import org.gradle.api.tasks.TaskContainer;
import org.gradle.testfixtures.ProjectBuilder;
import org.junit.jupiter.api.Test;
@@ -14,38 +16,41 @@ public class QuarkusPluginTest {
@Test
public void shouldCreateTasks() {
Project project = ProjectBuilder.builder().build();
project.getPluginManager().apply("io.quarkus");
project.getPluginManager().apply(QuarkusPlugin.ID);
assertTrue(project.getPluginManager().hasPlugin("io.quarkus"));
assertTrue(project.getPluginManager().hasPlugin(QuarkusPlugin.ID));
TaskContainer tasks = project.getTasks();
assertNotNull(tasks.getByName("quarkusBuild"));
assertNotNull(tasks.getByName("quarkusDev"));
assertNotNull(tasks.getByName("buildNative"));
assertNotNull(tasks.getByName("listExtensions"));
assertNotNull(tasks.getByName("addExtension"));
assertNotNull(tasks.getByName(QuarkusPlugin.QUARKUS_BUILD_TASK_NAME));
assertNotNull(tasks.getByName(QuarkusPlugin.QUARKUS_DEV_TASK_NAME));
assertNotNull(tasks.getByName(QuarkusPlugin.BUILD_NATIVE_TASK_NAME));
assertNotNull(tasks.getByName(QuarkusPlugin.LIST_EXTENSIONS_TASK_NAME));
assertNotNull(tasks.getByName(QuarkusPlugin.ADD_EXTENSION_TASK_NAME));
}
@Test
public void shouldMakeAssembleDependOnQuarkusBuild() {
Project project = ProjectBuilder.builder().build();
project.getPluginManager().apply("io.quarkus");
project.getPluginManager().apply(QuarkusPlugin.ID);
project.getPluginManager().apply("base");
TaskContainer tasks = project.getTasks();
assertThat(tasks.getByName("assemble").getDependsOn()).contains(tasks.getByName("quarkusBuild"));
assertThat(tasks.getByName(BasePlugin.ASSEMBLE_TASK_NAME).getDependsOn())
.contains(tasks.getByName(QuarkusPlugin.QUARKUS_BUILD_TASK_NAME));
}
@Test
public void shouldMakeQuarkusDevAndQuarkusBuildDependOnClassesTask() {
Project project = ProjectBuilder.builder().build();
project.getPluginManager().apply("io.quarkus");
project.getPluginManager().apply(QuarkusPlugin.ID);
project.getPluginManager().apply("java");
TaskContainer tasks = project.getTasks();
assertThat(tasks.getByName("quarkusBuild").getDependsOn()).contains(tasks.getByName("classes"));
assertThat(tasks.getByName("quarkusDev").getDependsOn()).contains(tasks.getByName("classes"));
assertThat(tasks.getByName(QuarkusPlugin.QUARKUS_BUILD_TASK_NAME).getDependsOn())
.contains(tasks.getByName(JavaPlugin.CLASSES_TASK_NAME));
assertThat(tasks.getByName(QuarkusPlugin.QUARKUS_DEV_TASK_NAME).getDependsOn())
.contains(tasks.getByName(JavaPlugin.CLASSES_TASK_NAME));
}
}