diff options
author | Jon Marius Venstad <jonmv@users.noreply.github.com> | 2022-08-02 15:58:47 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-08-02 15:58:47 +0200 |
commit | 51da45a17cd91a15560c279530e215e0d4cd0521 (patch) | |
tree | c89a3fb27e8f288b817d094693a421d8f85d104a /controller-server/src/test/java/com/yahoo/vespa/hosted | |
parent | f4e21aefac14215826661298d1a980c90238af72 (diff) | |
parent | 524ec3aca0fafd8a5ad31ecc99381bb895e133e3 (diff) |
Merge pull request #23562 from vespa-engine/andreer/trigger-one-prod-job-per-runv8.28.12
trigger one prod job per run
Diffstat (limited to 'controller-server/src/test/java/com/yahoo/vespa/hosted')
-rw-r--r-- | controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/EndpointCertificateMaintainerTest.java | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/EndpointCertificateMaintainerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/EndpointCertificateMaintainerTest.java index c103894b1a3..47a1b44d196 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/EndpointCertificateMaintainerTest.java +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/EndpointCertificateMaintainerTest.java @@ -1,19 +1,32 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.hosted.controller.maintenance; +import com.yahoo.component.Version; import com.yahoo.config.provision.ApplicationId; +import com.yahoo.config.provision.zone.ZoneId; import com.yahoo.vespa.hosted.controller.ControllerTester; import com.yahoo.vespa.hosted.controller.api.integration.certificates.EndpointCertificateMetadata; import com.yahoo.vespa.hosted.controller.api.integration.certificates.EndpointCertificateMock; +import com.yahoo.vespa.hosted.controller.api.integration.deployment.JobType; +import com.yahoo.vespa.hosted.controller.api.integration.deployment.RevisionId; +import com.yahoo.vespa.hosted.controller.application.Deployment; +import com.yahoo.vespa.hosted.controller.application.DeploymentActivity; +import com.yahoo.vespa.hosted.controller.application.DeploymentMetrics; +import com.yahoo.vespa.hosted.controller.application.QuotaUsage; import com.yahoo.vespa.hosted.controller.deployment.ApplicationPackageBuilder; import com.yahoo.vespa.hosted.controller.deployment.DeploymentContext; import com.yahoo.vespa.hosted.controller.deployment.DeploymentTester; import com.yahoo.vespa.hosted.controller.integration.SecretStoreMock; +import org.jetbrains.annotations.NotNull; import org.junit.jupiter.api.Test; import java.time.Duration; +import java.time.Instant; +import java.time.temporal.ChronoUnit; import java.util.List; import java.util.Optional; +import java.util.OptionalDouble; +import java.util.stream.Stream; import static com.yahoo.vespa.hosted.controller.deployment.DeploymentContext.productionUsWest1; import static com.yahoo.vespa.hosted.controller.deployment.DeploymentContext.stagingTest; @@ -121,6 +134,21 @@ public class EndpointCertificateMaintainerTest { } @Test + void testEligibleSorting() { + EndpointCertificateMaintainer.EligibleJob oldestDeployment = makeDeploymentAtAge(5); + assertEquals( + oldestDeployment, + Stream.of(makeDeploymentAtAge(2), oldestDeployment, makeDeploymentAtAge(4)).min(maintainer.oldestFirst).get()); + } + + @NotNull + private EndpointCertificateMaintainer.EligibleJob makeDeploymentAtAge(int ageInDays) { + var deployment = new Deployment(ZoneId.defaultId(), RevisionId.forProduction(1), Version.emptyVersion, + Instant.now().minus(ageInDays, ChronoUnit.DAYS), DeploymentMetrics.none, DeploymentActivity.none, QuotaUsage.none, OptionalDouble.empty()); + return new EndpointCertificateMaintainer.EligibleJob(deployment, ApplicationId.defaultId(), JobType.prod("somewhere")); + } + + @Test void unmaintained_cert_is_deleted() { EndpointCertificateMock endpointCertificateProvider = (EndpointCertificateMock) tester.controller().serviceRegistry().endpointCertificateProvider(); |