diff options
3 files changed, 32 insertions, 41 deletions
diff --git a/vespa-maven-plugin/src/main/java/ai/vespa/hosted/plugin/GenerateTestDescriptorMojo.java b/vespa-maven-plugin/src/main/java/ai/vespa/hosted/plugin/GenerateTestDescriptorMojo.java index 0b2c9857ca7..6eb209463fc 100644 --- a/vespa-maven-plugin/src/main/java/ai/vespa/hosted/plugin/GenerateTestDescriptorMojo.java +++ b/vespa-maven-plugin/src/main/java/ai/vespa/hosted/plugin/GenerateTestDescriptorMojo.java @@ -14,6 +14,8 @@ import java.nio.file.Path; import java.nio.file.Paths; import java.util.stream.Stream; +import static java.nio.charset.StandardCharsets.UTF_8; + /** * Generates a test descriptor file based on content of the compiled test classes * @@ -54,7 +56,7 @@ public class GenerateTestDescriptorMojo extends AbstractMojo { try { Path descriptorFile = testClassesDirectory().resolve(TestDescriptor.DEFAULT_FILENAME); Files.createDirectories(descriptorFile.getParent()); - Files.write(descriptorFile, descriptor.toJson().getBytes()); + Files.write(descriptorFile, descriptor.toJson().getBytes(UTF_8)); } catch (IOException e) { throw new MojoExecutionException("Failed to write test descriptor file: " + e.getMessage(), e); } diff --git a/vespa-osgi-testrunner/pom.xml b/vespa-osgi-testrunner/pom.xml index de1b5b4024b..0fba7d371aa 100644 --- a/vespa-osgi-testrunner/pom.xml +++ b/vespa-osgi-testrunner/pom.xml @@ -21,11 +21,16 @@ <version>${project.version}</version> <scope>provided</scope> </dependency> - + <dependency> + <groupId>com.yahoo.vespa</groupId> + <artifactId>hosted-api</artifactId> + <version>${project.version}</version> + <scope>compile</scope> + </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-engine</artifactId> - <version>5.8.1</version> + <version>5.8.2</version> <exclusions> <exclusion> <groupId>org.junit.jupiter</groupId> @@ -36,7 +41,7 @@ <dependency> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-launcher</artifactId> - <version>1.8.1</version> + <version>1.8.2</version> <exclusions> <exclusion> <groupId>org.junit.jupiter</groupId> @@ -44,41 +49,24 @@ </exclusion> </exclusions> </dependency> - - <dependency> - <groupId>com.yahoo.vespa</groupId> - <artifactId>tenant-cd-api</artifactId> - <version>${project.version}</version> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>com.yahoo.vespa</groupId> - <artifactId>hosted-api</artifactId> - <version>${project.version}</version> - <scope>compile</scope> - </dependency> <dependency> <groupId>org.fusesource.jansi</groupId> <artifactId>jansi</artifactId> <version>1.18</version> <scope>compile</scope> </dependency> + <dependency> <groupId>com.yahoo.vespa</groupId> - <artifactId>config-provisioning</artifactId> + <artifactId>tenant-cd-api</artifactId> <version>${project.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>com.yahoo.vespa</groupId> - <artifactId>testutil</artifactId> + <artifactId>config-provisioning</artifactId> <version>${project.version}</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.mockito</groupId> - <artifactId>mockito-core</artifactId> - <scope>test</scope> + <scope>provided</scope> </dependency> </dependencies> diff --git a/vespa-osgi-testrunner/src/test/java/com/yahoo/vespa/testrunner/TestRunnerHandlerTest.java b/vespa-osgi-testrunner/src/test/java/com/yahoo/vespa/testrunner/TestRunnerHandlerTest.java index 7b75f1cd4bd..49fadebe58b 100644 --- a/vespa-osgi-testrunner/src/test/java/com/yahoo/vespa/testrunner/TestRunnerHandlerTest.java +++ b/vespa-osgi-testrunner/src/test/java/com/yahoo/vespa/testrunner/TestRunnerHandlerTest.java @@ -5,7 +5,7 @@ import com.yahoo.component.ComponentId; import com.yahoo.component.provider.ComponentRegistry; import com.yahoo.container.jdisc.HttpRequest; import com.yahoo.container.jdisc.HttpResponse; -import com.yahoo.test.json.JsonTestHelper; +import com.yahoo.vespa.testrunner.TestRunner.Status; import com.yahoo.vespa.testrunner.TestRunner.Suite; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -22,10 +22,10 @@ import java.util.logging.LogRecord; import java.util.stream.Collectors; import static com.yahoo.jdisc.http.HttpRequest.Method.GET; +import static com.yahoo.slime.SlimeUtils.jsonToSlimeOrThrow; +import static com.yahoo.slime.SlimeUtils.toJsonBytes; import static java.nio.charset.StandardCharsets.UTF_8; import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; /** * @author mortent @@ -51,7 +51,7 @@ class TestRunnerHandlerTest { .withFailures(List.of(new TestReport.Failure("Foo.bar()", exception))) .withLogs(logRecords).build(); - aggregateRunner = AggregateTestRunner.of(List.of(new MockJunitRunner(TestRunner.Status.SUCCESS, testReport))); + aggregateRunner = AggregateTestRunner.of(List.of(new MockRunner(TestRunner.Status.SUCCESS, testReport))); testRunnerHandler = new TestRunnerHandler(Executors.newSingleThreadExecutor(), aggregateRunner); } @@ -61,7 +61,8 @@ class TestRunnerHandlerTest { HttpResponse response = testRunnerHandler.handle(HttpRequest.createTestRequest("http://localhost:1234/tester/v1/report", GET)); ByteArrayOutputStream out = new ByteArrayOutputStream(); response.render(out); - JsonTestHelper.assertJsonEquals(out.toString(UTF_8), "{\"summary\":{\"success\":1,\"failed\":2,\"ignored\":3,\"aborted\":4,\"inconclusive\":5,\"failures\":[{\"testName\":\"Foo.bar()\",\"testError\":\"org.junit.ComparisonFailure: expected:<foo> but was:<bar>\",\"exception\":\"java.lang.RuntimeException: org.junit.ComparisonFailure: expected:<foo> but was:<bar>\\n\\tat Foo.bar(Foo.java:1123)\\n\"}]},\"output\":[\"00:00:12.000 Tests started\"]}"); + assertEquals(new String(toJsonBytes(jsonToSlimeOrThrow("{\"summary\":{\"success\":1,\"failed\":2,\"ignored\":3,\"aborted\":4,\"inconclusive\":5,\"failures\":[{\"testName\":\"Foo.bar()\",\"testError\":\"org.junit.ComparisonFailure: expected:<foo> but was:<bar>\",\"exception\":\"java.lang.RuntimeException: org.junit.ComparisonFailure: expected:<foo> but was:<bar>\\n\\tat Foo.bar(Foo.java:1123)\\n\"}]},\"output\":[\"00:00:12.000 Tests started\"]}").get(), false), UTF_8), + new String(toJsonBytes(jsonToSlimeOrThrow(out.toByteArray()).get(), false), UTF_8)); } @Test @@ -72,7 +73,8 @@ class TestRunnerHandlerTest { HttpResponse response = testRunnerHandler.handle(HttpRequest.createTestRequest("http://localhost:1234/tester/v1/log", GET)); ByteArrayOutputStream out = new ByteArrayOutputStream(); response.render(out); - JsonTestHelper.assertJsonEquals(out.toString(UTF_8), "{\"logRecords\":[{\"id\":0,\"at\":12000,\"type\":\"info\",\"message\":\"Tests started\"}]}"); + assertEquals(new String(toJsonBytes(jsonToSlimeOrThrow("{\"logRecords\":[{\"id\":0,\"at\":12000,\"type\":\"info\",\"message\":\"Tests started\"}]}").get(), false), UTF_8), + new String(toJsonBytes(jsonToSlimeOrThrow(out.toByteArray()).get(), false), UTF_8)); // Should not get old log response = testRunnerHandler.handle(HttpRequest.createTestRequest("http://localhost:1234/tester/v1/log?after=0", GET)); @@ -83,11 +85,9 @@ class TestRunnerHandlerTest { @Test public void returnsEmptyResponsesWhenReportNotReady() throws IOException { - TestRunner testRunner = mock(TestRunner.class); - when(testRunner.getReport()).thenReturn(null); - testRunnerHandler = new TestRunnerHandler( - Executors.newSingleThreadExecutor(), - ComponentRegistry.singleton(new ComponentId("runner"), testRunner)); + testRunnerHandler = new TestRunnerHandler(Executors.newSingleThreadExecutor(), + ComponentRegistry.singleton(new ComponentId("runner"), + new MockRunner(Status.NOT_STARTED, null))); { HttpResponse response = testRunnerHandler.handle(HttpRequest.createTestRequest("http://localhost:1234/tester/v1/log", GET)); @@ -112,12 +112,12 @@ class TestRunnerHandlerTest { return logRecord; } - private static class MockJunitRunner implements TestRunner { + private static class MockRunner implements TestRunner { private final TestRunner.Status status; private final TestReport testReport; - public MockJunitRunner(TestRunner.Status status, TestReport testReport) { + public MockRunner(TestRunner.Status status, TestReport testReport) { this.status = status; this.testReport = testReport; @@ -130,9 +130,10 @@ class TestRunnerHandlerTest { @Override public Collection<LogRecord> getLog(long after) { - return getReport().logLines().stream() - .filter(entry -> entry.getSequenceNumber() > after) - .collect(Collectors.toList()); + return getReport() == null ? List.of() + : getReport().logLines().stream() + .filter(entry -> entry.getSequenceNumber() > after) + .collect(Collectors.toList()); } @Override |