github.com/wallyworld/juju@v0.0.0-20161013125918-6cf1bc9d917a/service/common/service_test.go (about) 1 // Copyright 2015 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package common_test 5 6 import ( 7 "github.com/juju/testing" 8 jc "github.com/juju/testing/checkers" 9 gc "gopkg.in/check.v1" 10 11 "github.com/juju/juju/service/common" 12 ) 13 14 type serviceSuite struct { 15 testing.IsolationSuite 16 } 17 18 var _ = gc.Suite(&serviceSuite{}) 19 20 func (*serviceSuite) TestNoConfMissing(c *gc.C) { 21 service := common.Service{ 22 Name: "a-application", 23 } 24 noConf := service.NoConf() 25 26 c.Check(noConf, jc.IsTrue) 27 } 28 29 func (*serviceSuite) TestNoConfEmpty(c *gc.C) { 30 service := common.Service{ 31 Name: "a-application", 32 Conf: common.Conf{}, 33 } 34 noConf := service.NoConf() 35 36 c.Check(noConf, jc.IsTrue) 37 } 38 39 func (*serviceSuite) TestNoConfFalse(c *gc.C) { 40 service := common.Service{ 41 Name: "a-application", 42 Conf: common.Conf{ 43 Desc: "some service", 44 ExecStart: "/path/to/some-command x y z", 45 }, 46 } 47 noConf := service.NoConf() 48 49 c.Check(noConf, jc.IsFalse) 50 } 51 52 func (*serviceSuite) TestValidateOkay(c *gc.C) { 53 service := common.Service{ 54 Name: "a-application", 55 Conf: common.Conf{ 56 Desc: "some service", 57 ExecStart: "/path/to/some-command x y z", 58 }, 59 } 60 err := service.Validate(renderer) 61 62 c.Check(err, jc.ErrorIsNil) 63 } 64 65 func (*serviceSuite) TestValidateMissingName(c *gc.C) { 66 service := common.Service{ 67 Conf: common.Conf{ 68 Desc: "some service", 69 ExecStart: "/path/to/some-command x y z", 70 }, 71 } 72 err := service.Validate(renderer) 73 74 c.Check(err, gc.ErrorMatches, ".*missing Name.*") 75 } 76 77 func (*serviceSuite) TestValidateMissingDesc(c *gc.C) { 78 service := common.Service{ 79 Name: "a-application", 80 Conf: common.Conf{ 81 ExecStart: "/path/to/some-command x y z", 82 }, 83 } 84 err := service.Validate(renderer) 85 86 c.Check(err, gc.ErrorMatches, ".*missing Desc.*") 87 } 88 89 func (*serviceSuite) TestValidateMissingExecStart(c *gc.C) { 90 service := common.Service{ 91 Name: "a-application", 92 Conf: common.Conf{ 93 Desc: "some service", 94 }, 95 } 96 err := service.Validate(renderer) 97 98 c.Check(err, gc.ErrorMatches, ".*missing ExecStart.*") 99 }