github.com/wallyworld/juju@v0.0.0-20161013125918-6cf1bc9d917a/instance/container_test.go (about) 1 // Copyright 2013 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package instance_test 5 6 import ( 7 "testing" 8 9 jc "github.com/juju/testing/checkers" 10 gc "gopkg.in/check.v1" 11 12 "github.com/juju/juju/instance" 13 ) 14 15 func TestPackage(t *testing.T) { 16 gc.TestingT(t) 17 } 18 19 type InstanceSuite struct{} 20 21 var _ = gc.Suite(&InstanceSuite{}) 22 23 func (s *InstanceSuite) TestParseContainerType(c *gc.C) { 24 ctype, err := instance.ParseContainerType("lxd") 25 c.Assert(err, jc.ErrorIsNil) 26 c.Assert(ctype, gc.Equals, instance.LXD) 27 28 ctype, err = instance.ParseContainerType("lxd") 29 c.Assert(err, jc.ErrorIsNil) 30 c.Assert(ctype, gc.Equals, instance.LXD) 31 32 ctype, err = instance.ParseContainerType("kvm") 33 c.Assert(err, jc.ErrorIsNil) 34 c.Assert(ctype, gc.Equals, instance.KVM) 35 36 _, err = instance.ParseContainerType("none") 37 c.Assert(err, gc.ErrorMatches, `invalid container type "none"`) 38 39 _, err = instance.ParseContainerType("omg") 40 c.Assert(err, gc.ErrorMatches, `invalid container type "omg"`) 41 } 42 43 func (s *InstanceSuite) TestParseContainerTypeOrNone(c *gc.C) { 44 ctype, err := instance.ParseContainerTypeOrNone("lxd") 45 c.Assert(err, jc.ErrorIsNil) 46 c.Assert(ctype, gc.Equals, instance.LXD) 47 48 ctype, err = instance.ParseContainerTypeOrNone("lxd") 49 c.Assert(err, jc.ErrorIsNil) 50 c.Assert(ctype, gc.Equals, instance.LXD) 51 52 ctype, err = instance.ParseContainerTypeOrNone("kvm") 53 c.Assert(err, jc.ErrorIsNil) 54 c.Assert(ctype, gc.Equals, instance.KVM) 55 56 ctype, err = instance.ParseContainerTypeOrNone("none") 57 c.Assert(err, jc.ErrorIsNil) 58 c.Assert(ctype, gc.Equals, instance.NONE) 59 60 _, err = instance.ParseContainerTypeOrNone("omg") 61 c.Assert(err, gc.ErrorMatches, `invalid container type "omg"`) 62 }