)]}'
{"doc/notification_samples/audit-update.json":[{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"a7fc522c8391a898b5291f9b6f68325eb7372e99","unresolved":false,"context_lines":[{"line_number":54,"context_line":"    }"},{"line_number":55,"context_line":"  },"},{"line_number":56,"context_line":"  \"event_type\": \"audit.update\""},{"line_number":57,"context_line":"}"}],"source_content_type":"application/json","patch_set":9,"id":"ba5da102_f2a3c8fe","line":57,"updated":"2016-11-04 16:09:09.000000000","message":"According to spec, these 3 fields are missing in your sample:\n    \"priority\",\"timestamp\"and \"message_id\"","commit_id":"ee277157bb08b5ef46208b45206c14a69ff9de24"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"3fa99aa34f9ec92560b7989ff5ee056870dd08f4","unresolved":false,"context_lines":[{"line_number":54,"context_line":"    }"},{"line_number":55,"context_line":"  },"},{"line_number":56,"context_line":"  \"event_type\": \"audit.update\""},{"line_number":57,"context_line":"}"}],"source_content_type":"application/json","patch_set":9,"id":"9a629dbe_42e1ccfd","line":57,"in_reply_to":"ba5da102_f2a3c8fe","updated":"2016-11-08 13:36:24.000000000","message":"Done","commit_id":"ee277157bb08b5ef46208b45206c14a69ff9de24"},{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"cfd0941a45bf8e623fd89ffe3c94c6e1c128848e","unresolved":false,"context_lines":[{"line_number":24,"context_line":"              }"},{"line_number":25,"context_line":"            }"},{"line_number":26,"context_line":"          },"},{"line_number":27,"context_line":"          \"updated_at\": null,"},{"line_number":28,"context_line":"          \"display_name\": \"Dummy strategy\","},{"line_number":29,"context_line":"          \"deleted_at\": null,"},{"line_number":30,"context_line":"          \"uuid\": \"75234dfe-87e3-4f11-a0e0-3c3305d86a39\","}],"source_content_type":"application/json","patch_set":17,"id":"7a77a97e_7072377e","line":27,"range":{"start_line":27,"start_character":24,"end_line":27,"end_character":28},"updated":"2016-11-15 10:06:36.000000000","message":"s/null/None","commit_id":"cc239bebb58dfce2b211dc4cb6b2d508c7016457"}],"watcher/objects/notifications/audit.py":[{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"a7fc522c8391a898b5291f9b6f68325eb7372e99","unresolved":false,"context_lines":[{"line_number":23,"context_line":"from watcher.objects import fields as wfields"},{"line_number":24,"context_line":"from watcher.objects.notifications import base as notificationbase"},{"line_number":25,"context_line":"from watcher.objects.notifications import goal as goalnotifs"},{"line_number":26,"context_line":"from watcher.objects.notifications import strategy as strategynotifs"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"CONF \u003d cfg.CONF"},{"line_number":29,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"ba5da102_79ca3170","line":26,"range":{"start_line":26,"start_character":54,"end_line":26,"end_character":68},"updated":"2016-11-04 16:09:09.000000000","message":"I would prefer:\n\nnotifbase, notifgoal, notifstrategy","commit_id":"ee277157bb08b5ef46208b45206c14a69ff9de24"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"3fa99aa34f9ec92560b7989ff5ee056870dd08f4","unresolved":false,"context_lines":[{"line_number":23,"context_line":"from watcher.objects import fields as wfields"},{"line_number":24,"context_line":"from watcher.objects.notifications import base as notificationbase"},{"line_number":25,"context_line":"from watcher.objects.notifications import goal as goalnotifs"},{"line_number":26,"context_line":"from watcher.objects.notifications import strategy as strategynotifs"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"CONF \u003d cfg.CONF"},{"line_number":29,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"9a629dbe_028c3434","line":26,"range":{"start_line":26,"start_character":54,"end_line":26,"end_character":68},"in_reply_to":"ba5da102_79ca3170","updated":"2016-11-08 13:36:24.000000000","message":"Done","commit_id":"ee277157bb08b5ef46208b45206c14a69ff9de24"},{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"a7fc522c8391a898b5291f9b6f68325eb7372e99","unresolved":false,"context_lines":[{"line_number":98,"context_line":"            strategy\u003dstrategy)"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"# @notificationbase.notification_sample(\u0027audit-create.json\u0027)"},{"line_number":102,"context_line":"# @notificationbase.notification_sample(\u0027audit-delete.json\u0027)"},{"line_number":103,"context_line":"# @base.WatcherObjectRegistry.register_notification"},{"line_number":104,"context_line":"# class AuditActionNotification(notificationbase.NotificationBase):"},{"line_number":105,"context_line":"#     # Version 1.0: Initial version"},{"line_number":106,"context_line":"#     VERSION \u003d \u00271.0\u0027"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"#     fields \u003d {"},{"line_number":109,"context_line":"#         \u0027payload\u0027: wfields.ObjectField(\u0027AuditActionPayload\u0027)"},{"line_number":110,"context_line":"#     }"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"@notificationbase.notification_sample(\u0027audit-update.json\u0027)"}],"source_content_type":"text/x-python","patch_set":9,"id":"ba5da102_3253806e","line":110,"range":{"start_line":101,"start_character":0,"end_line":110,"end_character":7},"updated":"2016-11-04 16:09:09.000000000","message":"Please, remove this part","commit_id":"ee277157bb08b5ef46208b45206c14a69ff9de24"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"3fa99aa34f9ec92560b7989ff5ee056870dd08f4","unresolved":false,"context_lines":[{"line_number":98,"context_line":"            strategy\u003dstrategy)"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"# @notificationbase.notification_sample(\u0027audit-create.json\u0027)"},{"line_number":102,"context_line":"# @notificationbase.notification_sample(\u0027audit-delete.json\u0027)"},{"line_number":103,"context_line":"# @base.WatcherObjectRegistry.register_notification"},{"line_number":104,"context_line":"# class AuditActionNotification(notificationbase.NotificationBase):"},{"line_number":105,"context_line":"#     # Version 1.0: Initial version"},{"line_number":106,"context_line":"#     VERSION \u003d \u00271.0\u0027"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"#     fields \u003d {"},{"line_number":109,"context_line":"#         \u0027payload\u0027: wfields.ObjectField(\u0027AuditActionPayload\u0027)"},{"line_number":110,"context_line":"#     }"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"@notificationbase.notification_sample(\u0027audit-update.json\u0027)"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a629dbe_2283f805","line":110,"range":{"start_line":101,"start_character":0,"end_line":110,"end_character":7},"in_reply_to":"ba5da102_3253806e","updated":"2016-11-08 13:36:24.000000000","message":"Done","commit_id":"ee277157bb08b5ef46208b45206c14a69ff9de24"},{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"a7fc522c8391a898b5291f9b6f68325eb7372e99","unresolved":false,"context_lines":[{"line_number":121,"context_line":"    }"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"def send_update(context, audit, service\u003d\u0027infra-optim\u0027,"},{"line_number":125,"context_line":"                host\u003dNone, old_state\u003dNone):"},{"line_number":126,"context_line":"    \"\"\"Emit an audit.update notification.\"\"\""},{"line_number":127,"context_line":"    goal \u003d None"}],"source_content_type":"text/x-python","patch_set":9,"id":"ba5da102_3910b9a8","line":124,"range":{"start_line":124,"start_character":32,"end_line":124,"end_character":53},"updated":"2016-11-04 16:09:09.000000000","message":"\u0027service\u0027 should be not configurable. it will have the same value for all notification events into watcher. So, why do you set it as a method parameter?","commit_id":"ee277157bb08b5ef46208b45206c14a69ff9de24"},{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"a7fc522c8391a898b5291f9b6f68325eb7372e99","unresolved":false,"context_lines":[{"line_number":130,"context_line":"        goal \u003d audit.goal"},{"line_number":131,"context_line":"        strategy \u003d audit.strategy"},{"line_number":132,"context_line":"    except NotImplementedError:"},{"line_number":133,"context_line":"        raise exception.EagerlyLoadedAuditRequired(audit\u003daudit.uuid)"},{"line_number":134,"context_line":"    finally:"},{"line_number":135,"context_line":"        if goal is None:"},{"line_number":136,"context_line":"            raise exception.EagerlyLoadedAuditRequired(audit\u003daudit.uuid)"}],"source_content_type":"text/x-python","patch_set":9,"id":"ba5da102_df2a3d2f","line":133,"range":{"start_line":133,"start_character":24,"end_line":133,"end_character":50},"updated":"2016-11-04 16:09:09.000000000","message":"please add a test about raising of this exception.","commit_id":"ee277157bb08b5ef46208b45206c14a69ff9de24"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"3fa99aa34f9ec92560b7989ff5ee056870dd08f4","unresolved":false,"context_lines":[{"line_number":130,"context_line":"        goal \u003d audit.goal"},{"line_number":131,"context_line":"        strategy \u003d audit.strategy"},{"line_number":132,"context_line":"    except NotImplementedError:"},{"line_number":133,"context_line":"        raise exception.EagerlyLoadedAuditRequired(audit\u003daudit.uuid)"},{"line_number":134,"context_line":"    finally:"},{"line_number":135,"context_line":"        if goal is None:"},{"line_number":136,"context_line":"            raise exception.EagerlyLoadedAuditRequired(audit\u003daudit.uuid)"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a629dbe_a2770839","line":133,"range":{"start_line":133,"start_character":24,"end_line":133,"end_character":50},"in_reply_to":"ba5da102_df2a3d2f","updated":"2016-11-08 13:36:24.000000000","message":"Done","commit_id":"ee277157bb08b5ef46208b45206c14a69ff9de24"},{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"a7fc522c8391a898b5291f9b6f68325eb7372e99","unresolved":false,"context_lines":[{"line_number":133,"context_line":"        raise exception.EagerlyLoadedAuditRequired(audit\u003daudit.uuid)"},{"line_number":134,"context_line":"    finally:"},{"line_number":135,"context_line":"        if goal is None:"},{"line_number":136,"context_line":"            raise exception.EagerlyLoadedAuditRequired(audit\u003daudit.uuid)"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"    goal_payload \u003d goalnotifs.GoalPayload(goal\u003dgoal)"},{"line_number":139,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"ba5da102_5f1f0d09","line":136,"range":{"start_line":136,"start_character":28,"end_line":136,"end_character":54},"updated":"2016-11-04 16:09:09.000000000","message":"ditto","commit_id":"ee277157bb08b5ef46208b45206c14a69ff9de24"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"3fa99aa34f9ec92560b7989ff5ee056870dd08f4","unresolved":false,"context_lines":[{"line_number":133,"context_line":"        raise exception.EagerlyLoadedAuditRequired(audit\u003daudit.uuid)"},{"line_number":134,"context_line":"    finally:"},{"line_number":135,"context_line":"        if goal is None:"},{"line_number":136,"context_line":"            raise exception.EagerlyLoadedAuditRequired(audit\u003daudit.uuid)"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"    goal_payload \u003d goalnotifs.GoalPayload(goal\u003dgoal)"},{"line_number":139,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"9a629dbe_c2723c49","line":136,"range":{"start_line":136,"start_character":28,"end_line":136,"end_character":54},"in_reply_to":"ba5da102_5f1f0d09","updated":"2016-11-08 13:36:24.000000000","message":"Done","commit_id":"ee277157bb08b5ef46208b45206c14a69ff9de24"}],"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":"a7fc522c8391a898b5291f9b6f68325eb7372e99","unresolved":false,"context_lines":[{"line_number":154,"context_line":"        self.goal_id \u003d 1"},{"line_number":155,"context_line":"        self.fake_audit \u003d utils.get_test_audit(goal_id\u003dself.goal_id)"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"        p_auditnotifications \u003d mock.patch.object(notifications, \u0027audit\u0027)"},{"line_number":158,"context_line":"        self.m_auditnotifications \u003d p_auditnotifications.start()"},{"line_number":159,"context_line":"        self.m_send_update \u003d mock.Mock(name\u003d\u0027m_send_update\u0027)"},{"line_number":160,"context_line":"        self.m_auditnotifications.send_update \u003d self.m_send_update"},{"line_number":161,"context_line":"        self.addCleanup(p_auditnotifications.stop)"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"    @mock.patch.object(db_api.Connection, \u0027create_audit\u0027)"},{"line_number":164,"context_line":"    def test_create(self, mock_create_audit):"}],"source_content_type":"text/x-python","patch_set":9,"id":"ba5da102_2443306e","line":161,"range":{"start_line":157,"start_character":0,"end_line":161,"end_character":50},"updated":"2016-11-04 16:09:09.000000000","message":"It is not used in tests below.","commit_id":"ee277157bb08b5ef46208b45206c14a69ff9de24"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"3fa99aa34f9ec92560b7989ff5ee056870dd08f4","unresolved":false,"context_lines":[{"line_number":154,"context_line":"        self.goal_id \u003d 1"},{"line_number":155,"context_line":"        self.fake_audit \u003d utils.get_test_audit(goal_id\u003dself.goal_id)"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"        p_auditnotifications \u003d mock.patch.object(notifications, \u0027audit\u0027)"},{"line_number":158,"context_line":"        self.m_auditnotifications \u003d p_auditnotifications.start()"},{"line_number":159,"context_line":"        self.m_send_update \u003d mock.Mock(name\u003d\u0027m_send_update\u0027)"},{"line_number":160,"context_line":"        self.m_auditnotifications.send_update \u003d self.m_send_update"},{"line_number":161,"context_line":"        self.addCleanup(p_auditnotifications.stop)"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"    @mock.patch.object(db_api.Connection, \u0027create_audit\u0027)"},{"line_number":164,"context_line":"    def test_create(self, mock_create_audit):"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a629dbe_28a67710","line":161,"range":{"start_line":157,"start_character":0,"end_line":161,"end_character":50},"in_reply_to":"ba5da102_2443306e","updated":"2016-11-08 13:36:24.000000000","message":"Done","commit_id":"ee277157bb08b5ef46208b45206c14a69ff9de24"},{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"a7fc522c8391a898b5291f9b6f68325eb7372e99","unresolved":false,"context_lines":[{"line_number":217,"context_line":""},{"line_number":218,"context_line":"    @mock.patch.object(db_api.Connection, \u0027update_audit\u0027)"},{"line_number":219,"context_line":"    @mock.patch.object(db_api.Connection, \u0027get_audit_by_uuid\u0027)"},{"line_number":220,"context_line":"    def test_send_update_notification(self, mock_get_audit, mock_update_audit):"},{"line_number":221,"context_line":"        mock_get_audit.return_value \u003d self.fake_audit"},{"line_number":222,"context_line":"        uuid \u003d self.fake_audit[\u0027uuid\u0027]"},{"line_number":223,"context_line":"        audit \u003d objects.Audit.get_by_uuid(self.context, uuid, eager\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":9,"id":"ba5da102_7fd93183","line":220,"range":{"start_line":220,"start_character":60,"end_line":220,"end_character":77},"updated":"2016-11-04 16:09:09.000000000","message":"not used","commit_id":"ee277157bb08b5ef46208b45206c14a69ff9de24"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"3fa99aa34f9ec92560b7989ff5ee056870dd08f4","unresolved":false,"context_lines":[{"line_number":217,"context_line":""},{"line_number":218,"context_line":"    @mock.patch.object(db_api.Connection, \u0027update_audit\u0027)"},{"line_number":219,"context_line":"    @mock.patch.object(db_api.Connection, \u0027get_audit_by_uuid\u0027)"},{"line_number":220,"context_line":"    def test_send_update_notification(self, mock_get_audit, mock_update_audit):"},{"line_number":221,"context_line":"        mock_get_audit.return_value \u003d self.fake_audit"},{"line_number":222,"context_line":"        uuid \u003d self.fake_audit[\u0027uuid\u0027]"},{"line_number":223,"context_line":"        audit \u003d objects.Audit.get_by_uuid(self.context, uuid, eager\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a629dbe_88ab03d6","line":220,"range":{"start_line":220,"start_character":60,"end_line":220,"end_character":77},"in_reply_to":"ba5da102_7fd93183","updated":"2016-11-08 13:36:24.000000000","message":"Done","commit_id":"ee277157bb08b5ef46208b45206c14a69ff9de24"}]}
