diff --git a/ironic_python_agent/ironic_api_client.py b/ironic_python_agent/ironic_api_client.py index 7b9a8ebc8..8f494f4fa 100644 --- a/ironic_python_agent/ironic_api_client.py +++ b/ironic_python_agent/ironic_api_client.py @@ -73,7 +73,7 @@ class APIClient(object): raise errors.HeartbeatError(str(e)) if response.status_code == requests.codes.CONFLICT: - data = response.json + data = json.loads(response.content) raise errors.HeartbeatConflictError(data.get('faultstring')) elif response.status_code != requests.codes.ACCEPTED: msg = 'Invalid status code: {0}'.format(response.status_code) diff --git a/ironic_python_agent/tests/unit/test_ironic_api_client.py b/ironic_python_agent/tests/unit/test_ironic_api_client.py index bad8fe456..30ce8158f 100644 --- a/ironic_python_agent/tests/unit/test_ironic_api_client.py +++ b/ironic_python_agent/tests/unit/test_ironic_api_client.py @@ -90,8 +90,7 @@ class TestBaseIronicPythonAgent(test_base.BaseTestCase): advertise_address=('192.0.2.1', '9999')) def test_heartbeat_409_status_code(self): - response = mock.Mock() - response.status_code = 409 + response = FakeResponse(status_code=409) self.api_client.session.request = mock.Mock() self.api_client.session.request.return_value = response