def test_add_to_load_balancers(self, add_to_load_balancer): """ Add to load balancers will call add_to_load_balancer multiple times and for each load balancer configuration and return all of the results. """ d1 = Deferred() d2 = Deferred() add_to_load_balancer_deferreds = [d1, d2] def _add_to_load_balancer( endpoint, auth_token, lb_config, ip_address, undo): return add_to_load_balancer_deferreds.pop(0) add_to_load_balancer.side_effect = _add_to_load_balancer d = add_to_load_balancers('http://url/', 'my-auth-token', [{'loadBalancerId': 12345, 'port': 80}, {'loadBalancerId': 54321, 'port': 81}], '192.168.1.1', self.undo) # Include the ID and port in the response so that we can verify # that add_to_load_balancers associates the response with the correct # load balancer. d2.callback((54321, 81)) d1.callback((12345, 80)) results = self.successResultOf(d) self.assertEqual(sorted(results), [(12345, (12345, 80)), (54321, (54321, 81))])
def test_add_to_load_balancers(self, add_to_load_balancer): """ Add to load balancers will call add_to_load_balancer multiple times and for each load balancer configuration and return all of the results. """ d1 = Deferred() d2 = Deferred() add_to_load_balancer_deferreds = [d1, d2] def _add_to_load_balancer(endpoint, auth_token, lb_config, ip_address, undo): return add_to_load_balancer_deferreds.pop(0) add_to_load_balancer.side_effect = _add_to_load_balancer d = add_to_load_balancers('http://url/', 'my-auth-token', [{ 'loadBalancerId': 12345, 'port': 80 }, { 'loadBalancerId': 54321, 'port': 81 }], '192.168.1.1', self.undo) # Include the ID and port in the response so that we can verify # that add_to_load_balancers associates the response with the correct # load balancer. d2.callback((54321, 81)) d1.callback((12345, 80)) results = self.successResultOf(d) self.assertEqual(sorted(results), [(12345, (12345, 80)), (54321, (54321, 81))])
def test_add_to_load_balancers_no_lb_configs(self): """ add_to_load_balancers returns a Deferred that fires with an empty list when no load balancers are configured. """ d = add_to_load_balancers('http://url/', 'my-auth-token', [], '192.168.1.1', self.undo) self.assertEqual(self.successResultOf(d), [])
def test_add_to_load_balancers_no_lb_configs(self): """ add_to_load_balancers returns a Deferred that fires with an empty list when no load balancers are configured. """ d = add_to_load_balancers('http://url/', 'my-auth-token', [], '192.168.1.1', self.undo) self.assertEqual(self.successResultOf(d), [])
def test_add_to_load_balancers_is_serial(self, add_to_load_balancer): """ add_to_load_balancers calls add_to_load_balancer in series. """ d1 = Deferred() d2 = Deferred() add_to_load_balancer_deferreds = [d1, d2] def _add_to_load_balancer(*args): return add_to_load_balancer_deferreds.pop(0) add_to_load_balancer.side_effect = _add_to_load_balancer d = add_to_load_balancers('http://url/', 'my-auth-token', [{'loadBalancerId': 12345, 'port': 80}, {'loadBalancerId': 54321, 'port': 81}], '192.168.1.1', self.undo) self.assertNoResult(d) add_to_load_balancer.assert_called_once_with( 'http://url/', 'my-auth-token', {'loadBalancerId': 12345, 'port': 80}, '192.168.1.1', self.undo ) d1.callback(None) add_to_load_balancer.assert_called_with( 'http://url/', 'my-auth-token', {'loadBalancerId': 54321, 'port': 81}, '192.168.1.1', self.undo ) d2.callback(None) self.successResultOf(d)
def test_add_to_load_balancers_is_serial(self, add_to_load_balancer): """ add_to_load_balancers calls add_to_load_balancer in series. """ d1 = Deferred() d2 = Deferred() add_to_load_balancer_deferreds = [d1, d2] def _add_to_load_balancer(*args): return add_to_load_balancer_deferreds.pop(0) add_to_load_balancer.side_effect = _add_to_load_balancer d = add_to_load_balancers('http://url/', 'my-auth-token', [{ 'loadBalancerId': 12345, 'port': 80 }, { 'loadBalancerId': 54321, 'port': 81 }], '192.168.1.1', self.undo) self.assertNoResult(d) add_to_load_balancer.assert_called_once_with( 'http://url/', 'my-auth-token', { 'loadBalancerId': 12345, 'port': 80 }, '192.168.1.1', self.undo) d1.callback(None) add_to_load_balancer.assert_called_with('http://url/', 'my-auth-token', { 'loadBalancerId': 54321, 'port': 81 }, '192.168.1.1', self.undo) d2.callback(None) self.successResultOf(d)