summaryrefslogtreecommitdiffstats
path: root/configserver
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2019-03-04 13:16:45 +0100
committerHarald Musum <musum@verizonmedia.com>2019-03-04 13:16:45 +0100
commite4f8b5949e25d549f8337d2ae77effacfe801934 (patch)
treedfa4aad05956adf236446761e7136fd0395b066c /configserver
parent2254161c1a2164d8b9eba6d3a8ac0da7761f3774 (diff)
Move the one useful test, remove the rest
Diffstat (limited to 'configserver')
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java1
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/ApplicationRepositoryTest.java24
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionFactoryTest.java96
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());
- }
-}