~alexpilotti/juju-core/juju-core

« back to all changes in this revision

Viewing changes to state/state_test.go

[r=dimitern] Show networks in juju status

This adds a new state method AllNetworks(), which returns
all networks in state, and also makes the necessary changes
to the API and cmd/juju so we can show networks as top-level
entities in juju status:

machines: ...
services: ...
networks:
  net1:
    provider-id: foo
    cidr: 0.1.2.0/24
    vlan-tag: 42

https://codereview.appspot.com/91000043/

R=hduran-8

Show diffs side-by-side

added added

removed removed

Lines of Context:
1036
1036
        }
1037
1037
}
1038
1038
 
 
1039
func (s *StateSuite) TestAllNetworks(c *gc.C) {
 
1040
        machine1, err := s.State.AddOneMachine(state.MachineTemplate{
 
1041
                Series:          "quantal",
 
1042
                Jobs:            []state.MachineJob{state.JobHostUnits},
 
1043
                IncludeNetworks: []string{"net1", "net2"},
 
1044
                ExcludeNetworks: []string{"net3", "net4"},
 
1045
        })
 
1046
        c.Assert(err, gc.IsNil)
 
1047
        machine2, err := s.State.AddOneMachine(state.MachineTemplate{
 
1048
                Series:          "quantal",
 
1049
                Jobs:            []state.MachineJob{state.JobHostUnits},
 
1050
                IncludeNetworks: []string{"net3", "net4"},
 
1051
                ExcludeNetworks: []string{"net1", "net2"},
 
1052
        })
 
1053
        c.Assert(err, gc.IsNil)
 
1054
 
 
1055
        networks := []*state.Network{}
 
1056
        for i := 0; i < 4; i++ {
 
1057
                netName := fmt.Sprintf("net%d", i+1)
 
1058
                cidr := fmt.Sprintf("0.1.%d.0/24", i)
 
1059
                ifaceName := fmt.Sprintf("eth%d", i%2)
 
1060
                macAddress := fmt.Sprintf("aa:bb:cc:dd:ee:f%d", i)
 
1061
                machine := machine1
 
1062
                if i >= 2 {
 
1063
                        machine = machine2
 
1064
                }
 
1065
                network, _ := addNetworkAndInterface(
 
1066
                        c, s.State, machine,
 
1067
                        netName, "provider-"+netName, cidr, i, false,
 
1068
                        macAddress, ifaceName)
 
1069
                networks = append(networks, network)
 
1070
 
 
1071
                allNetworks, err := s.State.AllNetworks()
 
1072
                c.Assert(err, gc.IsNil)
 
1073
                c.Assert(allNetworks, gc.HasLen, len(networks))
 
1074
                c.Assert(allNetworks, jc.DeepEquals, networks)
 
1075
        }
 
1076
}
 
1077
 
1039
1078
func (s *StateSuite) TestAddService(c *gc.C) {
1040
1079
        charm := s.AddTestingCharm(c, "dummy")
1041
1080
        _, err := s.State.AddService("haha/borken", "user-admin", charm, nil, nil)