~wallyworld/juju-core/fast-lxc-everywhere

« back to all changes in this revision

Viewing changes to provider/azure/environ_test.go

  • Committer: Tarmac
  • Author(s): Ian Booth
  • Date: 2014-04-24 12:33:19 UTC
  • mfrom: (2664.1.4 constraints-vocab)
  • Revision ID: tarmac-20140424123319-iifvboa1kjuprj7l
[r=wallyworld] Support constraints vocabs

Add support to constraints validation for
vocabs for each attribute. eg arch and
instance-type can only have well defined
values for each provider. The vocab check
is part of constraints validation.

https://codereview.appspot.com/96730043/

Show diffs side-by-side

added added

removed removed

Lines of Context:
200
200
        env := s.setupEnvWithDummyMetadata(c)
201
201
        a, err := env.SupportedArchitectures()
202
202
        c.Assert(err, gc.IsNil)
203
 
        c.Assert(a, gc.DeepEquals, []string{"ppc64"})
 
203
        c.Assert(a, gc.DeepEquals, []string{"amd64"})
204
204
}
205
205
 
206
206
func (s *environSuite) TestSupportNetworks(c *gc.C) {
1309
1309
                {
1310
1310
                        Id:         "image-id",
1311
1311
                        VirtType:   "Hyper-V",
1312
 
                        Arch:       "ppc64",
 
1312
                        Arch:       "amd64",
1313
1313
                        RegionName: "North Europe",
1314
1314
                        Endpoint:   "https://management.core.windows.net/",
1315
1315
                },
1520
1520
}
1521
1521
 
1522
1522
func (s *environSuite) TestConstraintsValidator(c *gc.C) {
1523
 
        env := makeEnviron(c)
1524
 
        validator := env.ConstraintsValidator()
 
1523
        env := s.setupEnvWithDummyMetadata(c)
 
1524
        validator, err := env.ConstraintsValidator()
 
1525
        c.Assert(err, gc.IsNil)
1525
1526
        cons := constraints.MustParse("arch=amd64 tags=bar cpu-power=10")
1526
1527
        unsupported, err := validator.Validate(cons)
1527
1528
        c.Assert(err, gc.IsNil)
1528
1529
        c.Assert(unsupported, gc.DeepEquals, []string{"cpu-power", "tags"})
1529
1530
}
 
1531
 
 
1532
func (s *environSuite) TestConstraintsValidatorVocab(c *gc.C) {
 
1533
        env := s.setupEnvWithDummyMetadata(c)
 
1534
        validator, err := env.ConstraintsValidator()
 
1535
        c.Assert(err, gc.IsNil)
 
1536
        cons := constraints.MustParse("arch=ppc64")
 
1537
        _, err = validator.Validate(cons)
 
1538
        c.Assert(err, gc.ErrorMatches, "invalid constraint value: arch=ppc64\nvalid values are:.*")
 
1539
        cons = constraints.MustParse("instance-type=foo")
 
1540
        _, err = validator.Validate(cons)
 
1541
        c.Assert(err, gc.ErrorMatches, "invalid constraint value: instance-type=foo\nvalid values are:.*")
 
1542
}