534
534
c.Assert(err, gc.ErrorMatches, `unknown constraint "foo"`)
537
var attributesWithValuesTests = []struct {
544
expected: []string{},
547
cons: "root-disk=8G mem=4G arch=amd64 cpu-power=1000 cpu-cores=4",
548
expected: []string{"arch", "cpu-cores", "cpu-power", "mem", "root-disk"},
552
537
func (s *ConstraintsSuite) TestAttributesWithValues(c *gc.C) {
553
for i, t := range attributesWithValuesTests {
538
for i, consStr := range []string{
540
"root-disk=8G mem=4G arch=amd64 cpu-power=1000 cpu-cores=4 instance-type=foo tags=foo,bar",
554
542
c.Logf("test %d", i)
555
cons := constraints.MustParse(t.cons)
543
cons := constraints.MustParse(consStr)
556
544
obtained := constraints.AttributesWithValues(cons)
557
c.Check(obtained, gc.DeepEquals, t.expected)
545
assertMissing := func(attrName string) {
546
_, ok := obtained[attrName]
547
c.Check(ok, jc.IsFalse)
549
if cons.Arch != nil {
550
c.Check(obtained["arch"], gc.Equals, *cons.Arch)
552
assertMissing("arch")
555
c.Check(obtained["mem"], gc.Equals, *cons.Mem)
559
if cons.CpuCores != nil {
560
c.Check(obtained["cpu-cores"], gc.Equals, *cons.CpuCores)
562
assertMissing("cpu-cores")
564
if cons.CpuPower != nil {
565
c.Check(obtained["cpu-power"], gc.Equals, *cons.CpuPower)
567
assertMissing("cpu-power")
569
if cons.RootDisk != nil {
570
c.Check(obtained["root-disk"], gc.Equals, *cons.RootDisk)
572
assertMissing("root-disk")
574
if cons.Tags != nil {
575
c.Check(obtained["tags"], gc.DeepEquals, *cons.Tags)
577
assertMissing("tags")
579
if cons.InstanceType != nil {
580
c.Check(obtained["instance-type"], gc.Equals, *cons.InstanceType)
582
assertMissing("instance-type")