def test_user_for_tenant_propagates_errors(self): """ user_for_tenant propagates API errors. """ response = mock.Mock(code=500) self.treq.content.return_value = succeed('error_body') self.treq.get.return_value = succeed(response) d = user_for_tenant('http://identity/v2.0', 'username', 'password', 111111) 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) self.assertEqual(real_failure.value.body, 'error_body')
def test_user_for_tenant(self): """ user_for_tenant sends a properly formed request to the identity API for the list of users for a given tenant. """ response = mock.Mock(code=200) response_body = {'user': {'id': 'ausername'}} self.treq.json_content.return_value = succeed(response_body) self.treq.get.return_value = succeed(response) d = user_for_tenant('http://identity/v2.0', 'username', 'password', 111111) self.assertEqual(self.successResultOf(d), 'ausername') self.treq.get.assert_called_once_with( 'http://identity/v1.1/mosso/111111', auth=('username', 'password'), allow_redirects=False)