(client) Fix executor tests

This commit is contained in:
Viktor Lofgren 2023-10-16 12:01:34 +02:00
parent 0b19b28a64
commit 8dafd13cd7
3 changed files with 30 additions and 5 deletions

View File

@ -43,7 +43,7 @@ public abstract class AbstractClient implements AutoCloseable {
} }
public AbstractClient(ServiceDescriptor service, int timeout, Supplier<Gson> gsonProvider) { public AbstractClient(ServiceDescriptor service, int timeout, Supplier<Gson> gsonProvider) {
this(RouteProvider.fromService(service), timeout, gsonProvider); this(new RouteProvider(service), timeout, gsonProvider);
} }
public AbstractClient(RouteProvider routeProvider, public AbstractClient(RouteProvider routeProvider,

View File

@ -2,10 +2,28 @@ package nu.marginalia.client.route;
import nu.marginalia.service.descriptor.ServiceDescriptor; import nu.marginalia.service.descriptor.ServiceDescriptor;
public interface RouteProvider { public class RouteProvider {
ServiceRoute findRoute(int node); private static int defaultPort = 80;
static RouteProvider fromService(ServiceDescriptor serviceDescriptor) { private final ServiceDescriptor descriptor;
return (n) -> new ServiceRoute(serviceDescriptor.getHostName(n), 80);
public RouteProvider(ServiceDescriptor descriptor) {
this.descriptor = descriptor;
}
ServiceRoute findRoute(int node) {
return new ServiceRoute(descriptor.getHostName(node), defaultPort);
}
public static RouteProvider fromService(ServiceDescriptor serviceDescriptor) {
return new RouteProvider(serviceDescriptor);
}
// Access exists for testing
public static void setDefaultPort(int port) {
defaultPort = port;
}
public static void resetDefaultPort() {
defaultPort = 80;
} }
} }

View File

@ -8,6 +8,7 @@ import nu.marginalia.actor.Actor;
import nu.marginalia.actor.ActorControlService; import nu.marginalia.actor.ActorControlService;
import nu.marginalia.actor.task.CrawlJobExtractorActor; import nu.marginalia.actor.task.CrawlJobExtractorActor;
import nu.marginalia.client.Context; import nu.marginalia.client.Context;
import nu.marginalia.client.route.RouteProvider;
import nu.marginalia.control.process.ProcessOutboxes; import nu.marginalia.control.process.ProcessOutboxes;
import nu.marginalia.control.process.ProcessService; import nu.marginalia.control.process.ProcessService;
import nu.marginalia.storage.FileStorageService; import nu.marginalia.storage.FileStorageService;
@ -44,11 +45,17 @@ public class ExecutorSvcApiIntegrationTest {
@BeforeAll @BeforeAll
public static void setUpAll() { public static void setUpAll() {
RouteProvider.setDefaultPort(port);
var injector = Guice.createInjector(new TestModule()); var injector = Guice.createInjector(new TestModule());
testInstances = injector.getInstance(TestInstances.class); testInstances = injector.getInstance(TestInstances.class);
injector.getInstance(Initialization.class).setReady(); injector.getInstance(Initialization.class).setReady();
} }
@AfterAll
public static void tearDownAll() {
RouteProvider.resetDefaultPort();
}
@BeforeEach @BeforeEach
public void setUp() { public void setUp() {
Mockito.reset(testInstances.actorControlService); Mockito.reset(testInstances.actorControlService);