diff options
author | Morten Tokle <mortent@yahooinc.com> | 2023-06-09 08:34:31 +0200 |
---|---|---|
committer | Morten Tokle <mortent@yahooinc.com> | 2023-06-12 22:53:33 +0200 |
commit | e4a5a20eb19ff2e2d5759f6fef83da5611d1a94e (patch) | |
tree | 1cef0d16766e852e36d9f44b7b2e788b17d9d8b2 /configserver/src/test/java/com | |
parent | 5f25e0ba346c04ccc27c60cc410c0ed2fdb6b06b (diff) |
Persist tokens on deploy
Diffstat (limited to 'configserver/src/test/java/com')
3 files changed, 51 insertions, 1 deletions
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/ModelContextImplTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/ModelContextImplTest.java index 2ef9a41a967..f5cd56707b3 100644 --- a/configserver/src/test/java/com/yahoo/vespa/config/server/ModelContextImplTest.java +++ b/configserver/src/test/java/com/yahoo/vespa/config/server/ModelContextImplTest.java @@ -75,7 +75,8 @@ public class ModelContextImplTest { List.of(), new SecretStoreProvider().get(), List.of(), - Optional.empty()), + Optional.empty(), + List.of()), Optional.empty(), Optional.empty(), new Version(7), 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 4af0881e200..19f24f8e817 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 @@ -16,6 +16,7 @@ import com.yahoo.config.provision.ApplicationId; import com.yahoo.config.provision.ApplicationName; import com.yahoo.config.provision.CertificateNotReadyException; import com.yahoo.config.provision.CloudAccount; +import com.yahoo.config.provision.DataplaneToken; import com.yahoo.config.provision.InstanceName; import com.yahoo.config.provision.TenantName; import com.yahoo.config.provision.Zone; @@ -360,6 +361,25 @@ public class SessionPreparerTest { assertEquals(Optional.of(expected), accountFromModel); } + @Test + public void require_that_dataplane_tokens_are_written() throws Exception { + TestModelFactory modelFactory = new TestModelFactory(version123); + preparer = createPreparer(new ModelFactoryRegistry(List.of(modelFactory)), HostProvisionerProvider.empty()); + ApplicationId applicationId = applicationId("test"); + List<DataplaneToken> expected = List.of(new DataplaneToken("id", List.of(new DataplaneToken.TokenValue("f1", "ch1")))); + PrepareParams params = new PrepareParams.Builder().applicationId(applicationId) + .dataplaneTokens(expected) + .build(); + prepare(new File("src/test/resources/deploy/hosted-app"), params); + + SessionZooKeeperClient zkClient = createSessionZooKeeperClient(); + assertEquals(expected, zkClient.readDataplaneTokens()); + + ModelContext modelContext = modelFactory.getModelContext(); + List<DataplaneToken> tokensFromModel = modelContext.properties().dataplaneTokens(); + assertEquals(expected, tokensFromModel); + } + private List<ContainerEndpoint> readContainerEndpoints(ApplicationId applicationId) { Path tenantPath = TenantRepository.getTenantPath(applicationId.tenant()); return new ContainerEndpointsCache(tenantPath, curator).read(applicationId); diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/tenant/DataplaneTokenSerializerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/tenant/DataplaneTokenSerializerTest.java new file mode 100644 index 00000000000..cb9e29e6517 --- /dev/null +++ b/configserver/src/test/java/com/yahoo/vespa/config/server/tenant/DataplaneTokenSerializerTest.java @@ -0,0 +1,29 @@ +// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package com.yahoo.vespa.config.server.tenant; + +import com.yahoo.config.provision.DataplaneToken; +import com.yahoo.slime.Slime; +import org.junit.Test; + +import java.util.List; + +import static org.junit.Assert.assertEquals; + +/** + * @author mortent + */ +public class DataplaneTokenSerializerTest { + + @Test + public void testSerialization() { + List<DataplaneToken> tokens = List.of( + new DataplaneToken("id1", + List.of(new DataplaneToken.TokenValue("id1_fingerPrint1", "id1_checkaccesshash1"))), + new DataplaneToken("id2", + List.of(new DataplaneToken.TokenValue("id2_fingerPrint1", "id2_checkaccesshash1"), + new DataplaneToken.TokenValue("id3_fingerPrint1", "id3_checkaccesshash1")))); + Slime slime = DataplaneTokenSerializer.toSlime(tokens); + List<DataplaneToken> deserialized = DataplaneTokenSerializer.fromSlime(slime.get()); + assertEquals(tokens, deserialized); + } +} |