github.com/mhilton/juju-juju@v0.0.0-20150901100907-a94dd2c73455/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("lxc") 25 c.Assert(err, jc.ErrorIsNil) 26 c.Assert(ctype, gc.Equals, instance.LXC) 27 28 ctype, err = instance.ParseContainerType("kvm") 29 c.Assert(err, jc.ErrorIsNil) 30 c.Assert(ctype, gc.Equals, instance.KVM) 31 32 _, err = instance.ParseContainerType("none") 33 c.Assert(err, gc.ErrorMatches, `invalid container type "none"`) 34 35 _, err = instance.ParseContainerType("omg") 36 c.Assert(err, gc.ErrorMatches, `invalid container type "omg"`) 37 } 38 39 func (s *InstanceSuite) TestParseContainerTypeOrNone(c *gc.C) { 40 ctype, err := instance.ParseContainerTypeOrNone("lxc") 41 c.Assert(err, jc.ErrorIsNil) 42 c.Assert(ctype, gc.Equals, instance.LXC) 43 44 ctype, err = instance.ParseContainerTypeOrNone("kvm") 45 c.Assert(err, jc.ErrorIsNil) 46 c.Assert(ctype, gc.Equals, instance.KVM) 47 48 ctype, err = instance.ParseContainerTypeOrNone("none") 49 c.Assert(err, jc.ErrorIsNil) 50 c.Assert(ctype, gc.Equals, instance.NONE) 51 52 _, err = instance.ParseContainerTypeOrNone("omg") 53 c.Assert(err, gc.ErrorMatches, `invalid container type "omg"`) 54 }