func TestCmdIP(t *testing.T) { testCases := []struct { commandLine CommandLine api libmachine.API expectedErr error expectedOut string }{ { commandLine: &commandstest.FakeCommandLine{ CliArgs: []string{"machine"}, }, api: &libmachinetest.FakeAPI{ Hosts: []*host.Host{ { Name: "machine", Driver: &fakedriver.Driver{ MockState: state.Running, MockIP: "1.2.3.4", }, }, }, }, expectedErr: nil, expectedOut: "1.2.3.4\n", }, { commandLine: &commandstest.FakeCommandLine{ CliArgs: []string{}, }, api: &libmachinetest.FakeAPI{ Hosts: []*host.Host{ { Name: "default", Driver: &fakedriver.Driver{ MockState: state.Running, MockIP: "1.2.3.4", }, }, }, }, expectedErr: nil, expectedOut: "1.2.3.4\n", }, } for _, tc := range testCases { stdoutGetter := commandstest.NewStdoutGetter() err := cmdIP(tc.commandLine, tc.api) assert.Equal(t, tc.expectedErr, err) assert.Equal(t, tc.expectedOut, stdoutGetter.Output()) stdoutGetter.Stop() } }
func TestPrintIPEmptyGivenLocalEngine(t *testing.T) { stdoutGetter := commandstest.NewStdoutGetter() defer stdoutGetter.Stop() host, _ := hosttest.GetDefaultTestHost() err := printIP(host)() assert.NoError(t, err) assert.Equal(t, "\n", stdoutGetter.Output()) }
func TestPrintIPPrintsGivenRemoteEngine(t *testing.T) { stdoutGetter := commandstest.NewStdoutGetter() defer stdoutGetter.Stop() host, _ := hosttest.GetDefaultTestHost() host.Driver = &fakedriver.Driver{ MockState: state.Running, MockIP: "1.2.3.4", } err := printIP(host)() assert.NoError(t, err) assert.Equal(t, "1.2.3.4\n", stdoutGetter.Output()) }
func TestCmdURL(t *testing.T) { commandLine := &commandstest.FakeCommandLine{ CliArgs: []string{"machine"}, } api := &commandstest.FakeLibmachineAPI{ Hosts: []*host.Host{ { Name: "machine", Driver: &fakedriver.Driver{ MockState: state.Running, MockIP: "120.0.0.1", }, }, }, } stdoutGetter := commandstest.NewStdoutGetter() defer stdoutGetter.Stop() err := cmdURL(commandLine, api) assert.NoError(t, err) assert.Equal(t, "tcp://120.0.0.1:2376\n", stdoutGetter.Output()) }