diff options
author | Harald Musum <musum@verizonmedia.com> | 2019-03-04 13:16:45 +0100 |
---|---|---|
committer | Harald Musum <musum@verizonmedia.com> | 2019-03-04 13:16:45 +0100 |
commit | e4f8b5949e25d549f8337d2ae77effacfe801934 (patch) | |
tree | dfa4aad05956adf236446761e7136fd0395b066c /configserver | |
parent | 2254161c1a2164d8b9eba6d3a8ac0da7761f3774 (diff) |
Move the one useful test, remove the rest
Diffstat (limited to 'configserver')
3 files changed, 24 insertions, 97 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java b/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java index a31e0bf2fa4..7b71a5ab44b 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java @@ -12,7 +12,6 @@ import com.yahoo.config.application.api.ApplicationMetaData; import com.yahoo.config.application.api.DeployLogger; import com.yahoo.config.model.api.HostInfo; import com.yahoo.config.model.api.ServiceInfo; -import com.yahoo.config.model.api.container.ContainerServiceType; import com.yahoo.config.provision.ApplicationId; import com.yahoo.config.provision.Environment; import com.yahoo.config.provision.HostFilter; 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 3d94dedf651..662084389d0 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 @@ -7,6 +7,7 @@ import com.google.common.io.Files; import com.yahoo.cloud.config.ConfigserverConfig; import com.yahoo.component.Version; import com.yahoo.component.Vtag; +import com.yahoo.config.application.api.ApplicationMetaData; import com.yahoo.config.model.application.provider.FilesApplicationPackage; import com.yahoo.config.provision.ApplicationId; import com.yahoo.config.provision.ApplicationName; @@ -25,6 +26,7 @@ import com.yahoo.vespa.config.server.http.SessionHandlerTest; import com.yahoo.vespa.config.server.http.v2.PrepareResult; import com.yahoo.vespa.config.server.session.LocalSession; import com.yahoo.vespa.config.server.session.PrepareParams; +import com.yahoo.vespa.config.server.session.SilentDeployLogger; import com.yahoo.vespa.config.server.tenant.Tenant; import com.yahoo.vespa.config.server.tenant.TenantRepository; import com.yahoo.vespa.curator.Curator; @@ -121,6 +123,24 @@ public class ApplicationRepositoryTest { } @Test + public void createFromActiveSession() { + PrepareResult result = deployApp(testApp); + long sessionId = applicationRepository.createSessionFromExisting(applicationId(), + new SilentDeployLogger(), + false, + timeoutBudget); + long originalSessionId = result.sessionId(); + ApplicationMetaData originalApplicationMetaData = getApplicationMetaData(applicationId(), originalSessionId); + ApplicationMetaData applicationMetaData = getApplicationMetaData(applicationId(), sessionId); + + assertNotEquals(sessionId, originalSessionId); + assertEquals(applicationMetaData.getApplicationName(), originalApplicationMetaData.getApplicationName()); + assertEquals(applicationMetaData.getPreviousActiveGeneration(), originalApplicationMetaData.getGeneration().longValue()); + assertNotEquals(applicationMetaData.getGeneration(), originalApplicationMetaData.getApplicationName()); + assertEquals(applicationMetaData.getDeployedByUser(), originalApplicationMetaData.getDeployedByUser()); + } + + @Test public void testSuspension() { deployApp(testApp); assertFalse(applicationRepository.isSuspended(applicationId())); @@ -339,4 +359,8 @@ public class ApplicationRepositoryTest { return ApplicationId.from(tenantName, ApplicationName.from("testapp"), InstanceName.defaultName()); } + private ApplicationMetaData getApplicationMetaData(ApplicationId applicationId, long sessionId) { + Tenant tenant = tenantRepository.getTenant(applicationId.tenant()); + return applicationRepository.getMetadataFromSession(tenant, sessionId); + } } diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionFactoryTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionFactoryTest.java deleted file mode 100644 index 6c8be2ac2f3..00000000000 --- a/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionFactoryTest.java +++ /dev/null @@ -1,96 +0,0 @@ -// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package com.yahoo.vespa.config.server.session; - -import com.google.common.io.Files; -import com.yahoo.config.application.api.ApplicationFile; -import com.yahoo.config.model.application.provider.BaseDeployLogger; -import com.yahoo.config.provision.ApplicationId; -import com.yahoo.config.provision.ApplicationName; -import com.yahoo.config.provision.InstanceName; -import com.yahoo.config.provision.TenantName; -import com.yahoo.io.IOUtils; -import com.yahoo.path.Path; -import com.yahoo.vespa.config.server.*; -import com.yahoo.vespa.config.server.http.CompressedApplicationInputStream; -import com.yahoo.vespa.config.server.http.CompressedApplicationInputStreamTest; - -import com.yahoo.vespa.config.server.http.v2.ApplicationApiHandler; -import com.yahoo.vespa.config.server.tenant.TenantRepository; -import com.yahoo.vespa.curator.mock.MockCurator; -import org.json.JSONException; -import org.json.JSONObject; -import org.junit.Before; -import org.junit.Test; - -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; - -import static org.hamcrest.core.Is.is; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertThat; -import static org.junit.Assert.assertTrue; - -/** - * @author Ulf Lilleengen - */ -public class SessionFactoryTest { - private SessionFactory factory; - - @Before - public void setup_test() { - TenantRepository tenantRepository = new TenantRepository(new TestComponentRegistry.Builder().curator(new MockCurator()).build()); - factory = tenantRepository.defaultTenant().getSessionFactory(); - } - - @Test - public void require_that_session_can_be_created() throws IOException { - LocalSession session = getLocalSession(); - assertNotNull(session); - assertThat(session.getSessionId(), is(2l)); - assertTrue(session.getCreateTime() > 0); - } - - @Test - public void require_that_application_name_is_set_in_application_package() throws IOException, JSONException { - LocalSession session = getLocalSession("book"); - assertNotNull(session); - ApplicationFile meta = session.getApplicationFile(Path.createRoot().append(".applicationMetaData"), LocalSession.Mode.READ); - assertTrue(meta.exists()); - JSONObject json = new JSONObject(IOUtils.readAll(meta.createReader())); - assertThat(json.getJSONObject("application").getString("name"), is("book")); - } - - @Test - public void require_that_session_can_be_created_from_existing() throws IOException { - LocalSession session = getLocalSession(); - assertNotNull(session); - assertThat(session.getSessionId(), is(2L)); - LocalSession session2 = factory.createSessionFromExisting(session, - new BaseDeployLogger(), - false, - TimeoutBudgetTest.day()); - assertNotNull(session2); - assertThat(session2.getSessionId(), is(3L)); - } - - @Test(expected = RuntimeException.class) - public void require_that_invalid_app_dir_is_handled() { - createSession(new File("doesnotpointtoavaliddir"), "music"); - } - - private LocalSession getLocalSession() throws IOException { - return getLocalSession("music"); - } - - private LocalSession getLocalSession(String appName) throws IOException { - CompressedApplicationInputStream app = CompressedApplicationInputStream.createFromCompressedStream( - new FileInputStream(CompressedApplicationInputStreamTest.createTarFile()), ApplicationApiHandler.APPLICATION_X_GZIP); - return createSession(app.decompress(Files.createTempDir()), appName); - } - - private LocalSession createSession(File applicationDirectory, String appName) { - ApplicationId applicationId = ApplicationId.from(TenantName.defaultName(), ApplicationName.from(appName), InstanceName.defaultName()); - return factory.createSession(applicationDirectory, applicationId, TimeoutBudgetTest.day()); - } -} |