)]}'
{"neutron/tests/unit/objects/test_base.py":[{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"1404f36caab40f1c601aceeb0a98274fd3e1d2af","unresolved":false,"context_lines":[{"line_number":479,"context_line":"        valid_field \u003d [f for f in self._test_class.fields"},{"line_number":480,"context_line":"                       if f not in self._test_class.synthetic_fields][0]"},{"line_number":481,"context_line":"        self.valid_field_filter \u003d {valid_field:"},{"line_number":482,"context_line":"                                   self.obj_fields[-1][valid_field]}"},{"line_number":483,"context_line":"        self.obj_registry \u003d self.useFixture("},{"line_number":484,"context_line":"            fixture.VersionedObjectRegistryFixture())"},{"line_number":485,"context_line":"        self.obj_registry.register(FakeSmallNeutronObject)"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a74a57a_65250d5b","line":482,"range":{"start_line":482,"start_character":51,"end_line":482,"end_character":53},"updated":"2016-11-30 11:16:35.000000000","message":"Why was this needed?","commit_id":"e9691d6549166fe981d9f95cadbe813715936413"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"4e2889b33c443a56fe8521f8769e1d6f308bcaa3","unresolved":false,"context_lines":[{"line_number":479,"context_line":"        valid_field \u003d [f for f in self._test_class.fields"},{"line_number":480,"context_line":"                       if f not in self._test_class.synthetic_fields][0]"},{"line_number":481,"context_line":"        self.valid_field_filter \u003d {valid_field:"},{"line_number":482,"context_line":"                                   self.obj_fields[-1][valid_field]}"},{"line_number":483,"context_line":"        self.obj_registry \u003d self.useFixture("},{"line_number":484,"context_line":"            fixture.VersionedObjectRegistryFixture())"},{"line_number":485,"context_line":"        self.obj_registry.register(FakeSmallNeutronObject)"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a74a57a_566289ae","line":482,"range":{"start_line":482,"start_character":51,"end_line":482,"end_character":53},"in_reply_to":"5a74a57a_65250d5b","updated":"2016-11-30 12:11:26.000000000","message":"that\u0027s because update_obj_fields may override valid_field_filter to include a value of the last element in the list, instead of the first one.","commit_id":"e9691d6549166fe981d9f95cadbe813715936413"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"1404f36caab40f1c601aceeb0a98274fd3e1d2af","unresolved":false,"context_lines":[{"line_number":502,"context_line":"                fields[field] \u003d get_value(generator, ip_version)"},{"line_number":503,"context_line":"        return obj_cls.modify_fields_to_db(fields)"},{"line_number":504,"context_line":""},{"line_number":505,"context_line":"    def update_obj_fields(self, values_dict):"},{"line_number":506,"context_line":"        for k, v in values_dict.items():"},{"line_number":507,"context_line":"            for db_obj, fields, obj in zip("},{"line_number":508,"context_line":"                    self.db_objs, self.obj_fields, self.objs):"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a74a57a_459f31b4","line":505,"range":{"start_line":505,"start_character":8,"end_line":505,"end_character":25},"updated":"2016-11-30 11:16:35.000000000","message":"Suggestion: I think a docstring for this method would help future developers to understand purpose of this function and how should valuse_dict look like.","commit_id":"e9691d6549166fe981d9f95cadbe813715936413"},{"author":{"_account_id":15518,"name":"Artur Korzeniewski","email":"artur.korzen@wp.pl","username":"akorzeni"},"change_message_id":"46708cc2e3b1d886990fd9f601fe246ee5d7c95f","unresolved":false,"context_lines":[{"line_number":502,"context_line":"                fields[field] \u003d get_value(generator, ip_version)"},{"line_number":503,"context_line":"        return obj_cls.modify_fields_to_db(fields)"},{"line_number":504,"context_line":""},{"line_number":505,"context_line":"    def update_obj_fields(self, values_dict):"},{"line_number":506,"context_line":"        for k, v in values_dict.items():"},{"line_number":507,"context_line":"            for db_obj, fields, obj in zip("},{"line_number":508,"context_line":"                    self.db_objs, self.obj_fields, self.objs):"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a74a57a_7bb4ced0","line":505,"range":{"start_line":505,"start_character":8,"end_line":505,"end_character":25},"in_reply_to":"5a74a57a_459f31b4","updated":"2016-11-30 11:34:06.000000000","message":"Yes, I agree with Jakub here, some docstring would be helpful for future development of UT.","commit_id":"e9691d6549166fe981d9f95cadbe813715936413"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"4e2889b33c443a56fe8521f8769e1d6f308bcaa3","unresolved":false,"context_lines":[{"line_number":502,"context_line":"                fields[field] \u003d get_value(generator, ip_version)"},{"line_number":503,"context_line":"        return obj_cls.modify_fields_to_db(fields)"},{"line_number":504,"context_line":""},{"line_number":505,"context_line":"    def update_obj_fields(self, values_dict):"},{"line_number":506,"context_line":"        for k, v in values_dict.items():"},{"line_number":507,"context_line":"            for db_obj, fields, obj in zip("},{"line_number":508,"context_line":"                    self.db_objs, self.obj_fields, self.objs):"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a74a57a_d66e9995","line":505,"range":{"start_line":505,"start_character":8,"end_line":505,"end_character":25},"in_reply_to":"5a74a57a_7bb4ced0","updated":"2016-11-30 12:11:26.000000000","message":"Done","commit_id":"e9691d6549166fe981d9f95cadbe813715936413"}],"neutron/tests/unit/objects/test_ports.py":[{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"1404f36caab40f1c601aceeb0a98274fd3e1d2af","unresolved":false,"context_lines":[{"line_number":225,"context_line":"        self._create_test_network()"},{"line_number":226,"context_line":"        self._create_test_subnet(self._network)"},{"line_number":227,"context_line":"        self.update_obj_fields({\u0027network_id\u0027: self._network.id})"},{"line_number":228,"context_line":"        for obj in self.db_objs:"},{"line_number":229,"context_line":"            for ipalloc in obj[\u0027fixed_ips\u0027]:"},{"line_number":230,"context_line":"                ipalloc[\u0027subnet_id\u0027] \u003d self._subnet.id"},{"line_number":231,"context_line":"                ipalloc[\u0027network_id\u0027] \u003d self._network[\u0027id\u0027]"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"    def test_security_group_ids(self):"},{"line_number":234,"context_line":"        sg1 \u003d self._create_test_security_group()"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a74a57a_45bad1c1","line":231,"range":{"start_line":228,"start_character":0,"end_line":231,"end_character":59},"updated":"2016-11-30 11:16:35.000000000","message":"The update_obj_fileds introduce a mechanism that all three data structures (obj, db_obj and fields) are now in consistent state - all carry the same data. This part of the code breaks the consistency.\n\nHow about creating a method that updates also the ipalloc in all places and removing this block of code?","commit_id":"e9691d6549166fe981d9f95cadbe813715936413"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"4e2889b33c443a56fe8521f8769e1d6f308bcaa3","unresolved":false,"context_lines":[{"line_number":225,"context_line":"        self._create_test_network()"},{"line_number":226,"context_line":"        self._create_test_subnet(self._network)"},{"line_number":227,"context_line":"        self.update_obj_fields({\u0027network_id\u0027: self._network.id})"},{"line_number":228,"context_line":"        for obj in self.db_objs:"},{"line_number":229,"context_line":"            for ipalloc in obj[\u0027fixed_ips\u0027]:"},{"line_number":230,"context_line":"                ipalloc[\u0027subnet_id\u0027] \u003d self._subnet.id"},{"line_number":231,"context_line":"                ipalloc[\u0027network_id\u0027] \u003d self._network[\u0027id\u0027]"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"    def test_security_group_ids(self):"},{"line_number":234,"context_line":"        sg1 \u003d self._create_test_security_group()"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a74a57a_f1755f32","line":231,"range":{"start_line":228,"start_character":0,"end_line":231,"end_character":59},"in_reply_to":"5a74a57a_45bad1c1","updated":"2016-11-30 12:11:26.000000000","message":"I extended the base method to handle the passed dict recursively. Tell me what you think.","commit_id":"e9691d6549166fe981d9f95cadbe813715936413"}]}
