)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"ad24d2013cf701081ecb7025999be6e275a352bb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"dfce9ecc_5662dc0d","updated":"2022-07-06 07:15:32.000000000","message":"Thanks for adding UT! Can reduce duplicated code, otherwise LGTM.","commit_id":"d031bb506b12c5e9b29185243017c9d81abb39ec"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"f64a8e63780c4bbd64cae49f419cedb7b39ec008","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"2f4e6680_9c809f1e","updated":"2022-07-07 21:41:50.000000000","message":"Good start, thx for picking this up.","commit_id":"4d813ecc74b512c336d3198bd5b9cfbaa1641028"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"3db3e844a34639e647fcdd492ee7f36c402989a2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"b28cdbc8_b216a6f8","updated":"2022-07-15 11:51:22.000000000","message":"Thanks","commit_id":"a5ddebf07045ca35fb715d6a2f701c3f81b31f5d"}],"neutron/tests/unit/services/externaldns/drivers/designate/test_driver.py":[{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"ad24d2013cf701081ecb7025999be6e275a352bb","unresolved":true,"context_lines":[{"line_number":17,"context_line":"from oslo_config import cfg"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from neutron.tests import base"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from neutron.services.externaldns.drivers.designate import driver"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"88548d09_36d1d193","line":20,"updated":"2022-07-06 07:15:32.000000000","message":"nit: no need for blank line","commit_id":"d031bb506b12c5e9b29185243017c9d81abb39ec"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"7ab6ab0a51216ef2f557b0980d3148669a7b20ca","unresolved":false,"context_lines":[{"line_number":17,"context_line":"from oslo_config import cfg"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from neutron.tests import base"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from neutron.services.externaldns.drivers.designate import driver"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"b9caa9c8_c7805e48","line":20,"in_reply_to":"88548d09_36d1d193","updated":"2022-07-07 16:58:13.000000000","message":"Done","commit_id":"d031bb506b12c5e9b29185243017c9d81abb39ec"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"ad24d2013cf701081ecb7025999be6e275a352bb","unresolved":true,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    @mock.patch.object(driver, \u0027get_clients\u0027)"},{"line_number":56,"context_line":"    def test_create_record_set_with_reverse_dns(self, mock_get_clients):"},{"line_number":57,"context_line":"        mock_designate \u003d mock.Mock()"},{"line_number":58,"context_line":"        mock_designate_admin \u003d mock.Mock()"},{"line_number":59,"context_line":"        mock_get_clients.return_value \u003d ("},{"line_number":60,"context_line":"            mock_designate, mock_designate_admin"},{"line_number":61,"context_line":"        )"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"        self.driver.create_record_set("},{"line_number":64,"context_line":"            self.context, \u0027example.test.\u0027, \u0027test\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"034c15c4_d9b6a185","line":61,"range":{"start_line":57,"start_character":8,"end_line":61,"end_character":9},"updated":"2022-07-06 07:15:32.000000000","message":"this could be done once for all tests in setUp()","commit_id":"d031bb506b12c5e9b29185243017c9d81abb39ec"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"769b9531f98bd28980207e79147e317bb1ab3aba","unresolved":true,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    @mock.patch.object(driver, \u0027get_clients\u0027)"},{"line_number":56,"context_line":"    def test_create_record_set_with_reverse_dns(self, mock_get_clients):"},{"line_number":57,"context_line":"        mock_designate \u003d mock.Mock()"},{"line_number":58,"context_line":"        mock_designate_admin \u003d mock.Mock()"},{"line_number":59,"context_line":"        mock_get_clients.return_value \u003d ("},{"line_number":60,"context_line":"            mock_designate, mock_designate_admin"},{"line_number":61,"context_line":"        )"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"        self.driver.create_record_set("},{"line_number":64,"context_line":"            self.context, \u0027example.test.\u0027, \u0027test\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"11bc3987_1bca7818","line":61,"range":{"start_line":57,"start_character":8,"end_line":61,"end_character":9},"in_reply_to":"034c15c4_d9b6a185","updated":"2022-07-06 17:07:53.000000000","message":"The problem is that get_clients isn\u0027t part of the class. I can move two of the lines up, but not sure how I would mock get_clients without modifying the code.","commit_id":"d031bb506b12c5e9b29185243017c9d81abb39ec"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"cb75a02657acb63936446bcea22c68954caf95f0","unresolved":true,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    @mock.patch.object(driver, \u0027get_clients\u0027)"},{"line_number":56,"context_line":"    def test_create_record_set_with_reverse_dns(self, mock_get_clients):"},{"line_number":57,"context_line":"        mock_designate \u003d mock.Mock()"},{"line_number":58,"context_line":"        mock_designate_admin \u003d mock.Mock()"},{"line_number":59,"context_line":"        mock_get_clients.return_value \u003d ("},{"line_number":60,"context_line":"            mock_designate, mock_designate_admin"},{"line_number":61,"context_line":"        )"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"        self.driver.create_record_set("},{"line_number":64,"context_line":"            self.context, \u0027example.test.\u0027, \u0027test\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"b60754aa_21d63aab","line":61,"range":{"start_line":57,"start_character":8,"end_line":61,"end_character":9},"in_reply_to":"11bc3987_1bca7818","updated":"2022-07-07 06:43:58.000000000","message":"I think following should work:\n\nin SetUp() add: \n  mock.patch.object(driver, \u0027get_clients\u0027, return_value\u003d(self.client, self.admin_client)).start()","commit_id":"d031bb506b12c5e9b29185243017c9d81abb39ec"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"7c81b841cd526888fa8f3812d5a149ef86fe5c99","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    @mock.patch.object(driver, \u0027get_clients\u0027)"},{"line_number":56,"context_line":"    def test_create_record_set_with_reverse_dns(self, mock_get_clients):"},{"line_number":57,"context_line":"        mock_designate \u003d mock.Mock()"},{"line_number":58,"context_line":"        mock_designate_admin \u003d mock.Mock()"},{"line_number":59,"context_line":"        mock_get_clients.return_value \u003d ("},{"line_number":60,"context_line":"            mock_designate, mock_designate_admin"},{"line_number":61,"context_line":"        )"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"        self.driver.create_record_set("},{"line_number":64,"context_line":"            self.context, \u0027example.test.\u0027, \u0027test\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"ae83927f_a7d8c7d2","line":61,"range":{"start_line":57,"start_character":8,"end_line":61,"end_character":9},"in_reply_to":"57f95efb_ba6073f3","updated":"2022-07-07 16:57:52.000000000","message":"That worked thanks! I tried that earlier, but was missing the start() portion.","commit_id":"d031bb506b12c5e9b29185243017c9d81abb39ec"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"366dca49ddbd8642a6aaa70d7f359b5a365e1690","unresolved":true,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    @mock.patch.object(driver, \u0027get_clients\u0027)"},{"line_number":56,"context_line":"    def test_create_record_set_with_reverse_dns(self, mock_get_clients):"},{"line_number":57,"context_line":"        mock_designate \u003d mock.Mock()"},{"line_number":58,"context_line":"        mock_designate_admin \u003d mock.Mock()"},{"line_number":59,"context_line":"        mock_get_clients.return_value \u003d ("},{"line_number":60,"context_line":"            mock_designate, mock_designate_admin"},{"line_number":61,"context_line":"        )"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"        self.driver.create_record_set("},{"line_number":64,"context_line":"            self.context, \u0027example.test.\u0027, \u0027test\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"57f95efb_ba6073f3","line":61,"range":{"start_line":57,"start_character":8,"end_line":61,"end_character":9},"in_reply_to":"b60754aa_21d63aab","updated":"2022-07-07 16:42:30.000000000","message":"Will try it. Thanks.","commit_id":"d031bb506b12c5e9b29185243017c9d81abb39ec"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"f64a8e63780c4bbd64cae49f419cedb7b39ec008","unresolved":true,"context_lines":[{"line_number":9,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":10,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":11,"context_line":"#    under the License."},{"line_number":12,"context_line":"from unittest import mock"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"from designateclient import exceptions as d_exc"},{"line_number":15,"context_line":"from neutron_lib.exceptions import dns as dns_exc"}],"source_content_type":"text/x-python","patch_set":5,"id":"ee282392_1399bac6","line":12,"updated":"2022-07-07 21:41:50.000000000","message":"nit: an empty line between license and first import would look better","commit_id":"4d813ecc74b512c336d3198bd5b9cfbaa1641028"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"280fbbc5af108c34c247714bfde78fbebb658e08","unresolved":false,"context_lines":[{"line_number":9,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":10,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":11,"context_line":"#    under the License."},{"line_number":12,"context_line":"from unittest import mock"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"from designateclient import exceptions as d_exc"},{"line_number":15,"context_line":"from neutron_lib.exceptions import dns as dns_exc"}],"source_content_type":"text/x-python","patch_set":5,"id":"298cd3c4_280c5b46","line":12,"in_reply_to":"ee282392_1399bac6","updated":"2022-07-08 00:49:00.000000000","message":"Done","commit_id":"4d813ecc74b512c336d3198bd5b9cfbaa1641028"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"f64a8e63780c4bbd64cae49f419cedb7b39ec008","unresolved":true,"context_lines":[{"line_number":79,"context_line":"            ]"},{"line_number":80,"context_line":"        )"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    def test_create_record_set_with_zone_conflict(self):"},{"line_number":83,"context_line":"        self.admin_client.recordsets.create.side_effect \u003d ["},{"line_number":84,"context_line":"            d_exc.NotFound, None,"},{"line_number":85,"context_line":"        ]"}],"source_content_type":"text/x-python","patch_set":5,"id":"f1d264f3_2bb1eff7","line":82,"range":{"start_line":82,"start_character":36,"end_line":82,"end_character":40},"updated":"2022-07-07 21:41:50.000000000","message":"Maybe make this \"reverse_zone\", took me a while to figure out the difference to the other tests with zone_not_found below.","commit_id":"4d813ecc74b512c336d3198bd5b9cfbaa1641028"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"280fbbc5af108c34c247714bfde78fbebb658e08","unresolved":false,"context_lines":[{"line_number":79,"context_line":"            ]"},{"line_number":80,"context_line":"        )"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    def test_create_record_set_with_zone_conflict(self):"},{"line_number":83,"context_line":"        self.admin_client.recordsets.create.side_effect \u003d ["},{"line_number":84,"context_line":"            d_exc.NotFound, None,"},{"line_number":85,"context_line":"        ]"}],"source_content_type":"text/x-python","patch_set":5,"id":"b29ecb4c_4aee2004","line":82,"range":{"start_line":82,"start_character":36,"end_line":82,"end_character":40},"in_reply_to":"f1d264f3_2bb1eff7","updated":"2022-07-08 00:49:00.000000000","message":"Done","commit_id":"4d813ecc74b512c336d3198bd5b9cfbaa1641028"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"f64a8e63780c4bbd64cae49f419cedb7b39ec008","unresolved":true,"context_lines":[{"line_number":200,"context_line":"            ]"},{"line_number":201,"context_line":"        )"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"    def test_raise_when_creating_but_zone_not_found(self):"},{"line_number":204,"context_line":"        self.client.recordsets.create.side_effect \u003d d_exc.NotFound"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"        self.assertRaisesRegex("}],"source_content_type":"text/x-python","patch_set":5,"id":"d2b58ff0_775d3577","line":203,"updated":"2022-07-07 21:41:50.000000000","message":"I\u0027m not sure whether the expected result should be part of the test name, I\u0027d prefer something like test_create_record_set_zone_not_found to stay consistent with the other test names. Similarly for all the tests that follow.","commit_id":"4d813ecc74b512c336d3198bd5b9cfbaa1641028"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"280fbbc5af108c34c247714bfde78fbebb658e08","unresolved":false,"context_lines":[{"line_number":200,"context_line":"            ]"},{"line_number":201,"context_line":"        )"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"    def test_raise_when_creating_but_zone_not_found(self):"},{"line_number":204,"context_line":"        self.client.recordsets.create.side_effect \u003d d_exc.NotFound"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"        self.assertRaisesRegex("}],"source_content_type":"text/x-python","patch_set":5,"id":"113d9899_6efc05d4","line":203,"in_reply_to":"d2b58ff0_775d3577","updated":"2022-07-08 00:49:00.000000000","message":"Done","commit_id":"4d813ecc74b512c336d3198bd5b9cfbaa1641028"}]}
