diff options
Diffstat (limited to 'configserver/src/test')
10 files changed, 50 insertions, 38 deletions
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/ApplicationRepositoryTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/ApplicationRepositoryTest.java index e42fb78f595..99530041088 100644 --- a/configserver/src/test/java/com/yahoo/vespa/config/server/ApplicationRepositoryTest.java +++ b/configserver/src/test/java/com/yahoo/vespa/config/server/ApplicationRepositoryTest.java @@ -157,8 +157,7 @@ public class ApplicationRepositoryTest { assertTrue(result.configChangeActions().getRefeedActions().isEmpty()); assertTrue(result.configChangeActions().getRestartActions().isEmpty()); - TenantName tenantName = applicationId().tenant(); - Tenant tenant = tenantRepository.getTenant(tenantName); + Tenant tenant = applicationRepository.getTenant(applicationId()); LocalSession session = tenant.getSessionRepository().getLocalSession(tenant.getApplicationRepo() .requireActiveSessionOf(applicationId())); session.getAllocatedHosts(); @@ -189,8 +188,7 @@ public class ApplicationRepositoryTest { long secondSessionId = result2.sessionId(); assertNotEquals(firstSessionId, secondSessionId); - TenantName tenantName = applicationId().tenant(); - Tenant tenant = tenantRepository.getTenant(tenantName); + Tenant tenant = applicationRepository.getTenant(applicationId()); LocalSession session = tenant.getSessionRepository().getLocalSession( tenant.getApplicationRepo().requireActiveSessionOf(applicationId())); assertEquals(firstSessionId, session.getMetaData().getPreviousActiveGeneration()); @@ -273,8 +271,7 @@ public class ApplicationRepositoryTest { @Test public void delete() { - TenantName tenantName = applicationId().tenant(); - Tenant tenant = tenantRepository.getTenant(tenantName); + Tenant tenant = applicationRepository.getTenant(applicationId()); SessionRepository sessionRepository = tenant.getSessionRepository(); { PrepareResult result = deployApp(testApp); @@ -424,7 +421,7 @@ public class ApplicationRepositoryTest { @Test public void deletesApplicationRoles() { - var tenant = tenantRepository.getTenant(tenant1); + var tenant = applicationRepository.getTenant(applicationId()); var applicationId = applicationId(tenant1); var prepareParams = new PrepareParams.Builder().applicationId(applicationId) .applicationRoles(ApplicationRoles.fromString("hostRole","containerRole")).build(); @@ -447,8 +444,7 @@ public class ApplicationRepositoryTest { public void require_that_provision_info_can_be_read() { prepareAndActivate(testAppJdiscOnly); - TenantName tenantName = applicationId().tenant(); - Tenant tenant = tenantRepository.getTenant(tenantName); + Tenant tenant = applicationRepository.getTenant(applicationId()); LocalSession session = tenant.getSessionRepository().getLocalSession(tenant.getApplicationRepo().requireActiveSessionOf(applicationId())); List<NetworkPorts.Allocation> list = new ArrayList<>(); @@ -494,7 +490,7 @@ public class ApplicationRepositoryTest { long sessionId = applicationRepository.createSession(applicationId(), timeoutBudget, testAppJdiscOnly); exceptionRule.expect(IllegalStateException.class); exceptionRule.expectMessage(containsString("tenant:test1 Session 3 is not prepared")); - applicationRepository.activate(tenantRepository.getTenant(tenant1), sessionId, timeoutBudget, false); + applicationRepository.activate(applicationRepository.getTenant(applicationId()), sessionId, timeoutBudget, false); RemoteSession activeSession = applicationRepository.getActiveSession(applicationId()); assertEquals(firstSession, activeSession.getSessionId()); @@ -508,10 +504,10 @@ public class ApplicationRepositoryTest { long firstSession = result.sessionId(); long sessionId = applicationRepository.createSession(applicationId(), timeoutBudget, testAppJdiscOnly); - applicationRepository.prepare(tenantRepository.getTenant(tenant1), sessionId, prepareParams(), clock.instant()); + applicationRepository.prepare(applicationRepository.getTenant(applicationId()), sessionId, prepareParams(), clock.instant()); exceptionRule.expect(RuntimeException.class); exceptionRule.expectMessage(containsString("Timeout exceeded when trying to activate 'test1.testapp'")); - applicationRepository.activate(tenantRepository.getTenant(tenant1), sessionId, new TimeoutBudget(clock, Duration.ofSeconds(0)), false); + applicationRepository.activate(applicationRepository.getTenant(applicationId()), sessionId, new TimeoutBudget(clock, Duration.ofSeconds(0)), false); RemoteSession activeSession = applicationRepository.getActiveSession(applicationId()); assertEquals(firstSession, activeSession.getSessionId()); @@ -533,10 +529,10 @@ public class ApplicationRepositoryTest { PrepareResult result2 = deployApp(testAppJdiscOnly); result2.sessionId(); - applicationRepository.prepare(tenantRepository.getTenant(tenant1), sessionId2, prepareParams(), clock.instant()); + applicationRepository.prepare(applicationRepository.getTenant(applicationId()), sessionId2, prepareParams(), clock.instant()); exceptionRule.expect(ActivationConflictException.class); exceptionRule.expectMessage(containsString("tenant:test1 app:testapp:default Cannot activate session 3 because the currently active session (4) has changed since session 3 was created (was 2 at creation time)")); - applicationRepository.activate(tenantRepository.getTenant(tenant1), sessionId2, timeoutBudget, false); + applicationRepository.activate(applicationRepository.getTenant(applicationId()), sessionId2, timeoutBudget, false); } @Test @@ -546,11 +542,11 @@ public class ApplicationRepositoryTest { exceptionRule.expect(IllegalStateException.class); exceptionRule.expectMessage(containsString("Session is active: 2")); - applicationRepository.prepare(tenantRepository.getTenant(tenant1), sessionId, prepareParams(), clock.instant()); + applicationRepository.prepare(applicationRepository.getTenant(applicationId()), sessionId, prepareParams(), clock.instant()); exceptionRule.expect(IllegalStateException.class); exceptionRule.expectMessage(containsString("tenant:test1 app:testapp:default Session 2 is already active")); - applicationRepository.activate(tenantRepository.getTenant(tenant1), sessionId, timeoutBudget, false); + applicationRepository.activate(applicationRepository.getTenant(applicationId()), sessionId, timeoutBudget, false); } @Test diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/ApplicationContentHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/ApplicationContentHandlerTest.java index 8bf5215a696..0db6aea312d 100644 --- a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/ApplicationContentHandlerTest.java +++ b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/ApplicationContentHandlerTest.java @@ -45,13 +45,12 @@ public class ApplicationContentHandlerTest extends ContentHandlerTestBase { private final ApplicationId appId1 = new ApplicationId.Builder().tenant(tenantName1).applicationName("foo").instanceName("quux").build(); private final ApplicationId appId2 = new ApplicationId.Builder().tenant(tenantName2).applicationName("foo").instanceName("quux").build(); - private TenantRepository tenantRepository; private ApplicationRepository applicationRepository; private ApplicationHandler handler; @Before public void setupHandler() { - tenantRepository = new TenantRepository(componentRegistry, false); + TenantRepository tenantRepository = new TenantRepository(componentRegistry, false); tenantRepository.addTenant(tenantName1); tenantRepository.addTenant(tenantName2); @@ -106,7 +105,7 @@ public class ApplicationContentHandlerTest extends ContentHandlerTestBase { @Test public void require_that_get_does_not_set_write_flag() throws IOException { - Tenant tenant1 = tenantRepository.getTenant(tenantName1); + Tenant tenant1 = applicationRepository.getTenant(appId1); LocalSession session = applicationRepository.getActiveLocalSession(tenant1, appId1); assertContent("/test.txt", "foo\n"); assertThat(session.getStatus(), is(Session.Status.ACTIVATE)); diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/ApplicationHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/ApplicationHandlerTest.java index 1a558f89284..b6a96d680ec 100644 --- a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/ApplicationHandlerTest.java +++ b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/ApplicationHandlerTest.java @@ -113,7 +113,7 @@ public class ApplicationHandlerTest { { applicationRepository.deploy(testApp, prepareParams(applicationId)); - Tenant mytenant = tenantRepository.getTenant(applicationId.tenant()); + Tenant mytenant = applicationRepository.getTenant(applicationId); deleteAndAssertOKResponse(mytenant, applicationId); } @@ -301,9 +301,10 @@ public class ApplicationHandlerTest { } private void deleteAndAssertOKResponseMocked(ApplicationId applicationId, boolean fullAppIdInUrl) throws IOException { - long sessionId = tenantRepository.getTenant(applicationId.tenant()).getApplicationRepo().requireActiveSessionOf(applicationId); + Tenant tenant = applicationRepository.getTenant(applicationId); + long sessionId = tenant.getApplicationRepo().requireActiveSessionOf(applicationId); deleteAndAssertResponse(applicationId, Zone.defaultZone(), Response.Status.OK, null, fullAppIdInUrl); - assertNull(tenantRepository.getTenant(applicationId.tenant()).getSessionRepository().getLocalSession(sessionId)); + assertNull(tenant.getSessionRepository().getLocalSession(sessionId)); } private void deleteAndAssertOKResponse(Tenant tenant, ApplicationId applicationId) throws IOException { diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/HostHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/HostHandlerTest.java index 364e7372e20..5bf5e1f2229 100644 --- a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/HostHandlerTest.java +++ b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/HostHandlerTest.java @@ -39,7 +39,6 @@ public class HostHandlerTest { private HostHandler handler; private final static TenantName mytenant = TenantName.from("mytenant"); private final static Zone zone = Zone.defaultZone(); - private TenantRepository tenantRepository; private ApplicationRepository applicationRepository; @Before @@ -47,7 +46,7 @@ public class HostHandlerTest { TestComponentRegistry componentRegistry = new TestComponentRegistry.Builder() .zone(zone) .build(); - tenantRepository = new TenantRepository(componentRegistry); + TenantRepository tenantRepository = new TenantRepository(componentRegistry); tenantRepository.addTenant(mytenant); applicationRepository = new ApplicationRepository(tenantRepository, new SessionHandlerTest.MockProvisioner(), @@ -60,7 +59,7 @@ public class HostHandlerTest { public void require_correct_tenant_and_application_for_hostname() throws Exception { ApplicationId applicationId = applicationId(); applicationRepository.deploy(testApp, new PrepareParams.Builder().applicationId(applicationId).build()); - Tenant tenant = tenantRepository.getTenant(mytenant); + Tenant tenant = applicationRepository.getTenant(applicationId); String hostname = applicationRepository.getCurrentActiveApplicationSet(tenant, applicationId).get().getAllHosts().iterator().next(); assertApplicationForHost(hostname, applicationId); } diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionActiveHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionActiveHandlerTest.java index 53422df3fad..e48752afaf6 100644 --- a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionActiveHandlerTest.java +++ b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionActiveHandlerTest.java @@ -58,7 +58,6 @@ public class SessionActiveHandlerTest { private SessionHandlerTest.MockProvisioner hostProvisioner; private TestComponentRegistry componentRegistry; - private TenantRepository tenantRepository; private ApplicationRepository applicationRepository; private SessionActiveHandler handler; @@ -73,10 +72,10 @@ public class SessionActiveHandlerTest { .curator(new MockCurator()) .modelFactoryRegistry(new ModelFactoryRegistry(List.of((modelFactory)))) .build(); - tenantRepository = new TenantRepository(componentRegistry, false); + TenantRepository tenantRepository = new TenantRepository(componentRegistry, false); + tenantRepository.addTenant(tenantName); applicationRepository = new ApplicationRepository(tenantRepository, hostProvisioner, new OrchestratorMock(), componentRegistry.getClock()); - tenantRepository.addTenant(tenantName); handler = createHandler(); } @@ -124,7 +123,7 @@ public class SessionActiveHandlerTest { ApplicationMetaData getMetaData() { return metaData; } void invoke() { - Tenant tenant = tenantRepository.getTenant(tenantName); + Tenant tenant = applicationRepository.getTenant(applicationId()); long sessionId = applicationRepository.createSession(applicationId(), new TimeoutBudget(componentRegistry.getClock(), Duration.ofSeconds(10)), testApp); diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionContentHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionContentHandlerTest.java index 3ab56d3869a..cda62361256 100644 --- a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionContentHandlerTest.java +++ b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionContentHandlerTest.java @@ -54,7 +54,7 @@ public class SessionContentHandlerTest extends ContentHandlerTestBase { new OrchestratorMock(), Clock.systemUTC()); applicationRepository.deploy(testApp, new PrepareParams.Builder().applicationId(applicationId()).build()); - Tenant tenant = tenantRepository.getTenant(tenantName); + Tenant tenant = applicationRepository.getTenant(applicationId()); sessionId = applicationRepository.getActiveLocalSession(tenant, applicationId()).getSessionId(); handler = createHandler(); diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/session/MockSessionZKClient.java b/configserver/src/test/java/com/yahoo/vespa/config/server/session/MockSessionZKClient.java index 692510b8b6d..296fbf56b3d 100644 --- a/configserver/src/test/java/com/yahoo/vespa/config/server/session/MockSessionZKClient.java +++ b/configserver/src/test/java/com/yahoo/vespa/config/server/session/MockSessionZKClient.java @@ -6,6 +6,8 @@ import com.yahoo.config.model.test.MockApplicationPackage; import com.yahoo.config.provision.AllocatedHosts; import com.yahoo.config.provision.TenantName; import com.yahoo.vespa.config.server.tenant.TenantRepository; +import com.yahoo.vespa.config.server.zookeeper.ConfigCurator; +import com.yahoo.vespa.config.util.ConfigUtils; import com.yahoo.vespa.curator.Curator; import java.util.Optional; @@ -30,7 +32,10 @@ public class MockSessionZKClient extends SessionZooKeeperClient { } MockSessionZKClient(Curator curator, TenantName tenantName, long sessionId, ApplicationPackage application) { - super(curator, TenantRepository.getSessionsPath(tenantName).append(String.valueOf(sessionId))); + super(curator, + ConfigCurator.create(curator), + TenantRepository.getSessionsPath(tenantName).append(String.valueOf(sessionId)), + ConfigUtils.getCanonicalHostName()); this.app = application; curator.create(TenantRepository.getSessionsPath(tenantName).append(String.valueOf(sessionId))); } diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionPreparerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionPreparerTest.java index e53f9270983..1fa7ceed755 100644 --- a/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionPreparerTest.java +++ b/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionPreparerTest.java @@ -43,6 +43,7 @@ import com.yahoo.vespa.config.server.tenant.ContainerEndpointsCache; import com.yahoo.vespa.config.server.tenant.EndpointCertificateMetadataStore; import com.yahoo.vespa.config.server.tenant.EndpointCertificateRetriever; import com.yahoo.vespa.config.server.zookeeper.ConfigCurator; +import com.yahoo.vespa.config.util.ConfigUtils; import com.yahoo.vespa.curator.mock.MockCurator; import com.yahoo.vespa.flags.Flags; import com.yahoo.vespa.flags.InMemoryFlagSource; @@ -172,7 +173,7 @@ public class SessionPreparerTest { HostRegistry<ApplicationId> hostValidator = new HostRegistry<>(); hostValidator.update(applicationId("foo"), Collections.singletonList("mytesthost")); preparer.prepare(hostValidator, new BaseDeployLogger(), new PrepareParams.Builder().applicationId(applicationId("default")).build(), - Optional.empty(), tenantPath, Instant.now(), app.getAppDir(), app, new SessionZooKeeperClient(curator, sessionsPath)); + Optional.empty(), tenantPath, Instant.now(), app.getAppDir(), app, createSessionZooKeeperClient()); } @Test @@ -187,7 +188,7 @@ public class SessionPreparerTest { hostValidator.update(applicationId, Collections.singletonList("mytesthost")); preparer.prepare(hostValidator, logger, new PrepareParams.Builder().applicationId(applicationId).build(), Optional.empty(), tenantPath, Instant.now(), app.getAppDir(), app, - new SessionZooKeeperClient(curator, sessionsPath)); + createSessionZooKeeperClient()); assertEquals(logged.toString(), ""); } @@ -199,9 +200,8 @@ public class SessionPreparerTest { .applicationName("foo").instanceName("quux").build(); PrepareParams params = new PrepareParams.Builder().applicationId(origId).build(); prepare(testApp, params); - SessionZooKeeperClient zkc = new SessionZooKeeperClient(curator, sessionsPath); assertTrue(configCurator.exists(sessionsPath.append(SessionZooKeeperClient.APPLICATION_ID_PATH).getAbsolute())); - assertThat(zkc.readApplicationId(), is(origId)); + assertThat(createSessionZooKeeperClient().readApplicationId(), is(origId)); } @Test @@ -336,7 +336,7 @@ public class SessionPreparerTest { FilesApplicationPackage applicationPackage = getApplicationPackage(app); return preparer.prepare(new HostRegistry<>(), getLogger(), params, Optional.empty(), tenantPath, Instant.now(), applicationPackage.getAppDir(), - applicationPackage, new SessionZooKeeperClient(curator, sessionsPath)); + applicationPackage, createSessionZooKeeperClient()); } private FilesApplicationPackage getApplicationPackage(File testFile) throws IOException { @@ -360,6 +360,10 @@ public class SessionPreparerTest { ApplicationName.from(applicationName), InstanceName.defaultName()); } + private SessionZooKeeperClient createSessionZooKeeperClient() { + return new SessionZooKeeperClient(curator, configCurator, sessionsPath, ConfigUtils.getCanonicalHostName()); + } + private static class FailWithTransientExceptionProvisioner implements Provisioner { @Override diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionRepositoryTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionRepositoryTest.java index 13a27e570c2..9b9682faf5f 100644 --- a/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionRepositoryTest.java +++ b/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionRepositoryTest.java @@ -11,6 +11,8 @@ import com.yahoo.vespa.config.server.TestComponentRegistry; import com.yahoo.vespa.config.server.application.OrchestratorMock; import com.yahoo.vespa.config.server.http.SessionHandlerTest; import com.yahoo.vespa.config.server.tenant.TenantRepository; +import com.yahoo.vespa.config.server.zookeeper.ConfigCurator; +import com.yahoo.vespa.config.util.ConfigUtils; import com.yahoo.vespa.curator.Curator; import com.yahoo.vespa.curator.mock.MockCurator; import com.yahoo.vespa.flags.FlagSource; @@ -153,7 +155,10 @@ public class SessionRepositoryTest { } private void createSession(long sessionId, boolean wait, SessionRepository sessionRepository) { - SessionZooKeeperClient zkc = new SessionZooKeeperClient(curator, sessionRepository.getSessionPath(sessionId)); + SessionZooKeeperClient zkc = new SessionZooKeeperClient(curator, + ConfigCurator.create(curator), + sessionRepository.getSessionPath(sessionId), + ConfigUtils.getCanonicalHostName()); zkc.createNewSession(Instant.now()); if (wait) { Curator.CompletionWaiter waiter = zkc.getUploadWaiter(); diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionZooKeeperClientTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionZooKeeperClientTest.java index 1d7df7acfd0..fd0e34b9814 100644 --- a/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionZooKeeperClientTest.java +++ b/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionZooKeeperClientTest.java @@ -6,6 +6,7 @@ import com.yahoo.config.provision.ApplicationId; import com.yahoo.path.Path; import com.yahoo.text.Utf8; import com.yahoo.vespa.config.server.zookeeper.ConfigCurator; +import com.yahoo.vespa.config.util.ConfigUtils; import com.yahoo.vespa.curator.Curator; import com.yahoo.vespa.curator.mock.MockCurator; import org.junit.Before; @@ -112,7 +113,10 @@ public class SessionZooKeeperClientTest { } private SessionZooKeeperClient createSessionZKClient(String sessionId) { - SessionZooKeeperClient zkc = new SessionZooKeeperClient(curator, Path.fromString(sessionId)); + SessionZooKeeperClient zkc = new SessionZooKeeperClient(curator, + ConfigCurator.create(curator), + Path.fromString(sessionId), + ConfigUtils.getCanonicalHostName()); zkc.createNewSession(Instant.now()); return zkc; } |