package io.reactiverse.vertx.maven.plugin.it; import com.google.common.collect.ImmutableList; import io.reactiverse.vertx.maven.plugin.it.invoker.RunningVerifier; import org.apache.maven.it.VerificationException; import org.apache.maven.it.Verifier; import org.junit.After; import org.junit.Test; import java.io.File; import static org.assertj.core.api.Assertions.assertThat; /** * Test checking the execution of vertx:debug */ public class DebugIT extends VertxMojoTestBase { private RunningVerifier verifier; private void initVerifier(File root) throws VerificationException { verifier = new RunningVerifier(root.getAbsolutePath()); verifier.setAutoclean(false); verifier.setDebug(true); verifier.setForkJvm(true); verifier.setMavenDebug(true); installPluginToLocalRepository(verifier.getLocalRepository()); } @After public void waitForStop() { if (verifier != null) { verifier.stop(); } awaitUntilServerDown(); } @Test public void testDebug() throws Exception { File testDir = initProject("projects/debug-it"); assertThat(testDir).isDirectory(); initVerifier(testDir); prepareProject(testDir, verifier); debug(verifier); String response = getHttpResponse(); assertThat(response).isEqualTo("aloha true"); verifier.verifyTextInLog("Listening for transport dt_socket at address: 5005"); } @Test public void testDebugWithJVMArgsAndCustomPort() throws Exception { File testDir = initProject("projects/debug-with-jvmArgs-it"); assertThat(testDir).isDirectory(); initVerifier(testDir); prepareProject(testDir, verifier); debug(verifier); String response = getHttpResponse(); assertThat(response).isEqualTo("aloha prop true"); verifier.verifyTextInLog("Listening for transport dt_socket at address: 5000"); } @Test public void testDebugWithMainClass() throws Exception { File testDir = initProject("projects/debug-with-main-class-it"); assertThat(testDir).isDirectory(); initVerifier(testDir); prepareProject(testDir, verifier); debug(verifier); String response = getHttpResponse(); assertThat(response).isEqualTo("bonjour true"); verifier.verifyTextInLog("Listening for transport dt_socket at address: 5005"); } private void debug(Verifier verifier) throws VerificationException { verifier.setLogFileName("build-run.log"); verifier.executeGoals(ImmutableList.of("compile", "vertx:debug"), getEnv()); } }