def test_remove_from_load_balancer(self): """ remove_from_load_balancer makes a DELETE request against the URL represting the load balancer node. """ response = mock.Mock() response.code = 200 self.treq.delete.return_value = succeed(response) d = remove_from_load_balancer('http://url/', 'my-auth-token', 12345, 1) self.assertEqual(self.successResultOf(d), None) self.treq.delete.assert_called_once_with( 'http://url/loadbalancers/12345/nodes/1', headers=expected_headers)
def test_remove_from_load_balancer_propagates_api_failure(self): """ remove_from_load_balancer will propagate API failures. """ response = mock.Mock() response.code = 500 self.treq.delete.return_value = succeed(response) self.treq.content.return_value = succeed(error_body) d = remove_from_load_balancer('http://url/', 'my-auth-token', '12345', '1') failure = self.failureResultOf(d) self.assertTrue(failure.check(RequestError)) real_failure = failure.value.reason self.assertTrue(real_failure.check(APIError)) self.assertEqual(real_failure.value.code, 500)