diff options
author | andreer <andreer@verizonmedia.com> | 2020-10-25 21:39:16 +0100 |
---|---|---|
committer | andreer <andreer@verizonmedia.com> | 2020-10-25 21:39:16 +0100 |
commit | c36b1bd081047f0e95c27cd38afac69ae880b158 (patch) | |
tree | 666630c1b21e5ff3caf15b96a2453909fe6cb9bd /controller-server | |
parent | c2cc2823c7397c30934b40cedafe2d9d34829c4a (diff) |
basic unit test
Diffstat (limited to 'controller-server')
-rw-r--r-- | controller-server/src/test/java/com/yahoo/vespa/hosted/controller/application/DeploymentQuotaCalculatorTest.java | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/application/DeploymentQuotaCalculatorTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/application/DeploymentQuotaCalculatorTest.java new file mode 100644 index 00000000000..675cb2f3f76 --- /dev/null +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/application/DeploymentQuotaCalculatorTest.java @@ -0,0 +1,51 @@ +package com.yahoo.vespa.hosted.controller.application; + +import com.yahoo.config.application.api.DeploymentSpec; +import com.yahoo.config.provision.ApplicationId; +import com.yahoo.config.provision.zone.ZoneId; +import com.yahoo.vespa.hosted.controller.api.integration.billing.Quota; +import org.junit.Test; + +import java.util.List; + +import static org.junit.Assert.*; + +public class DeploymentQuotaCalculatorTest { + + @Test + public void quota_is_divided_among_prod_instances() { + Quota calculated = DeploymentQuotaCalculator.calculate(Quota.unlimited().withBudget(10), List.of(), ApplicationId.defaultId(), ZoneId.defaultId(), + DeploymentSpec.fromXml( + "<deployment version='1.0'>\n" + + " <instance id='instance1'> \n" + + " <test />\n" + + " <staging />\n" + + " <prod>\n" + + " <region active=\"true\">us-east-1</region>\n" + + " <region active=\"false\">us-west-1</region>\n" + + " </prod>\n" + + " </instance>\n" + + " <instance id='instance2'>\n" + + " <perf/>\n" + + " <dev/>\n" + + " <prod>\n" + + " <region active=\"true\">us-north-1</region>\n" + + " </prod>\n" + + " </instance>\n" + + "</deployment>")); + assertEquals(10d/3, calculated.budget().get().doubleValue(), 1e-5); + } + + @Test + public void unlimited_quota_remains_unlimited() { + Quota calculated = DeploymentQuotaCalculator.calculate(Quota.unlimited(), List.of(), ApplicationId.defaultId(), ZoneId.defaultId(), DeploymentSpec.empty); + assertTrue(calculated.isUnlimited()); + } + + @Test + public void zero_quota_remains_zero() { + Quota calculated = DeploymentQuotaCalculator.calculate(Quota.zero(), List.of(), ApplicationId.defaultId(), ZoneId.defaultId(), DeploymentSpec.empty); + assertEquals(calculated.budget().get().doubleValue(), 0, 1e-5); + } + +}
\ No newline at end of file |