)]}'
{"barbican/model/repositories.py":[{"author":{"_account_id":10873,"name":"Juan Antonio Osorio Robles","email":"jaosorior@redhat.com","username":"ejuaoso"},"change_message_id":"7860c0238acb96848eabf81b67b780cb2f8e91e4","unresolved":false,"context_lines":[{"line_number":1524,"context_line":"        session \u003d self.get_session(session)"},{"line_number":1525,"context_line":""},{"line_number":1526,"context_line":"        query \u003d session.query(models.TransportKey)"},{"line_number":1527,"context_line":"        query \u003d query.order_by(models.TransportKey.created_at.desc())"},{"line_number":1528,"context_line":"        if plugin_name is not None:"},{"line_number":1529,"context_line":"            query \u003d query.filter_by(deleted\u003dFalse, plugin_name\u003dplugin_name)"},{"line_number":1530,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":6,"id":"bfdaf3ff_2eb5d9cd","line":1527,"updated":"2019-01-15 17:09:11.000000000","message":"This seems unrelated as well.","commit_id":"11ca504c6a406cdb825e5905c99b993fc2c1503b"}],"barbican/objects/transport_key.py":[{"author":{"_account_id":10873,"name":"Juan Antonio Osorio Robles","email":"jaosorior@redhat.com","username":"ejuaoso"},"change_message_id":"4a71d4b55ab3305cd5aa321d02a89f1a3997ba6a","unresolved":false,"context_lines":[{"line_number":58,"context_line":"                                 session\u003dNone):"},{"line_number":59,"context_line":"        transport_key_db \u003d cls.db_repo.get_latest_transport_key("},{"line_number":60,"context_line":"            plugin_name, suppress_exception, session)"},{"line_number":61,"context_line":"        transport_key_obj \u003d [cls()._from_db_object(trans)"},{"line_number":62,"context_line":"                             for trans in transport_key_db]"},{"line_number":63,"context_line":"        return transport_key_obj"}],"source_content_type":"text/x-python","patch_set":6,"id":"bfdaf3ff_aea789a7","line":63,"range":{"start_line":61,"start_character":8,"end_line":63,"end_character":32},"updated":"2019-01-15 17:08:41.000000000","message":"this change seems unrelated.","commit_id":"11ca504c6a406cdb825e5905c99b993fc2c1503b"}],"barbican/tests/objects/test_ovo_secret_meta.py":[{"author":{"_account_id":9914,"name":"Ade Lee","email":"alee@redhat.com","username":"alee"},"change_message_id":"4c6345101932983649bea0f9ab1e3ac9d9575053","unresolved":false,"context_lines":[{"line_number":104,"context_line":"            secret.id)"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"        self.assertEqual(self.test_metadata, metadata)"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"    def test_delete_secret_deletes_secret_metadata(self):"},{"line_number":109,"context_line":"        secret \u003d self._create_base_secret()"},{"line_number":110,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_7fd33fd4","line":107,"updated":"2018-07-27 12:09:49.000000000","message":"Can we add a test where we delete all keys in the metadata and then get the metadata? (rather than just one of the keys).","commit_id":"4dac32e08dd1877ee6e09d62eb3599445af47bd1"},{"author":{"_account_id":19853,"name":"Nguyen Hung Phuong","email":"phuongnh@vn.fujitsu.com","username":"phuongnh"},"change_message_id":"916e29d5a434c4ccf692f7df889c6c01f3848cdd","unresolved":false,"context_lines":[{"line_number":104,"context_line":"            secret.id)"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"        self.assertEqual(self.test_metadata, metadata)"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"    def test_delete_secret_deletes_secret_metadata(self):"},{"line_number":109,"context_line":"        secret \u003d self._create_base_secret()"},{"line_number":110,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_c361cb3b","line":107,"in_reply_to":"5f7c97a3_7fd33fd4","updated":"2018-08-06 12:23:55.000000000","message":"Done","commit_id":"4dac32e08dd1877ee6e09d62eb3599445af47bd1"}],"barbican/tests/objects/test_ovo_transport_key.py":[{"author":{"_account_id":9914,"name":"Ade Lee","email":"alee@redhat.com","username":"alee"},"change_message_id":"4c6345101932983649bea0f9ab1e3ac9d9575053","unresolved":false,"context_lines":[{"line_number":20,"context_line":"    def setUp(self):"},{"line_number":21,"context_line":"        super(TestTransportKey, self).setUp()"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"    def _creat_transport_key(self, plugin_name, transport_key, session):"},{"line_number":24,"context_line":"        trans_key \u003d objects.TransportKey(plugin_name\u003dplugin_name,"},{"line_number":25,"context_line":"                                         transport_key\u003dtransport_key)"},{"line_number":26,"context_line":"        trans_key.create(session\u003dsession)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_bf9b1714","line":23,"updated":"2018-07-27 12:09:49.000000000","message":"typo: _create_transport_key","commit_id":"4dac32e08dd1877ee6e09d62eb3599445af47bd1"},{"author":{"_account_id":19853,"name":"Nguyen Hung Phuong","email":"phuongnh@vn.fujitsu.com","username":"phuongnh"},"change_message_id":"916e29d5a434c4ccf692f7df889c6c01f3848cdd","unresolved":false,"context_lines":[{"line_number":20,"context_line":"    def setUp(self):"},{"line_number":21,"context_line":"        super(TestTransportKey, self).setUp()"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"    def _creat_transport_key(self, plugin_name, transport_key, session):"},{"line_number":24,"context_line":"        trans_key \u003d objects.TransportKey(plugin_name\u003dplugin_name,"},{"line_number":25,"context_line":"                                         transport_key\u003dtransport_key)"},{"line_number":26,"context_line":"        trans_key.create(session\u003dsession)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_e32f27f4","line":23,"in_reply_to":"5f7c97a3_bf9b1714","updated":"2018-08-06 12:23:55.000000000","message":"Done","commit_id":"4dac32e08dd1877ee6e09d62eb3599445af47bd1"},{"author":{"_account_id":9914,"name":"Ade Lee","email":"alee@redhat.com","username":"alee"},"change_message_id":"4c6345101932983649bea0f9ab1e3ac9d9575053","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        trans \u003d objects.TransportKey.get_latest_transport_key("},{"line_number":74,"context_line":"            plugin_name\u003d\u0027fake_plugin_name\u0027)"},{"line_number":75,"context_line":"        self.assertIsNotNone(trans)"},{"line_number":76,"context_line":"        self.assertEqual(1, len(trans))"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    def test_ovo_should_raise_no_result_found_with_plugin_name(self):"},{"line_number":79,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_ff4c2f9e","line":76,"updated":"2018-07-27 12:09:49.000000000","message":"We can also validate the value of the transport key, right?\ntrans_key_4  ?","commit_id":"4dac32e08dd1877ee6e09d62eb3599445af47bd1"},{"author":{"_account_id":19853,"name":"Nguyen Hung Phuong","email":"phuongnh@vn.fujitsu.com","username":"phuongnh"},"change_message_id":"dfa7c14c30429647ad6a2ee52f91fca74aca5ac1","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        trans \u003d objects.TransportKey.get_latest_transport_key("},{"line_number":74,"context_line":"            plugin_name\u003d\u0027fake_plugin_name\u0027)"},{"line_number":75,"context_line":"        self.assertIsNotNone(trans)"},{"line_number":76,"context_line":"        self.assertEqual(1, len(trans))"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    def test_ovo_should_raise_no_result_found_with_plugin_name(self):"},{"line_number":79,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_855ad027","line":76,"in_reply_to":"3f79a3b5_bb7a9221","updated":"2018-08-08 01:30:59.000000000","message":"range(4) function returns 0..3 so it should be trans_key_3. \n\nI have checked the code and found that \u0027get_latest_transport_key\u0027 function in repositories.py order by created date. If the transport keys are created in the same time (same second value in created date), the function returns first record of them, the \u0027trans_key_0\u0027. \n\nSo to fix this bug, we need to fix \u0027get_latest_transport_key\u0027 function in repositories.py.\nWhat do you think?","commit_id":"4dac32e08dd1877ee6e09d62eb3599445af47bd1"},{"author":{"_account_id":9914,"name":"Ade Lee","email":"alee@redhat.com","username":"alee"},"change_message_id":"9302f1a1f9bbb926650cf43f93b549583b8fa07c","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        trans \u003d objects.TransportKey.get_latest_transport_key("},{"line_number":74,"context_line":"            plugin_name\u003d\u0027fake_plugin_name\u0027)"},{"line_number":75,"context_line":"        self.assertIsNotNone(trans)"},{"line_number":76,"context_line":"        self.assertEqual(1, len(trans))"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    def test_ovo_should_raise_no_result_found_with_plugin_name(self):"},{"line_number":79,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_bb7a9221","line":76,"in_reply_to":"3f79a3b5_c378ebf9","updated":"2018-08-07 20:52:38.000000000","message":"yes -- because if I understand your test correctly, it should be trans_key_4 , right?","commit_id":"4dac32e08dd1877ee6e09d62eb3599445af47bd1"},{"author":{"_account_id":19853,"name":"Nguyen Hung Phuong","email":"phuongnh@vn.fujitsu.com","username":"phuongnh"},"change_message_id":"916e29d5a434c4ccf692f7df889c6c01f3848cdd","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        trans \u003d objects.TransportKey.get_latest_transport_key("},{"line_number":74,"context_line":"            plugin_name\u003d\u0027fake_plugin_name\u0027)"},{"line_number":75,"context_line":"        self.assertIsNotNone(trans)"},{"line_number":76,"context_line":"        self.assertEqual(1, len(trans))"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    def test_ovo_should_raise_no_result_found_with_plugin_name(self):"},{"line_number":79,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_c378ebf9","line":76,"in_reply_to":"5f7c97a3_ff4c2f9e","updated":"2018-08-06 12:23:55.000000000","message":"I checked the value of the transport key and it is \u0027trans_key_0\u0027, should we check again \u0027get_latest_transport_key\u0027 function in repositories.py?","commit_id":"4dac32e08dd1877ee6e09d62eb3599445af47bd1"},{"author":{"_account_id":9914,"name":"Ade Lee","email":"alee@redhat.com","username":"alee"},"change_message_id":"c39f395137fbf1d281315aa7296ea9575882f576","unresolved":false,"context_lines":[{"line_number":74,"context_line":"            plugin_name\u003d\u0027fake_plugin_name\u0027)"},{"line_number":75,"context_line":"        self.assertIsNotNone(trans)"},{"line_number":76,"context_line":"        self.assertEqual(1, len(trans))"},{"line_number":77,"context_line":"        self.assertEqual(\u0027trans_key_0\u0027, trans[0].transport_key)"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    def test_ovo_should_raise_no_result_found_with_plugin_name(self):"},{"line_number":80,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_fbb6cad9","line":77,"updated":"2018-08-07 20:55:24.000000000","message":"Based on your test, this seems like a wrong result to me.\nIt should be the last transport key created , right?","commit_id":"9469600be6aa10e68f208b8d2d9015b6dac4e953"},{"author":{"_account_id":9914,"name":"Ade Lee","email":"alee@redhat.com","username":"alee"},"change_message_id":"025fc900757c4c04acefc50172ce5607426bfae4","unresolved":false,"context_lines":[{"line_number":74,"context_line":"            plugin_name\u003d\u0027fake_plugin_name\u0027)"},{"line_number":75,"context_line":"        self.assertIsNotNone(trans)"},{"line_number":76,"context_line":"        self.assertEqual(1, len(trans))"},{"line_number":77,"context_line":"        self.assertEqual(\u0027trans_key_0\u0027, trans[0].transport_key)"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    def test_ovo_should_raise_no_result_found_with_plugin_name(self):"},{"line_number":80,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_ae023608","line":77,"in_reply_to":"3f79a3b5_6570d4a6","updated":"2018-08-08 21:29:58.000000000","message":"Perhaps we need a sleep between keys being created?  That way we can be sure that the entries will be distinct - and we can verify that we get the latest one.","commit_id":"9469600be6aa10e68f208b8d2d9015b6dac4e953"},{"author":{"_account_id":19554,"name":"Nam","email":"namnh68@fsoft.com.vn","username":"namnh"},"change_message_id":"5ca64f08be26c20adf63d8887db481f59df82e1d","unresolved":false,"context_lines":[{"line_number":74,"context_line":"            plugin_name\u003d\u0027fake_plugin_name\u0027)"},{"line_number":75,"context_line":"        self.assertIsNotNone(trans)"},{"line_number":76,"context_line":"        self.assertEqual(1, len(trans))"},{"line_number":77,"context_line":"        self.assertEqual(\u0027trans_key_0\u0027, trans[0].transport_key)"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    def test_ovo_should_raise_no_result_found_with_plugin_name(self):"},{"line_number":80,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_be6b6b1d","line":77,"in_reply_to":"3f79a3b5_ae023608","updated":"2018-08-19 17:13:49.000000000","message":"This is a bug in the repositories.py file, i already fix this. Please check my new patch set.","commit_id":"9469600be6aa10e68f208b8d2d9015b6dac4e953"},{"author":{"_account_id":19853,"name":"Nguyen Hung Phuong","email":"phuongnh@vn.fujitsu.com","username":"phuongnh"},"change_message_id":"dfa7c14c30429647ad6a2ee52f91fca74aca5ac1","unresolved":false,"context_lines":[{"line_number":74,"context_line":"            plugin_name\u003d\u0027fake_plugin_name\u0027)"},{"line_number":75,"context_line":"        self.assertIsNotNone(trans)"},{"line_number":76,"context_line":"        self.assertEqual(1, len(trans))"},{"line_number":77,"context_line":"        self.assertEqual(\u0027trans_key_0\u0027, trans[0].transport_key)"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    def test_ovo_should_raise_no_result_found_with_plugin_name(self):"},{"line_number":80,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_6570d4a6","line":77,"in_reply_to":"3f79a3b5_fbb6cad9","updated":"2018-08-08 01:30:59.000000000","message":"yes, you are correct. I replied to you in the previous comments.","commit_id":"9469600be6aa10e68f208b8d2d9015b6dac4e953"}]}
