)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"f8da9a7a2bf2d37feef2a8331f71483b706c4ed7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"2590f031_fc61f06b","updated":"2024-04-02 16:22:18.000000000","message":"Suggestion for the unittests, otherwise LGTM","commit_id":"35a5168a108dcc0f5f4370f12be6e372b9df0200"},{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"e07e9e44c374b6a54a1e04f7449b728b126fb59d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"152088d7_326a5adc","updated":"2024-04-01 07:44:19.000000000","message":"thx! LGTM!","commit_id":"35a5168a108dcc0f5f4370f12be6e372b9df0200"},{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"593f01aec3a2e58fbc4afd65c823da3bce7017e8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"6c0f6a66_deaa9e68","updated":"2024-04-04 07:05:25.000000000","message":"recheck functional unrelated","commit_id":"8d206dd63d7bbf9ed23c8368f4692c59c0fdab99"}],"ovsdbapp/schema/ovn_northbound/commands.py":[{"author":{"_account_id":5756,"name":"Terry Wilson","email":"twilson@redhat.com","username":"otherwiseguy"},"change_message_id":"0cd3c52e7ca7b8381c83f10c999a74dfa487ee77","unresolved":false,"context_lines":[{"line_number":1670,"context_line":"            raise RuntimeError(msg)"},{"line_number":1671,"context_line":""},{"line_number":1672,"context_line":""},{"line_number":1673,"context_line":"class LbIpPortMappingCommand(cmd.BaseCommand):"},{"line_number":1674,"context_line":"    @staticmethod"},{"line_number":1675,"context_line":"    def normalize_ip(ip_str):"},{"line_number":1676,"context_line":"        ip \u003d netaddr.IPAddress(ip_str)"}],"source_content_type":"text/x-python","patch_set":1,"id":"e9de591b_1020b59c","line":1673,"updated":"2024-03-27 15:26:10.000000000","message":"For reference, I did this here instead of in the general `utils.py` because it is a weird case where you are bracketing an IPv6 address even when there is no port number (in this case it is a port name). So it doesn\u0027t seem like something that is likely to be needed outside of this case.","commit_id":"35a5168a108dcc0f5f4370f12be6e372b9df0200"}],"ovsdbapp/tests/functional/schema/ovn_northbound/test_impl_idl.py":[{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"f8da9a7a2bf2d37feef2a8331f71483b706c4ed7","unresolved":true,"context_lines":[{"line_number":1948,"context_line":""},{"line_number":1949,"context_line":"    def test_lb_add_del_ip_port_mapping_uuid(self):"},{"line_number":1950,"context_line":"        self._test_lb_add_del_ip_port_mapping(\u0027uuid\u0027)"},{"line_number":1951,"context_line":"        self._test_lb_add_del_ip_port_mapping_v6(\u0027uuid\u0027)"},{"line_number":1952,"context_line":""},{"line_number":1953,"context_line":"    def test_lb_add_del_ip_port_mapping_name(self):"},{"line_number":1954,"context_line":"        self._test_lb_add_del_ip_port_mapping(\u0027name\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"8dce0192_2b560037","line":1951,"updated":"2024-04-02 16:22:18.000000000","message":"I recommend creating an extra test for v6 just because if the IPv4 test fails we won\u0027t get the result for v6.\n\nAlso it seems it\u0027s mostly copy\u0026paste from the v4 test so perhaps it can use parameters like\n```\ndef __test_lb_add_del_ip_port_mapping(self, name, input, expected):\n    endpoint_ip, source_ip \u003d input\n    expected_endpoint_ip, expected_source_ip \u003d expected\n    ...\n    \ndef test_lb_add_del_ip_port_mapping_uuid(self):\n    input \u003d (\u0027172.31.0.4\u0027, \u0027172.31.0.6\u0027)\n    expected \u003d input\n    self.__test_lb_add_del_ip_port_mapping(\u0027uuid\u0027, input, expected)\n\ndef test_lb_add_del_ip_port_mapping_uuid_v6(self):\n    input \u003d (\u00272001:db8::1\u0027, \u00272001:db8::2\u0027)\n    expected \u003d (f\"[endpoint_ip]\", f\"[source_ip]\")\n    self.__test_lb_add_del_ip_port_mapping(\u0027uuid\u0027, input, expected)\n    \ndef test_lb_add_del_ip_port_mapping_name(self):\n    input \u003d (\u0027172.31.0.4\u0027, \u0027172.31.0.6\u0027)\n    expected \u003d input\n    self.__test_lb_add_del_ip_port_mapping(\u0027name\u0027, input, expected)\n\ndef test_lb_add_del_ip_port_mapping_name_v6(self):\n    input \u003d (\u00272001:db8::1\u0027, \u00272001:db8::2\u0027)\n    expected \u003d (f\"[endpoint_ip]\", f\"[source_ip]\")\n    self.__test_lb_add_del_ip_port_mapping(\u0027name\u0027, input, expected)\n```","commit_id":"35a5168a108dcc0f5f4370f12be6e372b9df0200"},{"author":{"_account_id":5756,"name":"Terry Wilson","email":"twilson@redhat.com","username":"otherwiseguy"},"change_message_id":"0c11283b0624493aedb11a5eb07f469c2326d74f","unresolved":false,"context_lines":[{"line_number":1948,"context_line":""},{"line_number":1949,"context_line":"    def test_lb_add_del_ip_port_mapping_uuid(self):"},{"line_number":1950,"context_line":"        self._test_lb_add_del_ip_port_mapping(\u0027uuid\u0027)"},{"line_number":1951,"context_line":"        self._test_lb_add_del_ip_port_mapping_v6(\u0027uuid\u0027)"},{"line_number":1952,"context_line":""},{"line_number":1953,"context_line":"    def test_lb_add_del_ip_port_mapping_name(self):"},{"line_number":1954,"context_line":"        self._test_lb_add_del_ip_port_mapping(\u0027name\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"bb1944ef_d58eb864","line":1951,"in_reply_to":"8dce0192_2b560037","updated":"2024-04-03 16:50:44.000000000","message":"Done","commit_id":"35a5168a108dcc0f5f4370f12be6e372b9df0200"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"09642708e3d4ae0ec3c42294a2ca0d9c32edfbc7","unresolved":true,"context_lines":[{"line_number":1931,"context_line":"        self._test_lb_add_del_ip_port_mapping(\u0027uuid\u0027, input, input)"},{"line_number":1932,"context_line":""},{"line_number":1933,"context_line":"    def test_lb_add_del_ip_port_mapping_uuid_v6(self):"},{"line_number":1934,"context_line":"        input \u003d (\u00272001:db8::1\u0027, \u00272001:db8::2\u0027)"},{"line_number":1935,"context_line":"        expected \u003d (f\"[{input[0]}]\", f\"[{input[1]}]\")"},{"line_number":1936,"context_line":"        self._test_lb_add_del_ip_port_mapping(\u0027uuid\u0027, input, expected)"},{"line_number":1937,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"40a1ef02_3669232d","line":1934,"range":{"start_line":1934,"start_character":8,"end_line":1934,"end_character":13},"updated":"2024-04-03 12:18:37.000000000","message":"It is my bad - `input` is a built-in function so maybe we want to avoid shadowing and use `input_` instead.","commit_id":"8d206dd63d7bbf9ed23c8368f4692c59c0fdab99"},{"author":{"_account_id":5756,"name":"Terry Wilson","email":"twilson@redhat.com","username":"otherwiseguy"},"change_message_id":"63775a4dddabd5c7c6af07aaaec7a7b45248135a","unresolved":false,"context_lines":[{"line_number":1931,"context_line":"        self._test_lb_add_del_ip_port_mapping(\u0027uuid\u0027, input, input)"},{"line_number":1932,"context_line":""},{"line_number":1933,"context_line":"    def test_lb_add_del_ip_port_mapping_uuid_v6(self):"},{"line_number":1934,"context_line":"        input \u003d (\u00272001:db8::1\u0027, \u00272001:db8::2\u0027)"},{"line_number":1935,"context_line":"        expected \u003d (f\"[{input[0]}]\", f\"[{input[1]}]\")"},{"line_number":1936,"context_line":"        self._test_lb_add_del_ip_port_mapping(\u0027uuid\u0027, input, expected)"},{"line_number":1937,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"6094910d_e54c082c","line":1934,"range":{"start_line":1934,"start_character":8,"end_line":1934,"end_character":13},"in_reply_to":"40a1ef02_3669232d","updated":"2024-04-03 13:08:41.000000000","message":"We could (and I considered it when looking at your patch patch), but since there is zero chance of us calling input() anywhere in ovsdbapp, let alone in these test functions, I think we can let this shadowing slide. ;)","commit_id":"8d206dd63d7bbf9ed23c8368f4692c59c0fdab99"}]}
