)]}'
{"watcher/objects/audit.py":[{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"92d6690499b6f36d59b86109b267d4f49d906a1e","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        \u0027goal_id\u0027: wfields.IntegerField(),"},{"line_number":94,"context_line":"        \u0027strategy_id\u0027: wfields.IntegerField(nullable\u003dTrue),"},{"line_number":95,"context_line":"        \u0027goal\u0027: wfields.ObjectField(\u0027Goal\u0027),"},{"line_number":96,"context_line":"        \u0027strategy\u0027: wfields.ObjectField(\u0027Strategy\u0027, nullable\u003dTrue),"},{"line_number":97,"context_line":"    }"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    object_fields \u003d {"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa6399be_dd87a910","line":96,"range":{"start_line":96,"start_character":52,"end_line":96,"end_character":65},"updated":"2016-10-11 09:11:31.000000000","message":"sure ?","commit_id":"0a953ca148f5a5ffe841796cbfaf0e09f8c5a728"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"125942d84f042f42f5c236b49e9178729bee8150","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        \u0027goal_id\u0027: wfields.IntegerField(),"},{"line_number":94,"context_line":"        \u0027strategy_id\u0027: wfields.IntegerField(nullable\u003dTrue),"},{"line_number":95,"context_line":"        \u0027goal\u0027: wfields.ObjectField(\u0027Goal\u0027),"},{"line_number":96,"context_line":"        \u0027strategy\u0027: wfields.ObjectField(\u0027Strategy\u0027, nullable\u003dTrue),"},{"line_number":97,"context_line":"    }"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    object_fields \u003d {"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa6399be_3eeabcac","line":96,"range":{"start_line":96,"start_character":52,"end_line":96,"end_character":65},"in_reply_to":"fa6399be_dd87a910","updated":"2016-10-18 15:29:22.000000000","message":"yes, the strategy is only set for sure in the resulting action plan.","commit_id":"0a953ca148f5a5ffe841796cbfaf0e09f8c5a728"},{"author":{"_account_id":21692,"name":"licanwei","email":"li.canwei2@zte.com.cn","username":"licanwei"},"change_message_id":"f5ad331bf824afaa00fbe37b4535a65287d2c2ab","unresolved":false,"context_lines":[{"line_number":200,"context_line":"        db_audit \u003d self.dbapi.create_audit(values)"},{"line_number":201,"context_line":"        self._from_db_object(self, db_audit, eager\u003deager)"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"    def destroy(self):"},{"line_number":204,"context_line":"        \"\"\"Delete the Audit from the DB.\"\"\""},{"line_number":205,"context_line":"        self.dbapi.destroy_audit(self.uuid)"},{"line_number":206,"context_line":"        self.obj_reset_changes()"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa6399be_50a197a8","line":203,"range":{"start_line":203,"start_character":8,"end_line":203,"end_character":22},"updated":"2016-10-12 02:12:08.000000000","message":"need @base.remotable?","commit_id":"0a953ca148f5a5ffe841796cbfaf0e09f8c5a728"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"125942d84f042f42f5c236b49e9178729bee8150","unresolved":false,"context_lines":[{"line_number":200,"context_line":"        db_audit \u003d self.dbapi.create_audit(values)"},{"line_number":201,"context_line":"        self._from_db_object(self, db_audit, eager\u003deager)"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"    def destroy(self):"},{"line_number":204,"context_line":"        \"\"\"Delete the Audit from the DB.\"\"\""},{"line_number":205,"context_line":"        self.dbapi.destroy_audit(self.uuid)"},{"line_number":206,"context_line":"        self.obj_reset_changes()"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa6399be_9e4748bb","line":203,"range":{"start_line":203,"start_character":8,"end_line":203,"end_character":22},"in_reply_to":"fa6399be_50a197a8","updated":"2016-10-18 15:29:22.000000000","message":"Done","commit_id":"0a953ca148f5a5ffe841796cbfaf0e09f8c5a728"}],"watcher/tests/objects/test_audit.py":[{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"92d6690499b6f36d59b86109b267d4f49d906a1e","unresolved":false,"context_lines":[{"line_number":26,"context_line":"class TestAuditObject(base.DbTestCase):"},{"line_number":27,"context_line":"    goal_id \u003d 2"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    scenarios \u003d ["},{"line_number":30,"context_line":"        (\u0027non_eager\u0027, dict("},{"line_number":31,"context_line":"            eager\u003dFalse,"},{"line_number":32,"context_line":"            fake_audit\u003dutils.get_test_audit("}],"source_content_type":"text/x-python","patch_set":2,"id":"fa6399be_dddc091b","line":29,"range":{"start_line":29,"start_character":4,"end_line":29,"end_character":13},"updated":"2016-10-11 09:11:31.000000000","message":"maybe add a test with a strategy, in addition to goal.","commit_id":"0a953ca148f5a5ffe841796cbfaf0e09f8c5a728"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"125942d84f042f42f5c236b49e9178729bee8150","unresolved":false,"context_lines":[{"line_number":26,"context_line":"class TestAuditObject(base.DbTestCase):"},{"line_number":27,"context_line":"    goal_id \u003d 2"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    scenarios \u003d ["},{"line_number":30,"context_line":"        (\u0027non_eager\u0027, dict("},{"line_number":31,"context_line":"            eager\u003dFalse,"},{"line_number":32,"context_line":"            fake_audit\u003dutils.get_test_audit("}],"source_content_type":"text/x-python","patch_set":2,"id":"fa6399be_9ee3c8a3","line":29,"range":{"start_line":29,"start_character":4,"end_line":29,"end_character":13},"in_reply_to":"fa6399be_dddc091b","updated":"2016-10-18 15:29:22.000000000","message":"I don\u0027t think it\u0027s necessary since I only want to make sure we go through all the loading paths here. That\u0027s why only need to check one field here.","commit_id":"0a953ca148f5a5ffe841796cbfaf0e09f8c5a728"},{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"0eb1c2a6f0dc9566ce821c20365e987e523f8595","unresolved":false,"context_lines":[{"line_number":71,"context_line":"                          \u0027not-a-uuid\u0027, eager\u003dself.eager)"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    @mock.patch.object(db_api.Connection, \u0027get_audit_list\u0027)"},{"line_number":74,"context_line":"    def test_list(self, mock_get_list):"},{"line_number":75,"context_line":"        mock_get_list.return_value \u003d [self.fake_audit]"},{"line_number":76,"context_line":"        audits \u003d objects.Audit.list(self.context)"},{"line_number":77,"context_line":"        self.assertEqual(1, mock_get_list.call_count, 1)"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa6399be_1f73cb4e","line":74,"range":{"start_line":74,"start_character":8,"end_line":74,"end_character":17},"updated":"2016-10-18 08:53:41.000000000","message":"I think we should complete this test in the case where self.eager\u003dTrue.","commit_id":"d12682e7d5cb533785cd4047ffb572336d0cee06"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"1b0e61ec17524ef1c6bf6e799fb32095b5b2922a","unresolved":false,"context_lines":[{"line_number":71,"context_line":"                          \u0027not-a-uuid\u0027, eager\u003dself.eager)"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    @mock.patch.object(db_api.Connection, \u0027get_audit_list\u0027)"},{"line_number":74,"context_line":"    def test_list(self, mock_get_list):"},{"line_number":75,"context_line":"        mock_get_list.return_value \u003d [self.fake_audit]"},{"line_number":76,"context_line":"        audits \u003d objects.Audit.list(self.context)"},{"line_number":77,"context_line":"        self.assertEqual(1, mock_get_list.call_count, 1)"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa6399be_d3ce9cb3","line":74,"range":{"start_line":74,"start_character":8,"end_line":74,"end_character":17},"in_reply_to":"fa6399be_1f73cb4e","updated":"2016-10-18 15:29:17.000000000","message":"Done","commit_id":"d12682e7d5cb533785cd4047ffb572336d0cee06"},{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"0eb1c2a6f0dc9566ce821c20365e987e523f8595","unresolved":false,"context_lines":[{"line_number":95,"context_line":"        self.assertEqual(self.context, audit._context)"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    @mock.patch.object(db_api.Connection, \u0027get_audit_by_uuid\u0027)"},{"line_number":98,"context_line":"    def test_refresh(self, mock_get_audit):"},{"line_number":99,"context_line":"        returns \u003d [dict(self.fake_audit, state\u003d\"first state\"),"},{"line_number":100,"context_line":"                   dict(self.fake_audit, state\u003d\"second state\")]"},{"line_number":101,"context_line":"        mock_get_audit.side_effect \u003d returns"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa6399be_5f93834f","line":98,"range":{"start_line":98,"start_character":8,"end_line":98,"end_character":20},"updated":"2016-10-18 08:53:41.000000000","message":"ditto","commit_id":"d12682e7d5cb533785cd4047ffb572336d0cee06"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"1b0e61ec17524ef1c6bf6e799fb32095b5b2922a","unresolved":false,"context_lines":[{"line_number":95,"context_line":"        self.assertEqual(self.context, audit._context)"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    @mock.patch.object(db_api.Connection, \u0027get_audit_by_uuid\u0027)"},{"line_number":98,"context_line":"    def test_refresh(self, mock_get_audit):"},{"line_number":99,"context_line":"        returns \u003d [dict(self.fake_audit, state\u003d\"first state\"),"},{"line_number":100,"context_line":"                   dict(self.fake_audit, state\u003d\"second state\")]"},{"line_number":101,"context_line":"        mock_get_audit.side_effect \u003d returns"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa6399be_13c1f480","line":98,"range":{"start_line":98,"start_character":8,"end_line":98,"end_character":20},"in_reply_to":"fa6399be_5f93834f","updated":"2016-10-18 15:29:17.000000000","message":"Done","commit_id":"d12682e7d5cb533785cd4047ffb572336d0cee06"}]}
