X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/10bfcf75847ada2dee77a276b4cc912b43acc936..7b2c2c415aa67936389998a5c93d52891e5644f4:/lib/config/load_test.go diff --git a/lib/config/load_test.go b/lib/config/load_test.go index d4896c39cb..3d8045d315 100644 --- a/lib/config/load_test.go +++ b/lib/config/load_test.go @@ -71,6 +71,18 @@ func (s *LoadSuite) TestNoConfigs(c *check.C) { c.Check(cc.API.MaxItemsPerResponse, check.Equals, 1000) } +func (s *LoadSuite) TestNullKeyDoesNotOverrideDefault(c *check.C) { + ldr := testLoader(c, `{"Clusters":{"z1111":{"API":}}}`, nil) + ldr.SkipDeprecated = true + cfg, err := ldr.Load() + c.Assert(err, check.IsNil) + c1, err := cfg.GetCluster("z1111") + c.Assert(err, check.IsNil) + c.Check(c1.ClusterID, check.Equals, "z1111") + c.Check(c1.API.MaxRequestAmplification, check.Equals, 4) + c.Check(c1.API.MaxItemsPerResponse, check.Equals, 1000) +} + func (s *LoadSuite) TestMungeLegacyConfigArgs(c *check.C) { f, err := ioutil.TempFile("", "") c.Check(err, check.IsNil) @@ -683,3 +695,38 @@ Clusters: _, err = ldr.Load() c.Assert(err, check.ErrorMatches, `there is no default storage class.*`) } + +func (s *LoadSuite) TestPreemptiblePriceFactor(c *check.C) { + yaml := ` +Clusters: + z1111: + InstanceTypes: + Type1: + RAM: 12345M + VCPUs: 8 + Price: 1.23 + z2222: + Containers: + PreemptiblePriceFactor: 0.5 + InstanceTypes: + Type1: + RAM: 12345M + VCPUs: 8 + Price: 1.23 +` + cfg, err := testLoader(c, yaml, nil).Load() + c.Assert(err, check.IsNil) + cc, err := cfg.GetCluster("z1111") + c.Assert(err, check.IsNil) + c.Check(cc.InstanceTypes["Type1"].Price, check.Equals, 1.23) + c.Check(cc.InstanceTypes, check.HasLen, 1) + + cc, err = cfg.GetCluster("z2222") + c.Assert(err, check.IsNil) + c.Check(cc.InstanceTypes["Type1"].Preemptible, check.Equals, false) + c.Check(cc.InstanceTypes["Type1"].Price, check.Equals, 1.23) + c.Check(cc.InstanceTypes["Type1.preemptible"].Preemptible, check.Equals, true) + c.Check(cc.InstanceTypes["Type1.preemptible"].Price, check.Equals, 1.23/2) + c.Check(cc.InstanceTypes["Type1.preemptible"].ProviderType, check.Equals, "Type1") + c.Check(cc.InstanceTypes, check.HasLen, 2) +}