diff options
author | Morten Tokle <mortent@verizonmedia.com> | 2020-06-22 13:08:22 +0200 |
---|---|---|
committer | Morten Tokle <mortent@verizonmedia.com> | 2020-06-22 13:08:22 +0200 |
commit | b580bf96165691622f19e73d445f346fe29fe74f (patch) | |
tree | c6cefdb26711e83982d47520fc9b67e6de87dbe7 /vespa-osgi-testrunner | |
parent | e2dace4bc4f72e86a671664cb1b32eea48361cfb (diff) |
Move configuration of test runtime to test invocation
Diffstat (limited to 'vespa-osgi-testrunner')
-rw-r--r-- | vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/JunitHandler.java | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/JunitHandler.java b/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/JunitHandler.java index 5534ea29d13..3db2846da4e 100644 --- a/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/JunitHandler.java +++ b/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/JunitHandler.java @@ -1,15 +1,19 @@ // Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.testrunner; +import ai.vespa.hosted.cd.internal.TestRuntimeProvider; +import com.google.inject.Inject; import com.yahoo.container.handler.metrics.JsonResponse; import com.yahoo.container.jdisc.HttpRequest; import com.yahoo.container.jdisc.HttpResponse; import com.yahoo.container.jdisc.LoggingRequestHandler; import com.yahoo.container.logging.AccessLog; +import com.yahoo.io.IOUtils; import com.yahoo.restapi.ErrorResponse; import com.yahoo.restapi.MessageResponse; import org.osgi.framework.Bundle; +import java.io.IOException; import java.util.List; import java.util.concurrent.Executor; import java.util.function.Function; @@ -20,10 +24,13 @@ import java.util.function.Function; public class JunitHandler extends LoggingRequestHandler { private final JunitRunner junitRunner; + private final TestRuntimeProvider testRuntimeProvider; - public JunitHandler(Executor executor, AccessLog accessLog, JunitRunner junitRunner) { + @Inject + public JunitHandler(Executor executor, AccessLog accessLog, JunitRunner junitRunner, TestRuntimeProvider testRuntimeProvider) { super(executor, accessLog); this.junitRunner = junitRunner; + this.testRuntimeProvider = testRuntimeProvider; } @Override @@ -31,6 +38,12 @@ public class JunitHandler extends LoggingRequestHandler { String mode = property("mode", "help", httpRequest, String::valueOf); TestDescriptor.TestCategory category = property("category", TestDescriptor.TestCategory.systemtest, httpRequest, TestDescriptor.TestCategory::valueOf); + try { + testRuntimeProvider.initialize(IOUtils.readBytes(httpRequest.getData(), 1000 * 1000)); + } catch (IOException e) { + return new ErrorResponse(500, "testruntime-initialization", "Exception reading test config"); + } + if ("help".equalsIgnoreCase(mode)) { return new MessageResponse("Accepted modes: \n help \n list \n execute"); } |