diff options
Diffstat (limited to 'controller-server/src/test/java')
-rw-r--r-- | controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ArtifactRegistryMock.java | 39 | ||||
-rw-r--r-- | controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ContainerRegistryMock.java | 39 | ||||
-rw-r--r-- | controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ServiceRegistryMock.java | 8 | ||||
-rw-r--r-- | controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/ArtifactExpirerTest.java (renamed from controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/ContainerImageExpirerTest.java) | 22 | ||||
-rw-r--r-- | controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/controller/responses/maintenance.json | 6 |
5 files changed, 57 insertions, 57 deletions
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ArtifactRegistryMock.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ArtifactRegistryMock.java new file mode 100644 index 00000000000..ef0445e06c6 --- /dev/null +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ArtifactRegistryMock.java @@ -0,0 +1,39 @@ +// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package com.yahoo.vespa.hosted.controller.integration; + +import com.yahoo.vespa.hosted.controller.api.integration.artifact.Artifact; +import com.yahoo.vespa.hosted.controller.api.integration.artifact.ArtifactRegistry; + +import java.util.Comparator; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * @author mpolden + */ +public class ArtifactRegistryMock implements ArtifactRegistry { + + private static final Comparator<Artifact> comparator = Comparator.comparing(Artifact::registry) + .thenComparing(Artifact::repository) + .thenComparing(Artifact::version); + + private final Map<String, Artifact> images = new HashMap<>(); + + public ArtifactRegistryMock add(Artifact image) { + images.put(image.id(), image); + return this; + } + + @Override + public void deleteAll(List<Artifact> artifacts) { + artifacts.forEach(image -> this.images.remove(image.id())); + } + + @Override + public List<Artifact> list() { + return images.values().stream().sorted(comparator).collect(Collectors.toUnmodifiableList()); + } + +} diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ContainerRegistryMock.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ContainerRegistryMock.java deleted file mode 100644 index 4791017548d..00000000000 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ContainerRegistryMock.java +++ /dev/null @@ -1,39 +0,0 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package com.yahoo.vespa.hosted.controller.integration; - -import com.yahoo.vespa.hosted.controller.api.integration.container.ContainerImage; -import com.yahoo.vespa.hosted.controller.api.integration.container.ContainerRegistry; - -import java.util.Comparator; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - -/** - * @author mpolden - */ -public class ContainerRegistryMock implements ContainerRegistry { - - private static final Comparator<ContainerImage> comparator = Comparator.comparing(ContainerImage::registry) - .thenComparing(ContainerImage::repository) - .thenComparing(ContainerImage::version); - - private final Map<String, ContainerImage> images = new HashMap<>(); - - public ContainerRegistryMock add(ContainerImage image) { - images.put(image.id(), image); - return this; - } - - @Override - public void deleteAll(List<ContainerImage> images) { - images.forEach(image -> this.images.remove(image.id())); - } - - @Override - public List<ContainerImage> list() { - return images.values().stream().sorted(comparator).collect(Collectors.toUnmodifiableList()); - } - -} diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ServiceRegistryMock.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ServiceRegistryMock.java index 7b42dbff488..a91d81bb0c5 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ServiceRegistryMock.java +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ServiceRegistryMock.java @@ -5,6 +5,7 @@ import com.yahoo.component.annotation.Inject; import com.yahoo.cloud.config.ConfigserverConfig; import com.yahoo.component.AbstractComponent; import com.yahoo.component.Version; +import com.yahoo.config.provision.CloudName; import com.yahoo.config.provision.HostName; import com.yahoo.config.provision.SystemName; import com.yahoo.test.ManualClock; @@ -50,6 +51,7 @@ import com.yahoo.vespa.hosted.controller.api.integration.user.RoleMaintainerMock import com.yahoo.vespa.hosted.controller.api.integration.vcmr.MockChangeRequestClient; import java.time.Instant; +import java.util.Optional; /** * A mock implementation of a {@link ServiceRegistry} for testing purposes. @@ -82,7 +84,7 @@ public class ServiceRegistryMock extends AbstractComponent implements ServiceReg private final MockResourceTagger mockResourceTagger = new MockResourceTagger(); private final RoleService roleService = new MockRoleService(); private final BillingController billingController = new MockBillingController(clock); - private final ContainerRegistryMock containerRegistry = new ContainerRegistryMock(); + private final ArtifactRegistryMock containerRegistry = new ArtifactRegistryMock(); private final NoopTenantSecretService tenantSecretService = new NoopTenantSecretService(); private final ArchiveService archiveService = new MockArchiveService(); private final MockChangeRequestClient changeRequestClient = new MockChangeRequestClient(); @@ -236,8 +238,8 @@ public class ServiceRegistryMock extends AbstractComponent implements ServiceReg } @Override - public ContainerRegistryMock containerRegistry() { - return containerRegistry; + public Optional<ArtifactRegistryMock> artifactRegistry(CloudName cloudName) { + return Optional.of(containerRegistry); } @Override diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/ContainerImageExpirerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/ArtifactExpirerTest.java index baebf7239ee..7703266c9ba 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/ContainerImageExpirerTest.java +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/ArtifactExpirerTest.java @@ -2,35 +2,33 @@ package com.yahoo.vespa.hosted.controller.maintenance; import com.yahoo.component.Version; -import com.yahoo.vespa.hosted.controller.api.integration.container.ContainerImage; -import com.yahoo.vespa.hosted.controller.api.integration.container.ContainerImage.Architecture; +import com.yahoo.config.provision.CloudName; +import com.yahoo.vespa.hosted.controller.api.integration.artifact.Artifact; import com.yahoo.vespa.hosted.controller.deployment.DeploymentTester; -import com.yahoo.vespa.hosted.controller.integration.ContainerRegistryMock; +import com.yahoo.vespa.hosted.controller.integration.ArtifactRegistryMock; import org.junit.Test; import java.time.Duration; import java.time.Instant; import java.util.List; -import java.util.Optional; import static org.junit.Assert.assertEquals; /** * @author mpolden */ -public class ContainerImageExpirerTest { +public class ArtifactExpirerTest { @Test public void maintain() { DeploymentTester tester = new DeploymentTester(); - ContainerImageExpirer expirer = new ContainerImageExpirer(tester.controller(), Duration.ofDays(1)); - ContainerRegistryMock registry = tester.controllerTester().serviceRegistry().containerRegistry(); + ArtifactExpirer expirer = new ArtifactExpirer(tester.controller(), Duration.ofDays(1)); + ArtifactRegistryMock registry = tester.controllerTester().serviceRegistry().artifactRegistry(CloudName.defaultName()).orElseThrow(); Instant instant = tester.clock().instant(); - ContainerImage image0 = new ContainerImage("image0", "registry.example.com", "vespa/vespa", instant, Version.fromString("7.1"), Optional.empty()); - ContainerImage image1 = new ContainerImage("image1", "registry.example.com", "vespa/vespa", instant, Version.fromString("7.2"), Optional.of(Architecture.amd64)); - ContainerImage image2 = new ContainerImage("image2", "registry.example.com", "vespa/vespa", instant, Version.fromString("7.4"), Optional.of(Architecture.amd64)); - + Artifact image0 = new Artifact("image0", "registry.example.com", "vespa/vespa", "7.1", instant, Version.fromString("7.1")); + Artifact image1 = new Artifact("image1", "registry.example.com", "vespa/vespa", "7.2-amd64", instant, Version.fromString("7.2")); + Artifact image2 = new Artifact("image2", "registry.example.com", "vespa/vespa", "7.4-amd64", instant, Version.fromString("7.4")); registry.add(image0) .add(image1) .add(image2); @@ -53,7 +51,7 @@ public class ContainerImageExpirerTest { assertEquals(List.of(image1, image2), registry.list()); // A new version becomes active. The active and future version are kept - ContainerImage image3 = new ContainerImage("image3", "registry.example.com", "vespa/vespa", tester.clock().instant(), Version.fromString("7.3"), Optional.of(Architecture.amd64)); + Artifact image3 = new Artifact("image3", "registry.example.com", "vespa/vespa", "7.3-arm64", tester.clock().instant(), Version.fromString("7.3")); registry.add(image3); tester.controllerTester().upgradeSystem(image3.version()); expirer.maintain(); diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/controller/responses/maintenance.json b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/controller/responses/maintenance.json index 79e11fa1140..8b2e5578ae0 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/controller/responses/maintenance.json +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/controller/responses/maintenance.json @@ -13,6 +13,9 @@ "name": "ArchiveUriUpdater" }, { + "name": "ArtifactExpirer" + }, + { "name": "BillingDatabaseMaintainer" }, { @@ -28,9 +31,6 @@ "name": "ContactInformationMaintainer" }, { - "name": "ContainerImageExpirer" - }, - { "name": "CostReportMaintainer" }, { |