github.com/mhilton/juju-juju@v0.0.0-20150901100907-a94dd2c73455/utils/syslog/service_test.go (about) 1 // Copyright 2015 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package syslog_test 5 6 import ( 7 "github.com/juju/errors" 8 jc "github.com/juju/testing/checkers" 9 gc "gopkg.in/check.v1" 10 11 "github.com/juju/juju/utils/syslog" 12 ) 13 14 type serviceSuite struct { 15 syslog.BaseSuite 16 } 17 18 var _ = gc.Suite(&serviceSuite{}) 19 20 func (s *serviceSuite) TestRestartRoot(c *gc.C) { 21 s.Stub.Euid = 0 22 23 err := syslog.Restart() 24 c.Assert(err, jc.ErrorIsNil) 25 26 s.Stub.CheckCallNames(c, "Geteuid", "Restart") 27 } 28 29 func (s *serviceSuite) TestRestartNotRoot(c *gc.C) { 30 s.Stub.Euid = 1000 31 32 err := syslog.Restart() 33 34 c.Check(err, gc.ErrorMatches, `.*must be root.*`) 35 s.Stub.CheckCallNames(c, "Geteuid") 36 } 37 38 func (s *serviceSuite) TestRestartError(c *gc.C) { 39 s.Stub.Euid = 0 40 failure := errors.New("<failed>") 41 s.Stub.SetErrors(nil, failure) // Geteuid, Restart 42 43 err := syslog.Restart() 44 45 c.Check(errors.Cause(err), gc.Equals, failure) 46 s.Stub.CheckCallNames(c, "Geteuid", "Restart") 47 }