a34f8c751e
This way we can avoid unnecessary panics which cause other tests not to run. This doesn't remove all the possibilities for panics causing other tests not to run, it just fixes the TestAgent
79 lines
1.8 KiB
Go
79 lines
1.8 KiB
Go
package watch
|
|
|
|
import (
|
|
"strings"
|
|
"testing"
|
|
|
|
"github.com/hashicorp/consul/agent"
|
|
"github.com/hashicorp/consul/testrpc"
|
|
"github.com/mitchellh/cli"
|
|
)
|
|
|
|
func TestWatchCommand_noTabs(t *testing.T) {
|
|
t.Parallel()
|
|
if strings.ContainsRune(New(cli.NewMockUi(), nil).Help(), '\t') {
|
|
t.Fatal("help has tabs")
|
|
}
|
|
}
|
|
|
|
func TestWatchCommand(t *testing.T) {
|
|
t.Parallel()
|
|
a := agent.NewTestAgent(t, t.Name(), ``)
|
|
defer a.Shutdown()
|
|
testrpc.WaitForTestAgent(t, a.RPC, "dc1")
|
|
|
|
ui := cli.NewMockUi()
|
|
c := New(ui, nil)
|
|
args := []string{"-http-addr=" + a.HTTPAddr(), "-type=nodes"}
|
|
|
|
code := c.Run(args)
|
|
if code != 0 {
|
|
t.Fatalf("bad: %d. %#v", code, ui.ErrorWriter.String())
|
|
}
|
|
|
|
if !strings.Contains(ui.OutputWriter.String(), a.Config.NodeName) {
|
|
t.Fatalf("bad: %#v", ui.OutputWriter.String())
|
|
}
|
|
}
|
|
|
|
func TestWatchCommandNoConnect(t *testing.T) {
|
|
t.Parallel()
|
|
a := agent.NewTestAgent(t, t.Name(), ``)
|
|
defer a.Shutdown()
|
|
testrpc.WaitForTestAgent(t, a.RPC, "dc1")
|
|
|
|
ui := cli.NewMockUi()
|
|
c := New(ui, nil)
|
|
args := []string{"-http-addr=" + a.HTTPAddr(), "-type=connect_leaf"}
|
|
|
|
code := c.Run(args)
|
|
if code != 1 {
|
|
t.Fatalf("bad: %d. %#v", code, ui.ErrorWriter.String())
|
|
}
|
|
|
|
if !strings.Contains(ui.ErrorWriter.String(),
|
|
"Type connect_leaf is not supported in the CLI tool") {
|
|
t.Fatalf("bad: %#v", ui.ErrorWriter.String())
|
|
}
|
|
}
|
|
|
|
func TestWatchCommandNoAgentService(t *testing.T) {
|
|
t.Parallel()
|
|
a := agent.NewTestAgent(t, t.Name(), ``)
|
|
defer a.Shutdown()
|
|
|
|
ui := cli.NewMockUi()
|
|
c := New(ui, nil)
|
|
args := []string{"-http-addr=" + a.HTTPAddr(), "-type=agent_service"}
|
|
|
|
code := c.Run(args)
|
|
if code != 1 {
|
|
t.Fatalf("bad: %d. %#v", code, ui.ErrorWriter.String())
|
|
}
|
|
|
|
if !strings.Contains(ui.ErrorWriter.String(),
|
|
"Type agent_service is not supported in the CLI tool") {
|
|
t.Fatalf("bad: %#v", ui.ErrorWriter.String())
|
|
}
|
|
}
|