)]}'
{"quantum/api/v2/attributes.py":[{"author":{"_account_id":2967,"name":"ljjjustin","email":"iamljj@gmail.com","username":"ljjjustin"},"change_message_id":"ab570e1313dbe378b2041812c87a0f197568cf23","unresolved":false,"context_lines":[{"line_number":92,"context_line":"def _validate_subnet(data, valid_values\u003dNone):"},{"line_number":93,"context_line":"    try:"},{"line_number":94,"context_line":"        netaddr.IPNetwork(data)"},{"line_number":95,"context_line":"        if len(data.split(\u0027/\u0027)) \u003d\u003d 2:"},{"line_number":96,"context_line":"            return"},{"line_number":97,"context_line":"    except Exception:"},{"line_number":98,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAALH%2F%2FGqE%3D","line":95,"updated":"2012-10-19 01:04:57.000000000","message":"we should also check each part of data.split(\u0027/\u0027) is not None or cidr like \u002710.0.0.0/\u0027 can pass this check.","commit_id":"1addff37c075dfe9fe29530e6fe2b07a10bac024"},{"author":{"_account_id":2967,"name":"ljjjustin","email":"iamljj@gmail.com","username":"ljjjustin"},"change_message_id":"ab570e1313dbe378b2041812c87a0f197568cf23","unresolved":false,"context_lines":[{"line_number":92,"context_line":"def _validate_subnet(data, valid_values\u003dNone):"},{"line_number":93,"context_line":"    try:"},{"line_number":94,"context_line":"        netaddr.IPNetwork(data)"},{"line_number":95,"context_line":"        if len(data.split(\u0027/\u0027)) \u003d\u003d 2:"},{"line_number":96,"context_line":"            return"},{"line_number":97,"context_line":"    except Exception:"},{"line_number":98,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAALH%2F%2FGp4%3D","line":95,"in_reply_to":"AAAALH%2F%2FGqE%3D","updated":"2012-10-19 01:14:06.000000000","message":"Sorry for wrong comment, I igored the netaddr.IPNetwork(data).\nPlease just ignore this comment.","commit_id":"1addff37c075dfe9fe29530e6fe2b07a10bac024"},{"author":{"_account_id":1994,"name":"Zhongyue Luo","email":"zhongyue.luo@gmail.com","username":"zyluo"},"unresolved":false,"context_lines":[{"line_number":94,"context_line":"        netaddr.IPNetwork(data)"},{"line_number":95,"context_line":"        if len(data.split(\u0027/\u0027)) \u003d\u003d 2:"},{"line_number":96,"context_line":"            return"},{"line_number":97,"context_line":"    except Exception:"},{"line_number":98,"context_line":"        pass"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    msg \u003d _(\"%s is not a valid IP subnet\") % data"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAALH%2F%2FGoQ%3D","line":97,"updated":"2012-10-19 03:04:06.000000000","message":"Shouldn\u0027t the msg return under here to make the code compatible with other validation methods?","commit_id":"1addff37c075dfe9fe29530e6fe2b07a10bac024"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"unresolved":false,"context_lines":[{"line_number":94,"context_line":"        netaddr.IPNetwork(data)"},{"line_number":95,"context_line":"        if len(data.split(\u0027/\u0027)) \u003d\u003d 2:"},{"line_number":96,"context_line":"            return"},{"line_number":97,"context_line":"    except Exception:"},{"line_number":98,"context_line":"        pass"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    msg \u003d _(\"%s is not a valid IP subnet\") % data"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAALH%2F%2FGnc%3D","line":97,"in_reply_to":"AAAALH%2F%2FGoQ%3D","updated":"2012-10-19 04:38:51.000000000","message":"Pass is correct here.  The function only has 1 path for valid data and 2 for failure. Having a single default makes sense.","commit_id":"1addff37c075dfe9fe29530e6fe2b07a10bac024"}],"quantum/tests/unit/test_db_plugin.py":[{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"a1704f6c00c4891335c3940c40cb1fb1b5fa3e4d","unresolved":false,"context_lines":[{"line_number":1771,"context_line":"                        pass"},{"line_number":1772,"context_line":"                self.assertEquals(ctx_manager.exception.code, 400)"},{"line_number":1773,"context_line":""},{"line_number":1774,"context_line":"    def test_create_subnet_bad_V4_cidr(self):"},{"line_number":1775,"context_line":"        with self.network() as network:"},{"line_number":1776,"context_line":"            data \u003d {\u0027subnet\u0027: {\u0027network_id\u0027: network[\u0027network\u0027][\u0027id\u0027],"},{"line_number":1777,"context_line":"                    \u0027cidr\u0027: \u002710.0.2.0\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAALH%2F%2FGbk%3D","line":1774,"updated":"2012-10-19 16:05:37.000000000","message":"I notice we have /quantum/quantum/tests/unit/test_attributes.py for test attributes. Should we add attributes test to it? This is for test db plugin, although it works at here.","commit_id":"1addff37c075dfe9fe29530e6fe2b07a10bac024"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"unresolved":false,"context_lines":[{"line_number":1771,"context_line":"                        pass"},{"line_number":1772,"context_line":"                self.assertEquals(ctx_manager.exception.code, 400)"},{"line_number":1773,"context_line":""},{"line_number":1774,"context_line":"    def test_create_subnet_bad_V4_cidr(self):"},{"line_number":1775,"context_line":"        with self.network() as network:"},{"line_number":1776,"context_line":"            data \u003d {\u0027subnet\u0027: {\u0027network_id\u0027: network[\u0027network\u0027][\u0027id\u0027],"},{"line_number":1777,"context_line":"                    \u0027cidr\u0027: \u002710.0.2.0\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAALn%2F%2F%2FEM%3D","line":1774,"updated":"2012-10-23 10:38:16.000000000","message":"I think that this is ok. It is good to check that we are returning the 400 message.","commit_id":"47f05facefb02cdd604bb8e0ebd7d00fc739cdd1"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"a1704f6c00c4891335c3940c40cb1fb1b5fa3e4d","unresolved":false,"context_lines":[{"line_number":1771,"context_line":"                        pass"},{"line_number":1772,"context_line":"                self.assertEquals(ctx_manager.exception.code, 400)"},{"line_number":1773,"context_line":""},{"line_number":1774,"context_line":"    def test_create_subnet_bad_V4_cidr(self):"},{"line_number":1775,"context_line":"        with self.network() as network:"},{"line_number":1776,"context_line":"            data \u003d {\u0027subnet\u0027: {\u0027network_id\u0027: network[\u0027network\u0027][\u0027id\u0027],"},{"line_number":1777,"context_line":"                    \u0027cidr\u0027: \u002710.0.2.0\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAALH%2F%2FGGQ%3D","line":1774,"updated":"2012-10-21 14:24:47.000000000","message":"This duplicated with test-case in test_attributes.py.","commit_id":"47f05facefb02cdd604bb8e0ebd7d00fc739cdd1"}]}
