github.com/rogpeppe/juju@v0.0.0-20140613142852-6337964b789e/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  	"github.com/juju/juju/testing"
    12  	"github.com/juju/juju/worker/uniter/jujuc"
    13  )
    14  
    15  type HelpToolSuite struct {
    16  	testing.FakeJujuHomeSuite
    17  }
    18  
    19  var _ = gc.Suite(&HelpToolSuite{})
    20  
    21  func (suite *HelpToolSuite) TestHelpToolHelp(c *gc.C) {
    22  	output := badrun(c, 0, "help", "help-tool")
    23  	c.Assert(output, gc.Equals, `usage: juju help-tool [tool]
    24  purpose: show help on a juju charm tool
    25  `)
    26  }
    27  
    28  func (suite *HelpToolSuite) TestHelpTool(c *gc.C) {
    29  	expectedNames := jujuc.CommandNames()
    30  	output := badrun(c, 0, "help-tool")
    31  	lines := strings.Split(strings.TrimSpace(output), "\n")
    32  	for i, line := range lines {
    33  		lines[i] = strings.Fields(line)[0]
    34  	}
    35  	c.Assert(lines, gc.DeepEquals, expectedNames)
    36  }
    37  
    38  func (suite *HelpToolSuite) TestHelpToolName(c *gc.C) {
    39  	output := badrun(c, 0, "help-tool", "relation-get")
    40  	expectedHelp := `usage: relation-get \[options\] <key> <unit id>
    41  purpose: get relation settings
    42  
    43  options:
    44  (.|\n)*
    45  relation-get prints the value(.|\n)*`
    46  	c.Assert(output, gc.Matches, expectedHelp)
    47  }