github.com/wallyworld/juju@v0.0.0-20161013125918-6cf1bc9d917a/cmd/juju/machine/show_test.go (about) 1 // Copyright 2016 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for info. 3 4 package machine_test 5 6 import ( 7 "github.com/juju/cmd" 8 jc "github.com/juju/testing/checkers" 9 gc "gopkg.in/check.v1" 10 11 "github.com/juju/juju/cmd/juju/machine" 12 "github.com/juju/juju/testing" 13 ) 14 15 type MachineShowCommandSuite struct { 16 testing.FakeJujuXDGDataHomeSuite 17 } 18 19 var _ = gc.Suite(&MachineShowCommandSuite{}) 20 21 func newMachineShowCommand() cmd.Command { 22 return machine.NewShowCommandForTest(&fakeStatusAPI{}) 23 } 24 25 func (s *MachineShowCommandSuite) SetUpTest(c *gc.C) { 26 s.FakeJujuXDGDataHomeSuite.SetUpTest(c) 27 } 28 29 func (s *MachineShowCommandSuite) TestShowMachine(c *gc.C) { 30 context, err := testing.RunCommand(c, newMachineShowCommand()) 31 c.Assert(err, jc.ErrorIsNil) 32 c.Assert(testing.Stdout(context), gc.Equals, ""+ 33 "model: dummyenv\n"+ 34 "machines:\n"+ 35 " \"0\":\n"+ 36 " juju-status:\n"+ 37 " current: started\n"+ 38 " dns-name: 10.0.0.1\n"+ 39 " ip-addresses:\n"+ 40 " - 10.0.0.1\n"+ 41 " - 10.0.1.1\n"+ 42 " instance-id: juju-badd06-0\n"+ 43 " series: trusty\n"+ 44 " hardware: availability-zone=us-east-1\n"+ 45 " \"1\":\n"+ 46 " juju-status:\n"+ 47 " current: started\n"+ 48 " dns-name: 10.0.0.2\n"+ 49 " ip-addresses:\n"+ 50 " - 10.0.0.2\n"+ 51 " - 10.0.1.2\n"+ 52 " instance-id: juju-badd06-1\n"+ 53 " series: trusty\n"+ 54 " containers:\n"+ 55 " 1/lxd/0:\n"+ 56 " juju-status:\n"+ 57 " current: pending\n"+ 58 " dns-name: 10.0.0.3\n"+ 59 " ip-addresses:\n"+ 60 " - 10.0.0.3\n"+ 61 " - 10.0.1.3\n"+ 62 " instance-id: juju-badd06-1-lxd-0\n"+ 63 " series: trusty\n") 64 } 65 func (s *MachineShowCommandSuite) TestShowSingleMachine(c *gc.C) { 66 context, err := testing.RunCommand(c, newMachineShowCommand(), "0") 67 c.Assert(err, jc.ErrorIsNil) 68 c.Assert(testing.Stdout(context), gc.Equals, ""+ 69 "model: dummyenv\n"+ 70 "machines:\n"+ 71 " \"0\":\n"+ 72 " juju-status:\n"+ 73 " current: started\n"+ 74 " dns-name: 10.0.0.1\n"+ 75 " ip-addresses:\n"+ 76 " - 10.0.0.1\n"+ 77 " - 10.0.1.1\n"+ 78 " instance-id: juju-badd06-0\n"+ 79 " series: trusty\n"+ 80 " hardware: availability-zone=us-east-1\n") 81 } 82 83 func (s *MachineShowCommandSuite) TestShowTabularMachine(c *gc.C) { 84 context, err := testing.RunCommand(c, newMachineShowCommand(), "--format", "tabular", "0", "1") 85 c.Assert(err, jc.ErrorIsNil) 86 c.Assert(testing.Stdout(context), gc.Equals, ""+ 87 "Machine State DNS Inst id Series AZ\n"+ 88 "0 started 10.0.0.1 juju-badd06-0 trusty us-east-1\n"+ 89 "1 started 10.0.0.2 juju-badd06-1 trusty \n"+ 90 "1/lxd/0 pending 10.0.0.3 juju-badd06-1-lxd-0 trusty \n"+ 91 "\n") 92 } 93 94 func (s *MachineShowCommandSuite) TestShowJsonMachine(c *gc.C) { 95 context, err := testing.RunCommand(c, newMachineShowCommand(), "--format", "json", "0", "1") 96 c.Assert(err, jc.ErrorIsNil) 97 c.Assert(testing.Stdout(context), gc.Equals, ""+ 98 "{\"model\":\"dummyenv\",\"machines\":{\"0\":{\"juju-status\":{\"current\":\"started\"},\"dns-name\":\"10.0.0.1\",\"ip-addresses\":[\"10.0.0.1\",\"10.0.1.1\"],\"instance-id\":\"juju-badd06-0\",\"machine-status\":{},\"series\":\"trusty\",\"hardware\":\"availability-zone=us-east-1\"},\"1\":{\"juju-status\":{\"current\":\"started\"},\"dns-name\":\"10.0.0.2\",\"ip-addresses\":[\"10.0.0.2\",\"10.0.1.2\"],\"instance-id\":\"juju-badd06-1\",\"machine-status\":{},\"series\":\"trusty\",\"containers\":{\"1/lxd/0\":{\"juju-status\":{\"current\":\"pending\"},\"dns-name\":\"10.0.0.3\",\"ip-addresses\":[\"10.0.0.3\",\"10.0.1.3\"],\"instance-id\":\"juju-badd06-1-lxd-0\",\"machine-status\":{},\"series\":\"trusty\"}}}}}\n") 99 }