launchpad.net/~rogpeppe/juju-core/500-errgo-fix@v0.0.0-20140213181702-000000002356/cmd/juju/helptool_test.go (about) 1 // Copyright 2013 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package main 5 6 import ( 7 "strings" 8 9 gc "launchpad.net/gocheck" 10 11 "launchpad.net/juju-core/testing" 12 "launchpad.net/juju-core/worker/uniter/jujuc" 13 ) 14 15 type HelpToolSuite struct { 16 home *testing.FakeHome 17 } 18 19 var _ = gc.Suite(&HelpToolSuite{}) 20 21 func (suite *HelpToolSuite) SetUpTest(c *gc.C) { 22 suite.home = testing.MakeSampleHome(c) 23 } 24 25 func (suite *HelpToolSuite) TearDownTest(c *gc.C) { 26 suite.home.Restore() 27 } 28 29 func (suite *HelpToolSuite) TestHelpToolHelp(c *gc.C) { 30 output := badrun(c, 0, "help", "help-tool") 31 c.Assert(output, gc.Equals, `usage: juju help-tool [tool] 32 purpose: show help on a juju charm tool 33 `) 34 } 35 36 func (suite *HelpToolSuite) TestHelpTool(c *gc.C) { 37 expectedNames := jujuc.CommandNames() 38 output := badrun(c, 0, "help-tool") 39 lines := strings.Split(strings.TrimSpace(output), "\n") 40 for i, line := range lines { 41 lines[i] = strings.Fields(line)[0] 42 } 43 c.Assert(lines, gc.DeepEquals, expectedNames) 44 } 45 46 func (suite *HelpToolSuite) TestHelpToolName(c *gc.C) { 47 output := badrun(c, 0, "help-tool", "relation-get") 48 expectedHelp := `usage: relation-get \[options\] <key> <unit id> 49 purpose: get relation settings 50 51 options: 52 (.|\n)* 53 relation-get prints the value(.|\n)*` 54 c.Assert(output, gc.Matches, expectedHelp) 55 }