)]}'
{"nova/tests/unit/compute/test_compute_api.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"670b75ab885b2467db34d8fd2f493b7697881cab","unresolved":false,"context_lines":[{"line_number":417,"context_line":"        else:"},{"line_number":418,"context_line":"            rpcapi \u003d self.compute_api.compute_rpcapi"},{"line_number":419,"context_line":""},{"line_number":420,"context_line":"        with test.nested("},{"line_number":421,"context_line":"            mock.patch.object(instance, \u0027save\u0027),"},{"line_number":422,"context_line":"            mock.patch.object(self.compute_api, \u0027_record_action_start\u0027),"},{"line_number":423,"context_line":"            mock.patch.object(rpcapi, \u0027suspend_instance\u0027)"},{"line_number":424,"context_line":"        ) as (mock_inst_save, mock_record_action, mock_suspend_instance):"},{"line_number":425,"context_line":"            self.compute_api.suspend(self.context, instance)"},{"line_number":426,"context_line":"            self.assertEqual(vm_states.ACTIVE, instance.vm_state)"},{"line_number":427,"context_line":"            self.assertEqual(task_states.SUSPENDING, instance.task_state)"},{"line_number":428,"context_line":"            mock_inst_save.assert_called_once_with(expected_task_state\u003d[None])"},{"line_number":429,"context_line":"            mock_record_action.assert_called_once_with("},{"line_number":430,"context_line":"                self.context, instance, instance_actions.SUSPEND)"},{"line_number":431,"context_line":"            mock_suspend_instance.assert_called_once_with(self.context,"},{"line_number":432,"context_line":"                                                          instance)"},{"line_number":433,"context_line":""},{"line_number":434,"context_line":"    def _test_suspend_fails(self, vm_state):"},{"line_number":435,"context_line":"        params \u003d dict(vm_state\u003dvm_state)"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a6eadb0_564b9259","line":432,"range":{"start_line":420,"start_character":0,"end_line":432,"end_character":67},"updated":"2016-12-12 15:20:25.000000000","message":"there\u0027s a lot of duplication between these various tests, however, I can\u0027t think of a way to reduce this without impacting the readability of the tests so I\u0027m happy to ignore it","commit_id":"fa02245ccc6d6e8d8bd172c558e3fd5dd193637c"}]}
