)]}'
{"cyborg/db/sqlalchemy/api.py":[{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"2b3bf083a8b1d0f22479f7317e7ffd8780f22620","unresolved":false,"context_lines":[{"line_number":157,"context_line":"        try:"},{"line_number":158,"context_line":"            return query.one()"},{"line_number":159,"context_line":"        except NoResultFound:"},{"line_number":160,"context_line":"            raise exception.AttachHandleNotFound(attach_handle\u003did)"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"    def attach_handle_list_by_type(self, context, attach_type\u003d\u0027PCI\u0027):"},{"line_number":163,"context_line":"        query \u003d model_query(context, models.AttachHandle). \\"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_6d6426b4","line":160,"updated":"2019-12-21 16:46:31.000000000","message":"Also, ResourceNotFound for AttachHandle in Line 170, 285 in:\n\nhttps://opendev.org/openstack/cyborg/src/commit/c867db9882b1c117d5730e2051d1a2a017bc18b7/cyborg/db/sqlalchemy/api.py","commit_id":"d7b221e34cbd1e62458920c1ebc5a10dd71fd81e"},{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"8146c86278b84c526ce5290347d651cacd724015","unresolved":false,"context_lines":[{"line_number":157,"context_line":"        try:"},{"line_number":158,"context_line":"            return query.one()"},{"line_number":159,"context_line":"        except NoResultFound:"},{"line_number":160,"context_line":"            raise exception.AttachHandleNotFound(attach_handle\u003did)"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"    def attach_handle_list_by_type(self, context, attach_type\u003d\u0027PCI\u0027):"},{"line_number":163,"context_line":"        query \u003d model_query(context, models.AttachHandle). \\"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_26488b88","line":160,"in_reply_to":"3fa7e38b_6d6426b4","updated":"2019-12-23 02:07:21.000000000","message":"Hi Sundar. I have also considered whether to change this too, but careful analysis found that these [Lin170,285] cannot be modified, because the exception of this type is not same as this commit. The exception in Line170 should tell the attach_type.","commit_id":"d7b221e34cbd1e62458920c1ebc5a10dd71fd81e"},{"author":{"_account_id":25738,"name":"Xinran WANG","email":"xin-ran.wang@intel.com","username":"Xinran"},"change_message_id":"cbb88328936f85f27ec3584bfc1483a73bf3d030","unresolved":false,"context_lines":[{"line_number":170,"context_line":"            return query.all()"},{"line_number":171,"context_line":"        except NoResultFound:"},{"line_number":172,"context_line":"            raise exception.ResourceNotFound("},{"line_number":173,"context_line":"                resource\u003d\u0027Attach Handle\u0027,"},{"line_number":174,"context_line":"                msg\u003d\u0027with type\u003d%s\u0027 % attach_type)"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"    def attach_handle_get_by_filters(self, context,"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_f2aceaeb","line":173,"range":{"start_line":173,"start_character":32,"end_line":173,"end_character":33},"updated":"2020-01-10 01:52:36.000000000","message":"white space here :)","commit_id":"f91e1830f668da940fce1e9fb0cdd54e7f6991f9"},{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"8795ceb1582f3d430a4128953f23e8a397e790f8","unresolved":false,"context_lines":[{"line_number":170,"context_line":"            return query.all()"},{"line_number":171,"context_line":"        except NoResultFound:"},{"line_number":172,"context_line":"            raise exception.ResourceNotFound("},{"line_number":173,"context_line":"                resource\u003d\u0027Attach Handle\u0027,"},{"line_number":174,"context_line":"                msg\u003d\u0027with type\u003d%s\u0027 % attach_type)"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"    def attach_handle_get_by_filters(self, context,"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_723d5a8b","line":173,"range":{"start_line":173,"start_character":32,"end_line":173,"end_character":33},"in_reply_to":"3fa7e38b_f2aceaeb","updated":"2020-01-10 02:07:36.000000000","message":"Good Catch. Done.","commit_id":"f91e1830f668da940fce1e9fb0cdd54e7f6991f9"}],"cyborg/tests/unit/db/test_db_attach_handle.py":[{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"0385e6bbf57a85353e0c8b814439e5ba51be1440","unresolved":false,"context_lines":[{"line_number":21,"context_line":"from cyborg.tests.unit.db import base"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class TestDbAttachHandleTestCase(base.DbTestCase):"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    def test_get_by_uuid_not_exist(self):"},{"line_number":27,"context_line":"        random_uuid \u003d uuidutils.generate_uuid()"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_ceb12293","line":24,"updated":"2020-01-08 22:32:40.000000000","message":"Would be good to add happy path UT also. But I think you plan to add it in later patches.","commit_id":"f91e1830f668da940fce1e9fb0cdd54e7f6991f9"},{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"7331ca1ec52e8cfbd0c7939d504d9ea97329369d","unresolved":false,"context_lines":[{"line_number":21,"context_line":"from cyborg.tests.unit.db import base"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class TestDbAttachHandleTestCase(base.DbTestCase):"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    def test_get_by_uuid_not_exist(self):"},{"line_number":27,"context_line":"        random_uuid \u003d uuidutils.generate_uuid()"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_e47f5ddb","line":24,"in_reply_to":"3fa7e38b_ceb12293","updated":"2020-01-09 01:51:43.000000000","message":"Hi sundar. What does happy path mean? I have plans to improve the unit tests for this part in later patches.","commit_id":"f91e1830f668da940fce1e9fb0cdd54e7f6991f9"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"f6c20d4bceec8a68b80b728a86ec444d5e5572e1","unresolved":false,"context_lines":[{"line_number":21,"context_line":"from cyborg.tests.unit.db import base"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class TestDbAttachHandleTestCase(base.DbTestCase):"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    def test_get_by_uuid_not_exist(self):"},{"line_number":27,"context_line":"        random_uuid \u003d uuidutils.generate_uuid()"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_f317faee","line":24,"in_reply_to":"3fa7e38b_e47f5ddb","updated":"2020-01-13 02:46:35.000000000","message":"Hi, happy path means the code path where everything works as it should -- no errors or exceptions.","commit_id":"f91e1830f668da940fce1e9fb0cdd54e7f6991f9"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"b8e109989e6cd8a6826c26a5206ead22723c91f6","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class TestDbAttachHandleTestCase(base.DbTestCase):"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    def test_get_by_uuid_not_exist(self):"},{"line_number":27,"context_line":"        random_uuid \u003d uuidutils.generate_uuid()"},{"line_number":28,"context_line":"        self.assertRaises(exception.ResourceNotFound,"},{"line_number":29,"context_line":"                          self.dbapi.attach_handle_get_by_uuid,"}],"source_content_type":"text/x-python","patch_set":6,"id":"3fa7e38b_732c6a49","line":26,"updated":"2020-01-13 02:42:51.000000000","message":"There are 3 functions which are changed in dbapi. Don\u0027t we need 3 UT test cases?","commit_id":"14055635b30d8448c04736cd0a5814ba890a3c37"},{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"27f4f61753cd9d47a34fceb8b4210d9769456784","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class TestDbAttachHandleTestCase(base.DbTestCase):"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    def test_get_by_uuid_not_exist(self):"},{"line_number":27,"context_line":"        random_uuid \u003d uuidutils.generate_uuid()"},{"line_number":28,"context_line":"        self.assertRaises(exception.ResourceNotFound,"},{"line_number":29,"context_line":"                          self.dbapi.attach_handle_get_by_uuid,"}],"source_content_type":"text/x-python","patch_set":6,"id":"3fa7e38b_d31afe17","line":26,"in_reply_to":"3fa7e38b_732c6a49","updated":"2020-01-13 02:47:17.000000000","message":"Hi. Plan to add ut for all  private method like _do_update_attach_handle in the next improve UT patches.\nFor attach_handle_delete method, Thanks for your remind. will fix it.","commit_id":"14055635b30d8448c04736cd0a5814ba890a3c37"}]}
