def test_success(self): """ The data is returned as a tuple of ([NovaServer], [CLBNode/RCv3Node]). """ clb_nodes = [CLBNode(node_id="node1", address="ip1", description=CLBDescription(lb_id="lb1", port=80))] rcv3_nodes = [RCv3Node(node_id="node2", cloud_server_id="a", description=RCv3Description(lb_id="lb2"))] eff = get_all_convergence_data( "tid", "gid", self.now, get_scaling_group_servers=_constant_as_eff(("tid", "gid", self.now), self.servers), get_clb_contents=_constant_as_eff((), clb_nodes), get_rcv3_contents=_constant_as_eff((), rcv3_nodes), ) expected_servers = [ server( "a", ServerState.ACTIVE, servicenet_address="10.0.0.1", links=freeze([{"href": "link1", "rel": "self"}]), json=freeze(self.servers[0]), ), server( "b", ServerState.ACTIVE, created=1, servicenet_address="10.0.0.2", links=freeze([{"href": "link2", "rel": "self"}]), json=freeze(self.servers[1]), ), ] self.assertEqual(resolve_stubs(eff), (expected_servers, clb_nodes + rcv3_nodes))
def test_no_group_servers(self): """ If there are no servers in a group, get_all_convergence_data includes an empty list. """ eff = get_all_convergence_data( "tid", "gid", self.now, get_scaling_group_servers=_constant_as_eff(("tid", "gid", self.now), []), get_clb_contents=_constant_as_eff((), []), get_rcv3_contents=_constant_as_eff((), []), ) self.assertEqual(resolve_stubs(eff), ([], []))