)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":26507,"name":"Michel Peterson","email":"michel@redhat.com","username":"mpeterson"},"change_message_id":"d457ee1c67e9f37b9cb71fe506a8352aa2b769f2","unresolved":false,"context_lines":[{"line_number":12,"context_line":"Also dependencies will be logged to better understand if bugs in"},{"line_number":13,"context_line":"dependency calculations exist."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Additionally since unit tests were added to check what happens on"},{"line_number":16,"context_line":"exception, a small bug there was fixed that was introduced by change"},{"line_number":17,"context_line":"I31085cf73618df48f55f3169e071d2cb64c9b018"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Change-Id: I9078487bd4722132e92b48d7d333c93c82a002d9"},{"line_number":20,"context_line":"Partial-Bug: #1713487"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"3f4b6375_42e27a31","line":17,"range":{"start_line":15,"start_character":0,"end_line":17,"end_character":41},"updated":"2017-10-30 11:49:36.000000000","message":"you can take this and the modification out and rebase on https://review.openstack.org/#/c/516246/","commit_id":"a803eb7cdf47373f11d89b69036e7ae66f52f44b"},{"author":{"_account_id":7921,"name":"Mike Kolesnik","email":"mkolesni@redhat.com","username":"mkolesni"},"change_message_id":"b124270dba4593604d0c6595887c6f17805731c3","unresolved":false,"context_lines":[{"line_number":12,"context_line":"Also dependencies will be logged to better understand if bugs in"},{"line_number":13,"context_line":"dependency calculations exist."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Additionally since unit tests were added to check what happens on"},{"line_number":16,"context_line":"exception, a small bug there was fixed that was introduced by change"},{"line_number":17,"context_line":"I31085cf73618df48f55f3169e071d2cb64c9b018"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Change-Id: I9078487bd4722132e92b48d7d333c93c82a002d9"},{"line_number":20,"context_line":"Partial-Bug: #1713487"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"3f4b6375_e68b9a65","line":17,"range":{"start_line":15,"start_character":0,"end_line":17,"end_character":41},"in_reply_to":"3f4b6375_42e27a31","updated":"2017-10-31 15:16:03.000000000","message":"Done","commit_id":"a803eb7cdf47373f11d89b69036e7ae66f52f44b"}],"networking_odl/journal/journal.py":[{"author":{"_account_id":333,"name":"Isaku Yamahata","email":"isaku.yamahata@gmail.com","username":"yamahata"},"change_message_id":"7b390395b5d611b09fe0ab9ec278fb3495ca1657","unresolved":false,"context_lines":[{"line_number":86,"context_line":"    return new_data"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"def _entry_log_dict(log_type, entry):"},{"line_number":90,"context_line":"    return {\u0027log_type\u0027: log_type, \u0027op\u0027: entry.operation,"},{"line_number":91,"context_line":"            \u0027obj_type\u0027: entry.object_type, \u0027obj_id\u0027: entry.object_uuid,"},{"line_number":92,"context_line":"            \u0027entry_id\u0027: entry.seqnum}"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"def record(plugin_context, object_type, object_uuid, operation, data,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f4b6375_bb10d8a9","line":92,"range":{"start_line":89,"start_character":0,"end_line":92,"end_character":37},"updated":"2017-10-24 02:06:03.000000000","message":"Given the following usage, something like the following would make more sense.\ndef _log_entry(level, log_type, entry):\n    LOG.log(level, LOG_ENTRY_TEMPLATE, _entry_log_dict(log_type))","commit_id":"482253700850fdd781bc37f1806910c7e981e3b1"},{"author":{"_account_id":7921,"name":"Mike Kolesnik","email":"mkolesni@redhat.com","username":"mkolesni"},"change_message_id":"47e0e64411eb8b4f925afe1c81ee46121f6800dd","unresolved":false,"context_lines":[{"line_number":86,"context_line":"    return new_data"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"def _entry_log_dict(log_type, entry):"},{"line_number":90,"context_line":"    return {\u0027log_type\u0027: log_type, \u0027op\u0027: entry.operation,"},{"line_number":91,"context_line":"            \u0027obj_type\u0027: entry.object_type, \u0027obj_id\u0027: entry.object_uuid,"},{"line_number":92,"context_line":"            \u0027entry_id\u0027: entry.seqnum}"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"def record(plugin_context, object_type, object_uuid, operation, data,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f4b6375_1ed8cf1b","line":92,"range":{"start_line":89,"start_character":0,"end_line":92,"end_character":37},"in_reply_to":"3f4b6375_bb10d8a9","updated":"2017-10-25 11:32:58.000000000","message":"Done","commit_id":"482253700850fdd781bc37f1806910c7e981e3b1"},{"author":{"_account_id":26507,"name":"Michel Peterson","email":"michel@redhat.com","username":"mpeterson"},"change_message_id":"f3c7de0c446defd5cd7ae6c3989705446b1c1083","unresolved":false,"context_lines":[{"line_number":264,"context_line":"        session \u003d context.session"},{"line_number":265,"context_line":"        try:"},{"line_number":266,"context_line":"            self.client.sendjson(method, urlpath, to_send)"},{"line_number":267,"context_line":"            registry.notify(entry.object_type, odl_const.BEFORE_COMPLETE,"},{"line_number":268,"context_line":"                            self, context\u003dcontext, operation\u003dentry.operation,"},{"line_number":269,"context_line":"                            row\u003dentry)"},{"line_number":270,"context_line":"            with session.begin():"},{"line_number":271,"context_line":"                db.update_db_row_state(session, entry, odl_const.COMPLETED)"},{"line_number":272,"context_line":"                db.delete_dependency(session, entry)"},{"line_number":273,"context_line":"                self._retry_reset()"},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"            LOG.info(LOG_ENTRY_TEMPLATE, _entry_log_dict(\u0027Processed\u0027, entry))"},{"line_number":276,"context_line":"        except exceptions.ConnectionError:"},{"line_number":277,"context_line":"            # Don\u0027t raise the retry count, just log an error \u0026 break"},{"line_number":278,"context_line":"            db.update_db_row_state(session, entry, odl_const.PENDING)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f4b6375_0fce862d","line":275,"range":{"start_line":267,"start_character":12,"end_line":275,"end_character":77},"updated":"2017-10-24 06:53:12.000000000","message":"Not your fault but this is an oddly written function. Look how weird is to have \"Processed\" (the end result) in the middle of the function. \n\nI think all this shouldn\u0027t be inside of the `try` but it should be at the end and have each `except` `return` after handling the exception.\n\nI accept that this is beyond the scope of this change, but it shouldn\u0027t be left as is","commit_id":"482253700850fdd781bc37f1806910c7e981e3b1"},{"author":{"_account_id":7921,"name":"Mike Kolesnik","email":"mkolesni@redhat.com","username":"mkolesni"},"change_message_id":"47e0e64411eb8b4f925afe1c81ee46121f6800dd","unresolved":false,"context_lines":[{"line_number":264,"context_line":"        session \u003d context.session"},{"line_number":265,"context_line":"        try:"},{"line_number":266,"context_line":"            self.client.sendjson(method, urlpath, to_send)"},{"line_number":267,"context_line":"            registry.notify(entry.object_type, odl_const.BEFORE_COMPLETE,"},{"line_number":268,"context_line":"                            self, context\u003dcontext, operation\u003dentry.operation,"},{"line_number":269,"context_line":"                            row\u003dentry)"},{"line_number":270,"context_line":"            with session.begin():"},{"line_number":271,"context_line":"                db.update_db_row_state(session, entry, odl_const.COMPLETED)"},{"line_number":272,"context_line":"                db.delete_dependency(session, entry)"},{"line_number":273,"context_line":"                self._retry_reset()"},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"            LOG.info(LOG_ENTRY_TEMPLATE, _entry_log_dict(\u0027Processed\u0027, entry))"},{"line_number":276,"context_line":"        except exceptions.ConnectionError:"},{"line_number":277,"context_line":"            # Don\u0027t raise the retry count, just log an error \u0026 break"},{"line_number":278,"context_line":"            db.update_db_row_state(session, entry, odl_const.PENDING)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f4b6375_39e5e509","line":275,"range":{"start_line":267,"start_character":12,"end_line":275,"end_character":77},"in_reply_to":"3f4b6375_0fce862d","updated":"2017-10-25 11:32:58.000000000","message":"I agree it\u0027s weird, let\u0027s refactor this as a follow up change","commit_id":"482253700850fdd781bc37f1806910c7e981e3b1"},{"author":{"_account_id":26507,"name":"Michel Peterson","email":"michel@redhat.com","username":"mpeterson"},"change_message_id":"a82c2dd80cab497f003c173a6d23e1388d57b27a","unresolved":false,"context_lines":[{"line_number":264,"context_line":"        session \u003d context.session"},{"line_number":265,"context_line":"        try:"},{"line_number":266,"context_line":"            self.client.sendjson(method, urlpath, to_send)"},{"line_number":267,"context_line":"            registry.notify(entry.object_type, odl_const.BEFORE_COMPLETE,"},{"line_number":268,"context_line":"                            self, context\u003dcontext, operation\u003dentry.operation,"},{"line_number":269,"context_line":"                            row\u003dentry)"},{"line_number":270,"context_line":"            with session.begin():"},{"line_number":271,"context_line":"                db.update_db_row_state(session, entry, odl_const.COMPLETED)"},{"line_number":272,"context_line":"                db.delete_dependency(session, entry)"},{"line_number":273,"context_line":"                self._retry_reset()"},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"            LOG.info(LOG_ENTRY_TEMPLATE, _entry_log_dict(\u0027Processed\u0027, entry))"},{"line_number":276,"context_line":"        except exceptions.ConnectionError:"},{"line_number":277,"context_line":"            # Don\u0027t raise the retry count, just log an error \u0026 break"},{"line_number":278,"context_line":"            db.update_db_row_state(session, entry, odl_const.PENDING)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f4b6375_f171a145","line":275,"range":{"start_line":267,"start_character":12,"end_line":275,"end_character":77},"in_reply_to":"3f4b6375_39e5e509","updated":"2017-10-25 12:06:57.000000000","message":"Can you put a TODO message please? I\u0027d be happy to refactor it, but we need not to forget :)","commit_id":"482253700850fdd781bc37f1806910c7e981e3b1"},{"author":{"_account_id":7921,"name":"Mike Kolesnik","email":"mkolesni@redhat.com","username":"mkolesni"},"change_message_id":"2e8b3bf4c9ad4709bde9d762406764a29d2c3d9d","unresolved":false,"context_lines":[{"line_number":264,"context_line":"        session \u003d context.session"},{"line_number":265,"context_line":"        try:"},{"line_number":266,"context_line":"            self.client.sendjson(method, urlpath, to_send)"},{"line_number":267,"context_line":"            registry.notify(entry.object_type, odl_const.BEFORE_COMPLETE,"},{"line_number":268,"context_line":"                            self, context\u003dcontext, operation\u003dentry.operation,"},{"line_number":269,"context_line":"                            row\u003dentry)"},{"line_number":270,"context_line":"            with session.begin():"},{"line_number":271,"context_line":"                db.update_db_row_state(session, entry, odl_const.COMPLETED)"},{"line_number":272,"context_line":"                db.delete_dependency(session, entry)"},{"line_number":273,"context_line":"                self._retry_reset()"},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"            LOG.info(LOG_ENTRY_TEMPLATE, _entry_log_dict(\u0027Processed\u0027, entry))"},{"line_number":276,"context_line":"        except exceptions.ConnectionError:"},{"line_number":277,"context_line":"            # Don\u0027t raise the retry count, just log an error \u0026 break"},{"line_number":278,"context_line":"            db.update_db_row_state(session, entry, odl_const.PENDING)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f4b6375_0546de22","line":275,"range":{"start_line":267,"start_character":12,"end_line":275,"end_character":77},"in_reply_to":"3f4b6375_f171a145","updated":"2017-10-29 08:20:56.000000000","message":"Done","commit_id":"482253700850fdd781bc37f1806910c7e981e3b1"},{"author":{"_account_id":13912,"name":"rajiv","email":"thenakliman@gmail.com","username":"rajiv.kumar"},"change_message_id":"556ffa8fa6fa52eaf95b75c70ccc64b290681b01","unresolved":false,"context_lines":[{"line_number":116,"context_line":"    except exception.DBReferenceError as e:"},{"line_number":117,"context_line":"        raise exception.RetryRequest(e)"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    _log_entry(\u0027Recorded\u0027, entry)"},{"line_number":120,"context_line":"    LOG.debug(\u0027Entry with ID %(entry_id)s depends on these entries: \u0027"},{"line_number":121,"context_line":"              \u0027%(depening_on)s\u0027,"},{"line_number":122,"context_line":"              {\u0027entry_id\u0027: entry.seqnum, \u0027depending_on\u0027: depending_on})"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f4b6375_3117cef0","line":119,"range":{"start_line":119,"start_character":15,"end_line":119,"end_character":25},"updated":"2017-10-30 10:02:13.000000000","message":"better idea is to be defined constant for these values but these are used only once in the code, it is ok as well but constants seems cleaner approach.","commit_id":"a803eb7cdf47373f11d89b69036e7ae66f52f44b"},{"author":{"_account_id":7921,"name":"Mike Kolesnik","email":"mkolesni@redhat.com","username":"mkolesni"},"change_message_id":"b124270dba4593604d0c6595887c6f17805731c3","unresolved":false,"context_lines":[{"line_number":116,"context_line":"    except exception.DBReferenceError as e:"},{"line_number":117,"context_line":"        raise exception.RetryRequest(e)"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    _log_entry(\u0027Recorded\u0027, entry)"},{"line_number":120,"context_line":"    LOG.debug(\u0027Entry with ID %(entry_id)s depends on these entries: \u0027"},{"line_number":121,"context_line":"              \u0027%(depening_on)s\u0027,"},{"line_number":122,"context_line":"              {\u0027entry_id\u0027: entry.seqnum, \u0027depending_on\u0027: depending_on})"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f4b6375_18bf2afc","line":119,"range":{"start_line":119,"start_character":15,"end_line":119,"end_character":25},"in_reply_to":"3f4b6375_3117cef0","updated":"2017-10-31 15:16:03.000000000","message":"Done\n\nIt makes more sense for tests","commit_id":"a803eb7cdf47373f11d89b69036e7ae66f52f44b"},{"author":{"_account_id":13912,"name":"rajiv","email":"thenakliman@gmail.com","username":"rajiv.kumar"},"change_message_id":"556ffa8fa6fa52eaf95b75c70ccc64b290681b01","unresolved":false,"context_lines":[{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    _log_entry(\u0027Recorded\u0027, entry)"},{"line_number":120,"context_line":"    LOG.debug(\u0027Entry with ID %(entry_id)s depends on these entries: \u0027"},{"line_number":121,"context_line":"              \u0027%(depening_on)s\u0027,"},{"line_number":122,"context_line":"              {\u0027entry_id\u0027: entry.seqnum, \u0027depending_on\u0027: depending_on})"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3f4b6375_b12bbe2e","line":121,"range":{"start_line":121,"start_character":16,"end_line":121,"end_character":28},"updated":"2017-10-30 10:02:13.000000000","message":"Spelling mistake.","commit_id":"a803eb7cdf47373f11d89b69036e7ae66f52f44b"},{"author":{"_account_id":7921,"name":"Mike Kolesnik","email":"mkolesni@redhat.com","username":"mkolesni"},"change_message_id":"b124270dba4593604d0c6595887c6f17805731c3","unresolved":false,"context_lines":[{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    _log_entry(\u0027Recorded\u0027, entry)"},{"line_number":120,"context_line":"    LOG.debug(\u0027Entry with ID %(entry_id)s depends on these entries: \u0027"},{"line_number":121,"context_line":"              \u0027%(depening_on)s\u0027,"},{"line_number":122,"context_line":"              {\u0027entry_id\u0027: entry.seqnum, \u0027depending_on\u0027: depending_on})"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3f4b6375_7d5e1077","line":121,"range":{"start_line":121,"start_character":16,"end_line":121,"end_character":28},"in_reply_to":"3f4b6375_b12bbe2e","updated":"2017-10-31 15:16:03.000000000","message":"Good catch, wonder how no test caught it.\n\nI improved the test so now it would fail for this (but i fixed it so it passes :))","commit_id":"a803eb7cdf47373f11d89b69036e7ae66f52f44b"},{"author":{"_account_id":13912,"name":"rajiv","email":"thenakliman@gmail.com","username":"rajiv.kumar"},"change_message_id":"556ffa8fa6fa52eaf95b75c70ccc64b290681b01","unresolved":false,"context_lines":[{"line_number":296,"context_line":"                            row\u003dentry)"},{"line_number":297,"context_line":"            entry_complete(context, entry)"},{"line_number":298,"context_line":"            self._retry_reset()"},{"line_number":299,"context_line":"            _log_entry(\u0027Processed\u0027, entry)"},{"line_number":300,"context_line":"        except exceptions.ConnectionError:"},{"line_number":301,"context_line":"            # Don\u0027t raise the retry count, just log an error \u0026 break"},{"line_number":302,"context_line":"            entry_reset(context, entry)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f4b6375_713ae634","line":299,"range":{"start_line":299,"start_character":24,"end_line":299,"end_character":33},"updated":"2017-10-30 10:02:13.000000000","message":"I would even say, \"completed\" is more close to, how we address things in networking-odl","commit_id":"a803eb7cdf47373f11d89b69036e7ae66f52f44b"},{"author":{"_account_id":7921,"name":"Mike Kolesnik","email":"mkolesni@redhat.com","username":"mkolesni"},"change_message_id":"b124270dba4593604d0c6595887c6f17805731c3","unresolved":false,"context_lines":[{"line_number":296,"context_line":"                            row\u003dentry)"},{"line_number":297,"context_line":"            entry_complete(context, entry)"},{"line_number":298,"context_line":"            self._retry_reset()"},{"line_number":299,"context_line":"            _log_entry(\u0027Processed\u0027, entry)"},{"line_number":300,"context_line":"        except exceptions.ConnectionError:"},{"line_number":301,"context_line":"            # Don\u0027t raise the retry count, just log an error \u0026 break"},{"line_number":302,"context_line":"            entry_reset(context, entry)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f4b6375_fd28c097","line":299,"range":{"start_line":299,"start_character":24,"end_line":299,"end_character":33},"in_reply_to":"3f4b6375_713ae634","updated":"2017-10-31 15:16:03.000000000","message":"Done","commit_id":"a803eb7cdf47373f11d89b69036e7ae66f52f44b"},{"author":{"_account_id":13912,"name":"rajiv","email":"thenakliman@gmail.com","username":"rajiv.kumar"},"change_message_id":"556ffa8fa6fa52eaf95b75c70ccc64b290681b01","unresolved":false,"context_lines":[{"line_number":305,"context_line":"            self._retry_sleep()"},{"line_number":306,"context_line":"            return True"},{"line_number":307,"context_line":"        except Exception:"},{"line_number":308,"context_line":"            _log_entry(\u0027Error while processing\u0027, entry,"},{"line_number":309,"context_line":"                       log_level\u003dlogging.ERROR, exc_info\u003dTrue)"},{"line_number":310,"context_line":"            entry_update_state_by_retry_count("},{"line_number":311,"context_line":"                context, entry, self._max_retry_count)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f4b6375_71e2e603","line":308,"range":{"start_line":308,"start_character":24,"end_line":308,"end_character":46},"updated":"2017-10-30 10:02:13.000000000","message":"It does not seems to be a good log_type naming, like you have better naming processing and recorded etc.","commit_id":"a803eb7cdf47373f11d89b69036e7ae66f52f44b"},{"author":{"_account_id":7921,"name":"Mike Kolesnik","email":"mkolesni@redhat.com","username":"mkolesni"},"change_message_id":"b124270dba4593604d0c6595887c6f17805731c3","unresolved":false,"context_lines":[{"line_number":305,"context_line":"            self._retry_sleep()"},{"line_number":306,"context_line":"            return True"},{"line_number":307,"context_line":"        except Exception:"},{"line_number":308,"context_line":"            _log_entry(\u0027Error while processing\u0027, entry,"},{"line_number":309,"context_line":"                       log_level\u003dlogging.ERROR, exc_info\u003dTrue)"},{"line_number":310,"context_line":"            entry_update_state_by_retry_count("},{"line_number":311,"context_line":"                context, entry, self._max_retry_count)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f4b6375_9808ba28","line":308,"range":{"start_line":308,"start_character":24,"end_line":308,"end_character":46},"in_reply_to":"3f4b6375_71e2e603","updated":"2017-10-31 15:16:03.000000000","message":"Currently this preserves the original message so I think it\u0027s OK but if you have a better idea I\u0027m open to suggestions.","commit_id":"a803eb7cdf47373f11d89b69036e7ae66f52f44b"},{"author":{"_account_id":13912,"name":"rajiv","email":"thenakliman@gmail.com","username":"rajiv.kumar"},"change_message_id":"556ffa8fa6fa52eaf95b75c70ccc64b290681b01","unresolved":false,"context_lines":[{"line_number":308,"context_line":"            _log_entry(\u0027Error while processing\u0027, entry,"},{"line_number":309,"context_line":"                       log_level\u003dlogging.ERROR, exc_info\u003dTrue)"},{"line_number":310,"context_line":"            entry_update_state_by_retry_count("},{"line_number":311,"context_line":"                context, entry, self._max_retry_count)"},{"line_number":312,"context_line":""},{"line_number":313,"context_line":"        return False"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f4b6375_31690e8b","line":311,"range":{"start_line":311,"start_character":3,"end_line":311,"end_character":54},"updated":"2017-10-30 10:02:13.000000000","message":"Could you please do it in separate patch?","commit_id":"a803eb7cdf47373f11d89b69036e7ae66f52f44b"},{"author":{"_account_id":7921,"name":"Mike Kolesnik","email":"mkolesni@redhat.com","username":"mkolesni"},"change_message_id":"b124270dba4593604d0c6595887c6f17805731c3","unresolved":false,"context_lines":[{"line_number":308,"context_line":"            _log_entry(\u0027Error while processing\u0027, entry,"},{"line_number":309,"context_line":"                       log_level\u003dlogging.ERROR, exc_info\u003dTrue)"},{"line_number":310,"context_line":"            entry_update_state_by_retry_count("},{"line_number":311,"context_line":"                context, entry, self._max_retry_count)"},{"line_number":312,"context_line":""},{"line_number":313,"context_line":"        return False"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f4b6375_780bbe23","line":311,"range":{"start_line":311,"start_character":3,"end_line":311,"end_character":54},"in_reply_to":"3f4b6375_31690e8b","updated":"2017-10-31 15:16:03.000000000","message":"Done","commit_id":"a803eb7cdf47373f11d89b69036e7ae66f52f44b"}],"networking_odl/tests/unit/journal/test_journal.py":[{"author":{"_account_id":26507,"name":"Michel Peterson","email":"michel@redhat.com","username":"mpeterson"},"change_message_id":"f3c7de0c446defd5cd7ae6c3989705446b1c1083","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        url_param \u003d self.journal._json_data(row)"},{"line_number":72,"context_line":"        self.assertEqual(object_type, url_param[1])"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    def _test__sync_entry_logs(self, log_type, mock_log_method):"},{"line_number":75,"context_line":"        entry \u003d db.create_pending_row(self.db_session, *self.UPDATE_ROW)"},{"line_number":76,"context_line":"        self.journal._sync_entry(self.db_context, entry)"},{"line_number":77,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3f4b6375_8aadc4ea","line":74,"updated":"2017-10-24 06:53:12.000000000","message":"Using assertLogs seems more easier and correct. Although, while I write this, I\u0027m not sure it\u0027s available directly in either python2 nor the unittest library this project uses... \n\nhttps://docs.python.org/3/library/unittest.html#unittest.TestCase.assertLogs","commit_id":"482253700850fdd781bc37f1806910c7e981e3b1"},{"author":{"_account_id":7921,"name":"Mike Kolesnik","email":"mkolesni@redhat.com","username":"mkolesni"},"change_message_id":"47e0e64411eb8b4f925afe1c81ee46121f6800dd","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        url_param \u003d self.journal._json_data(row)"},{"line_number":72,"context_line":"        self.assertEqual(object_type, url_param[1])"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    def _test__sync_entry_logs(self, log_type, mock_log_method):"},{"line_number":75,"context_line":"        entry \u003d db.create_pending_row(self.db_session, *self.UPDATE_ROW)"},{"line_number":76,"context_line":"        self.journal._sync_entry(self.db_context, entry)"},{"line_number":77,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3f4b6375_d9901146","line":74,"in_reply_to":"3f4b6375_8aadc4ea","updated":"2017-10-25 11:32:58.000000000","message":"Doesn\u0027t seem to be available in Py27..\n\n\"New in version 3.4.\"","commit_id":"482253700850fdd781bc37f1806910c7e981e3b1"},{"author":{"_account_id":333,"name":"Isaku Yamahata","email":"isaku.yamahata@gmail.com","username":"yamahata"},"change_message_id":"7b390395b5d611b09fe0ab9ec278fb3495ca1657","unresolved":false,"context_lines":[{"line_number":115,"context_line":"    @mock.patch.object(journal, \u0027LOG\u0027)"},{"line_number":116,"context_line":"    def test_record_logs_recording(self, mock_log):"},{"line_number":117,"context_line":"        journal.record(self.db_context, *self.UPDATE_ROW)"},{"line_number":118,"context_line":"        self.assertTrue(mock_log.info.call_count \u003e 0)"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"    @mock.patch.object(journal, \u0027LOG\u0027)"},{"line_number":121,"context_line":"    def test_record_logs_dependencies(self, mock_log):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f4b6375_5b7444fe","line":118,"range":{"start_line":118,"start_character":9,"end_line":118,"end_character":53},"updated":"2017-10-24 02:06:03.000000000","message":"mock_log.info.assert_called() would be more direct.","commit_id":"482253700850fdd781bc37f1806910c7e981e3b1"},{"author":{"_account_id":7921,"name":"Mike Kolesnik","email":"mkolesni@redhat.com","username":"mkolesni"},"change_message_id":"47e0e64411eb8b4f925afe1c81ee46121f6800dd","unresolved":false,"context_lines":[{"line_number":115,"context_line":"    @mock.patch.object(journal, \u0027LOG\u0027)"},{"line_number":116,"context_line":"    def test_record_logs_recording(self, mock_log):"},{"line_number":117,"context_line":"        journal.record(self.db_context, *self.UPDATE_ROW)"},{"line_number":118,"context_line":"        self.assertTrue(mock_log.info.call_count \u003e 0)"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"    @mock.patch.object(journal, \u0027LOG\u0027)"},{"line_number":121,"context_line":"    def test_record_logs_dependencies(self, mock_log):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f4b6375_9996193e","line":118,"range":{"start_line":118,"start_character":9,"end_line":118,"end_character":53},"in_reply_to":"3f4b6375_5b7444fe","updated":"2017-10-25 11:32:58.000000000","message":"Done","commit_id":"482253700850fdd781bc37f1806910c7e981e3b1"},{"author":{"_account_id":26507,"name":"Michel Peterson","email":"michel@redhat.com","username":"mpeterson"},"change_message_id":"f3c7de0c446defd5cd7ae6c3989705446b1c1083","unresolved":false,"context_lines":[{"line_number":121,"context_line":"    def test_record_logs_dependencies(self, mock_log):"},{"line_number":122,"context_line":"        entry \u003d db.create_pending_row(self.db_session, *self.UPDATE_ROW)"},{"line_number":123,"context_line":"        journal.record(self.db_context, *self.UPDATE_ROW)"},{"line_number":124,"context_line":"        self.assertTrue(mock_log.debug.call_count \u003e 0)"},{"line_number":125,"context_line":"        args \u003d mock_log.debug.call_args_list[0][0]"},{"line_number":126,"context_line":"        self.assertEqual([entry], args[1][\u0027depending_on\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f4b6375_2ad49047","line":124,"range":{"start_line":124,"start_character":8,"end_line":124,"end_character":54},"updated":"2017-10-24 06:53:12.000000000","message":"same as Isaku commented","commit_id":"482253700850fdd781bc37f1806910c7e981e3b1"},{"author":{"_account_id":7921,"name":"Mike Kolesnik","email":"mkolesni@redhat.com","username":"mkolesni"},"change_message_id":"47e0e64411eb8b4f925afe1c81ee46121f6800dd","unresolved":false,"context_lines":[{"line_number":121,"context_line":"    def test_record_logs_dependencies(self, mock_log):"},{"line_number":122,"context_line":"        entry \u003d db.create_pending_row(self.db_session, *self.UPDATE_ROW)"},{"line_number":123,"context_line":"        journal.record(self.db_context, *self.UPDATE_ROW)"},{"line_number":124,"context_line":"        self.assertTrue(mock_log.debug.call_count \u003e 0)"},{"line_number":125,"context_line":"        args \u003d mock_log.debug.call_args_list[0][0]"},{"line_number":126,"context_line":"        self.assertEqual([entry], args[1][\u0027depending_on\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f4b6375_d907f181","line":124,"range":{"start_line":124,"start_character":8,"end_line":124,"end_character":54},"in_reply_to":"3f4b6375_2ad49047","updated":"2017-10-25 11:32:58.000000000","message":"Done","commit_id":"482253700850fdd781bc37f1806910c7e981e3b1"},{"author":{"_account_id":13912,"name":"rajiv","email":"thenakliman@gmail.com","username":"rajiv.kumar"},"change_message_id":"556ffa8fa6fa52eaf95b75c70ccc64b290681b01","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        entry \u003d db.create_pending_row(self.db_session, *self.UPDATE_ROW)"},{"line_number":85,"context_line":"        self.journal._sync_entry(self.db_context, entry)"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"        for args, _ in mock_log.log.call_args_list:"},{"line_number":88,"context_line":"            if log_level \u003d\u003d args[0] and log_type \u003d\u003d args[2][\u0027log_type\u0027]:"},{"line_number":89,"context_line":"                return"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"        self.fail(\u0027\"%s\" not logged in _sync_entry\u0027 % log_type)"},{"line_number":92,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3f4b6375_1105f27a","line":89,"range":{"start_line":87,"start_character":1,"end_line":89,"end_character":22},"updated":"2017-10-30 10:02:13.000000000","message":"Can not we have better approach like assert_has_calls","commit_id":"a803eb7cdf47373f11d89b69036e7ae66f52f44b"},{"author":{"_account_id":7921,"name":"Mike Kolesnik","email":"mkolesni@redhat.com","username":"mkolesni"},"change_message_id":"b124270dba4593604d0c6595887c6f17805731c3","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        entry \u003d db.create_pending_row(self.db_session, *self.UPDATE_ROW)"},{"line_number":85,"context_line":"        self.journal._sync_entry(self.db_context, entry)"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"        for args, _ in mock_log.log.call_args_list:"},{"line_number":88,"context_line":"            if log_level \u003d\u003d args[0] and log_type \u003d\u003d args[2][\u0027log_type\u0027]:"},{"line_number":89,"context_line":"                return"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"        self.fail(\u0027\"%s\" not logged in _sync_entry\u0027 % log_type)"},{"line_number":92,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3f4b6375_5812425a","line":89,"range":{"start_line":87,"start_character":1,"end_line":89,"end_character":22},"in_reply_to":"3f4b6375_1105f27a","updated":"2017-10-31 15:16:03.000000000","message":"Done","commit_id":"a803eb7cdf47373f11d89b69036e7ae66f52f44b"},{"author":{"_account_id":13912,"name":"rajiv","email":"thenakliman@gmail.com","username":"rajiv.kumar"},"change_message_id":"556ffa8fa6fa52eaf95b75c70ccc64b290681b01","unresolved":false,"context_lines":[{"line_number":96,"context_line":"    def test__sync_entry_logs_processed(self):"},{"line_number":97,"context_line":"        self._test__sync_entry_logs(\u0027Processed\u0027)"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    @mock.patch.object(client.OpenDaylightRestClient, \u0027sendjson\u0027,"},{"line_number":100,"context_line":"                       mock.Mock(side_effect\u003dException))"},{"line_number":101,"context_line":"    def test__sync_entry_logs_failed(self):"},{"line_number":102,"context_line":"        self._test__sync_entry_logs(\u0027Error while processing\u0027,"},{"line_number":103,"context_line":"                                    log_level\u003dlogging.ERROR)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f4b6375_5175aaf9","line":100,"range":{"start_line":99,"start_character":4,"end_line":100,"end_character":56},"updated":"2017-10-30 10:02:13.000000000","message":"Do you think, asserting on it will be a good idea, because exception can be raised due to some other issue and general exception will handle it.","commit_id":"a803eb7cdf47373f11d89b69036e7ae66f52f44b"},{"author":{"_account_id":7921,"name":"Mike Kolesnik","email":"mkolesni@redhat.com","username":"mkolesni"},"change_message_id":"b124270dba4593604d0c6595887c6f17805731c3","unresolved":false,"context_lines":[{"line_number":96,"context_line":"    def test__sync_entry_logs_processed(self):"},{"line_number":97,"context_line":"        self._test__sync_entry_logs(\u0027Processed\u0027)"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    @mock.patch.object(client.OpenDaylightRestClient, \u0027sendjson\u0027,"},{"line_number":100,"context_line":"                       mock.Mock(side_effect\u003dException))"},{"line_number":101,"context_line":"    def test__sync_entry_logs_failed(self):"},{"line_number":102,"context_line":"        self._test__sync_entry_logs(\u0027Error while processing\u0027,"},{"line_number":103,"context_line":"                                    log_level\u003dlogging.ERROR)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f4b6375_58aec2e7","line":100,"range":{"start_line":99,"start_character":4,"end_line":100,"end_character":56},"in_reply_to":"3f4b6375_5175aaf9","updated":"2017-10-31 15:16:03.000000000","message":"Please clarify, not sure what you mean","commit_id":"a803eb7cdf47373f11d89b69036e7ae66f52f44b"},{"author":{"_account_id":13912,"name":"rajiv","email":"thenakliman@gmail.com","username":"rajiv.kumar"},"change_message_id":"556ffa8fa6fa52eaf95b75c70ccc64b290681b01","unresolved":false,"context_lines":[{"line_number":110,"context_line":""},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"class JournalTest(base_v2.OpenDaylightTestCase):"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"    @mock.patch.object(dependency_validations, \u0027calculate\u0027)"},{"line_number":115,"context_line":"    @mock.patch.object(journal.db, \u0027create_pending_row\u0027,"},{"line_number":116,"context_line":"                       side_effect\u003d_raise_DBReferenceError)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f4b6375_31ec6ef2","line":113,"updated":"2017-10-30 10:02:13.000000000","message":"unnecessary change.","commit_id":"a803eb7cdf47373f11d89b69036e7ae66f52f44b"},{"author":{"_account_id":13912,"name":"rajiv","email":"thenakliman@gmail.com","username":"rajiv.kumar"},"change_message_id":"556ffa8fa6fa52eaf95b75c70ccc64b290681b01","unresolved":false,"context_lines":[{"line_number":217,"context_line":"        entry \u003d db.create_pending_row(self.db_session, *self.UPDATE_ROW)"},{"line_number":218,"context_line":"        journal.record(self.db_context, *self.UPDATE_ROW)"},{"line_number":219,"context_line":"        mock_log.debug.assert_called()"},{"line_number":220,"context_line":"        args \u003d mock_log.debug.call_args_list[0][0]"},{"line_number":221,"context_line":"        self.assertEqual([entry], args[1][\u0027depending_on\u0027])"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f4b6375_317c6eb4","line":221,"range":{"start_line":220,"start_character":0,"end_line":221,"end_character":58},"updated":"2017-10-30 10:02:13.000000000","message":"Could you please find something cleaner way of doing things, it is difficult to understand from nested indexes etc?","commit_id":"a803eb7cdf47373f11d89b69036e7ae66f52f44b"}]}
