)]}'
{"designate/central/service.py":[{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"1ac06519a43a747a47393e3b8afbf2a78376acc7","unresolved":false,"context_lines":[{"line_number":94,"context_line":""},{"line_number":95,"context_line":"    @property"},{"line_number":96,"context_line":"    def mdns_api(self):"},{"line_number":97,"context_line":"        return central.get_mdns_api()"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    def _is_valid_domain_name(self, context, domain_name):"},{"line_number":100,"context_line":"        # Validate domain name length"}],"source_content_type":"text/x-python","patch_set":5,"id":"1ae5cdf2_f7cbc5a1","line":97,"updated":"2014-06-25 21:21:53.000000000","message":"This will fetch a new instance of the API every time the mdns_api property is accessed. We should probably just create a single instance of the mdns API in the constructor?","commit_id":"67cc68e903dbfca16d6d35cd4f2e89795c61f519"},{"author":{"_account_id":8094,"name":"Vinod Mangalpally","email":"mrvinod@outlook.com","username":"vinodmr"},"change_message_id":"e3986eaad7531fb803b09ffb3c3d82d0cbc90d99","unresolved":false,"context_lines":[{"line_number":94,"context_line":""},{"line_number":95,"context_line":"    @property"},{"line_number":96,"context_line":"    def mdns_api(self):"},{"line_number":97,"context_line":"        return central.get_mdns_api()"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    def _is_valid_domain_name(self, context, domain_name):"},{"line_number":100,"context_line":"        # Validate domain name length"}],"source_content_type":"text/x-python","patch_set":5,"id":"1ae5cdf2_bc9ae66c","line":97,"updated":"2014-06-26 13:40:38.000000000","message":"We have the same mechanism for getting central_api() in controllers/rest.py and api/__init__.py.","commit_id":"67cc68e903dbfca16d6d35cd4f2e89795c61f519"},{"author":{"_account_id":8099,"name":"Graham Hayes","email":"gr@ham.ie","username":"graham"},"change_message_id":"a097b1f86f163d15475ea11082b69f69ce209168","unresolved":false,"context_lines":[{"line_number":94,"context_line":""},{"line_number":95,"context_line":"    @property"},{"line_number":96,"context_line":"    def mdns_api(self):"},{"line_number":97,"context_line":"        return central.get_mdns_api()"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    def _is_valid_domain_name(self, context, domain_name):"},{"line_number":100,"context_line":"        # Validate domain name length"}],"source_content_type":"text/x-python","patch_set":5,"id":"1ae5cdf2_72640ce5","line":97,"updated":"2014-06-26 12:03:00.000000000","message":"Will line designate/central/__init__py:L56-59 not store the instance, and return the previously created on, if it exists?","commit_id":"67cc68e903dbfca16d6d35cd4f2e89795c61f519"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"bbc54b2c92554db57ff4a8e034facf6498771b97","unresolved":false,"context_lines":[{"line_number":94,"context_line":""},{"line_number":95,"context_line":"    @property"},{"line_number":96,"context_line":"    def mdns_api(self):"},{"line_number":97,"context_line":"        return central.get_mdns_api()"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    def _is_valid_domain_name(self, context, domain_name):"},{"line_number":100,"context_line":"        # Validate domain name length"}],"source_content_type":"text/x-python","patch_set":5,"id":"1ae5cdf2_5ce9e27d","line":97,"in_reply_to":"1ae5cdf2_bc9ae66c","updated":"2014-06-26 14:07:54.000000000","message":"Aha - I missed the central/__init__.py change :) Ignore me!","commit_id":"67cc68e903dbfca16d6d35cd4f2e89795c61f519"}],"designate/mdns/handler.py":[{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"1ac06519a43a747a47393e3b8afbf2a78376acc7","unresolved":false,"context_lines":[{"line_number":34,"context_line":"        request \u003d dns.message.from_wire(payload)"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"        # As we move further with the implementation, we\u0027ll want to:"},{"line_number":37,"context_line":"        # 1) Decode the payload using DNSPython"},{"line_number":38,"context_line":"        # 2) Hand off to either _handle_query or _handle_unsupported"},{"line_number":39,"context_line":"        #    based on the OpCode"},{"line_number":40,"context_line":"        # 3) Gather the query results from storage"}],"source_content_type":"text/x-python","patch_set":5,"id":"1ae5cdf2_97d1a131","line":37,"updated":"2014-06-25 21:21:53.000000000","message":"Couldn\u0027t resist eh? ;)","commit_id":"67cc68e903dbfca16d6d35cd4f2e89795c61f519"}],"designate/mdns/notify.py":[{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"a378451b66a7b75de1bbfaa7e5a13efd6629cd68","unresolved":false,"context_lines":[{"line_number":25,"context_line":"CONF \u003d cfg.CONF"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"class NotifyEndPoint:"},{"line_number":29,"context_line":"    RPC_NOTIFY_API_VERSION \u003d \u00270.1\u0027"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    target \u003d messaging.Target(version\u003dRPC_NOTIFY_API_VERSION)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1ae5cdf2_c4094b2c","line":28,"updated":"2014-06-20 22:04:42.000000000","message":"Nit: Can we use \"new style\" classes (e.g. inherit from object) Also - the conventions into oslo.messaging are for Endpoint to be treated as a single word..\n\ne.g. class ServerControlEndpoint(object):","commit_id":"87572e1d9fc1b0083a2390ce05a92e1c0ccda602"},{"author":{"_account_id":8094,"name":"Vinod Mangalpally","email":"mrvinod@outlook.com","username":"vinodmr"},"change_message_id":"f7d3ab61be5b9b3a97923676e0056b5afb38bd8f","unresolved":false,"context_lines":[{"line_number":25,"context_line":"CONF \u003d cfg.CONF"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"class NotifyEndPoint:"},{"line_number":29,"context_line":"    RPC_NOTIFY_API_VERSION \u003d \u00270.1\u0027"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    target \u003d messaging.Target(version\u003dRPC_NOTIFY_API_VERSION)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1ae5cdf2_5a051078","line":28,"in_reply_to":"1ae5cdf2_c4094b2c","updated":"2014-06-21 02:09:26.000000000","message":"Done","commit_id":"87572e1d9fc1b0083a2390ce05a92e1c0ccda602"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"a378451b66a7b75de1bbfaa7e5a13efd6629cd68","unresolved":false,"context_lines":[{"line_number":28,"context_line":"class NotifyEndPoint:"},{"line_number":29,"context_line":"    RPC_NOTIFY_API_VERSION \u003d \u00270.1\u0027"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    target \u003d messaging.Target(version\u003dRPC_NOTIFY_API_VERSION)"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    def start(self):"},{"line_number":34,"context_line":"        # Parse the slave-nameserver-ips-and-ports."}],"source_content_type":"text/x-python","patch_set":2,"id":"1ae5cdf2_642dd745","line":31,"updated":"2014-06-20 22:04:42.000000000","message":"I believe for the multi-endpoint stuff to work once we add a second endpoint, we need to add a \"namespace\u003d\u0027notify\u0027\" argument in here.","commit_id":"87572e1d9fc1b0083a2390ce05a92e1c0ccda602"},{"author":{"_account_id":8094,"name":"Vinod Mangalpally","email":"mrvinod@outlook.com","username":"vinodmr"},"change_message_id":"f7d3ab61be5b9b3a97923676e0056b5afb38bd8f","unresolved":false,"context_lines":[{"line_number":28,"context_line":"class NotifyEndPoint:"},{"line_number":29,"context_line":"    RPC_NOTIFY_API_VERSION \u003d \u00270.1\u0027"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    target \u003d messaging.Target(version\u003dRPC_NOTIFY_API_VERSION)"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    def start(self):"},{"line_number":34,"context_line":"        # Parse the slave-nameserver-ips-and-ports."}],"source_content_type":"text/x-python","patch_set":2,"id":"1ae5cdf2_7a080c91","line":31,"in_reply_to":"1ae5cdf2_642dd745","updated":"2014-06-21 02:09:26.000000000","message":"Done","commit_id":"87572e1d9fc1b0083a2390ce05a92e1c0ccda602"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"a378451b66a7b75de1bbfaa7e5a13efd6629cd68","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    target \u003d messaging.Target(version\u003dRPC_NOTIFY_API_VERSION)"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    def start(self):"},{"line_number":34,"context_line":"        # Parse the slave-nameserver-ips-and-ports."},{"line_number":35,"context_line":"        self._slave_server_ips \u003d []"},{"line_number":36,"context_line":"        self._slave_server_ports \u003d []"}],"source_content_type":"text/x-python","patch_set":2,"id":"1ae5cdf2_e413a759","line":33,"updated":"2014-06-20 22:04:42.000000000","message":"I think this should probably be an __init__ method rather than start?","commit_id":"87572e1d9fc1b0083a2390ce05a92e1c0ccda602"},{"author":{"_account_id":8094,"name":"Vinod Mangalpally","email":"mrvinod@outlook.com","username":"vinodmr"},"change_message_id":"f7d3ab61be5b9b3a97923676e0056b5afb38bd8f","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    target \u003d messaging.Target(version\u003dRPC_NOTIFY_API_VERSION)"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    def start(self):"},{"line_number":34,"context_line":"        # Parse the slave-nameserver-ips-and-ports."},{"line_number":35,"context_line":"        self._slave_server_ips \u003d []"},{"line_number":36,"context_line":"        self._slave_server_ports \u003d []"}],"source_content_type":"text/x-python","patch_set":2,"id":"1ae5cdf2_155fdb0f","line":33,"in_reply_to":"1ae5cdf2_e413a759","updated":"2014-06-21 02:09:26.000000000","message":"Done","commit_id":"87572e1d9fc1b0083a2390ce05a92e1c0ccda602"}],"designate/mdns/rpcapi.py":[{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"a378451b66a7b75de1bbfaa7e5a13efd6629cd68","unresolved":false,"context_lines":[{"line_number":38,"context_line":"    def __init__(self, topic\u003dNone):"},{"line_number":39,"context_line":"        topic \u003d topic if topic else cfg.CONF.mdns_topic"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"        target \u003d messaging.Target(topic\u003dtopic, version\u003dself.RPC_API_VERSION)"},{"line_number":42,"context_line":"        self.client \u003d rpc.get_client(target, version_cap\u003d\u00270.1\u0027)"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    def notify_zone_changed(self, context, zone_name):"}],"source_content_type":"text/x-python","patch_set":2,"id":"1ae5cdf2_24ee6fed","line":41,"updated":"2014-06-20 22:04:42.000000000","message":"I think we need to add a namespace\u003d\u0027notify\u0027 in here, for the multi endpoint stuff to work right once we add a second endpoint.\n\nWhich I think means we should call this variable \"notify_target\", and supply the RPC_NOTIFY_API_VERSION to it.. I think. :)","commit_id":"87572e1d9fc1b0083a2390ce05a92e1c0ccda602"},{"author":{"_account_id":8094,"name":"Vinod Mangalpally","email":"mrvinod@outlook.com","username":"vinodmr"},"change_message_id":"f7d3ab61be5b9b3a97923676e0056b5afb38bd8f","unresolved":false,"context_lines":[{"line_number":38,"context_line":"    def __init__(self, topic\u003dNone):"},{"line_number":39,"context_line":"        topic \u003d topic if topic else cfg.CONF.mdns_topic"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"        target \u003d messaging.Target(topic\u003dtopic, version\u003dself.RPC_API_VERSION)"},{"line_number":42,"context_line":"        self.client \u003d rpc.get_client(target, version_cap\u003d\u00270.1\u0027)"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    def notify_zone_changed(self, context, zone_name):"}],"source_content_type":"text/x-python","patch_set":2,"id":"1ae5cdf2_9afb187a","line":41,"in_reply_to":"1ae5cdf2_24ee6fed","updated":"2014-06-21 02:09:26.000000000","message":"Done","commit_id":"87572e1d9fc1b0083a2390ce05a92e1c0ccda602"}],"designate/mdns/service.py":[{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"ab7581228601a608432b8c7c7c490c4c6df98899","unresolved":false,"context_lines":[{"line_number":97,"context_line":"        :param zone_name: The zone name for which some data changed."},{"line_number":98,"context_line":"        :return: None"},{"line_number":99,"context_line":"        \"\"\""},{"line_number":100,"context_line":"        self.tg.add_thread(self._notify, context, zone_name)"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    def _notify(self, context, zone_name):"},{"line_number":103,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_44e2b2a0","line":100,"updated":"2014-06-20 09:52:02.000000000","message":"I\u0027m not sure we\u0027ll need to to wrap _notify in a thread like this, as all the incoming RPC requests are automatically executed in a thread...","commit_id":"9c3657272eb92a85c9c4776054623fdba87b3c9f"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"ab7581228601a608432b8c7c7c490c4c6df98899","unresolved":false,"context_lines":[{"line_number":99,"context_line":"        \"\"\""},{"line_number":100,"context_line":"        self.tg.add_thread(self._notify, context, zone_name)"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    def _notify(self, context, zone_name):"},{"line_number":103,"context_line":"        \"\"\""},{"line_number":104,"context_line":"        :param context: The user context."},{"line_number":105,"context_line":"        :param zone_name: The zone name for which a NOTIFY needs to be sent."}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_ef09d72b","line":102,"updated":"2014-06-20 09:52:02.000000000","message":"I\u0027d actually like to see this method Separated into another class, to avoid the recreating the mess that is central today :)\n\nThis change was done to support having multiple \"endpoints\" for RPC calls in a single service: 453c27c1e3a12d2bfe02130166e4ef456b0c497a\n\nI think having a \"NotifyEndpoint\" class in `designate/mdns/notify.py` makes sense :)\n\nAs a bonus - each endpoint is versioned separately - making our upgrade/update story easier :)","commit_id":"9c3657272eb92a85c9c4776054623fdba87b3c9f"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"ab7581228601a608432b8c7c7c490c4c6df98899","unresolved":false,"context_lines":[{"line_number":118,"context_line":"            while retry \u003c CONF[\u0027service:mdns\u0027].notify_retries:"},{"line_number":119,"context_line":"                retry \u003d retry + 1"},{"line_number":120,"context_line":"                try:"},{"line_number":121,"context_line":"                    response \u003d dns.query.udp("},{"line_number":122,"context_line":"                        notify_message, self._slave_server_ips[current],"},{"line_number":123,"context_line":"                        port\u003dself._slave_server_ports[current],"},{"line_number":124,"context_line":"                        timeout\u003dCONF[\u0027service:mdns\u0027].notify_timeout)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_af518f0f","line":121,"updated":"2014-06-20 09:52:02.000000000","message":"For easier testing, I think we should split the message building, and message sending into two distinct methods.\n\nThis allows us to easily mock the \"send message\" method, to validate the correct data is being sent to DNSPython and simulate the various errors.","commit_id":"9c3657272eb92a85c9c4776054623fdba87b3c9f"}],"designate/tests/test_central/test_service.py":[{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"ab7581228601a608432b8c7c7c490c4c6df98899","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        super(CentralServiceTest, self).setUp()"},{"line_number":33,"context_line":"        self.central_service \u003d self.start_service(\u0027central\u0027)"},{"line_number":34,"context_line":"        # Central service also needs the mdns service to be up"},{"line_number":35,"context_line":"        self.mdns_service \u003d self.start_service(\u0027mdns\u0027)"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    def test_stop(self):"},{"line_number":38,"context_line":"        # Test stopping the service"}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_a41c5678","line":35,"updated":"2014-06-20 09:52:02.000000000","message":"Unrelated to your review - but I think we\u0027re going to want to find a better way to handle these dependencies.","commit_id":"9c3657272eb92a85c9c4776054623fdba87b3c9f"}],"designate/tests/test_mdns/test_notify.py":[{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"a378451b66a7b75de1bbfaa7e5a13efd6629cd68","unresolved":false,"context_lines":[{"line_number":27,"context_line":"        self.notify \u003d notify.NotifyEndPoint()"},{"line_number":28,"context_line":"        # set up some variables in the NotifyEndPoint."},{"line_number":29,"context_line":"        # We set it up this way rather than start the service to workaround"},{"line_number":30,"context_line":"        # a test issue.  testr divides the set of tests up into N groups, and"},{"line_number":31,"context_line":"        # runs them in parallel - The end result is multiple mdns services"},{"line_number":32,"context_line":"        # running and attempting to bind to the same DNS port."},{"line_number":33,"context_line":"        self.notify._slave_server_ips \u003d [\u0027127.0.0.1\u0027]"}],"source_content_type":"text/x-python","patch_set":2,"id":"1ae5cdf2_849f43b3","line":30,"updated":"2014-06-20 22:04:42.000000000","message":"Actually... With the split into it\u0027s own NotifyEndpoint class, we don\u0027t need to workaround this.. We can just set config and allow it be read as normal :)","commit_id":"87572e1d9fc1b0083a2390ce05a92e1c0ccda602"},{"author":{"_account_id":8094,"name":"Vinod Mangalpally","email":"mrvinod@outlook.com","username":"vinodmr"},"change_message_id":"f7d3ab61be5b9b3a97923676e0056b5afb38bd8f","unresolved":false,"context_lines":[{"line_number":27,"context_line":"        self.notify \u003d notify.NotifyEndPoint()"},{"line_number":28,"context_line":"        # set up some variables in the NotifyEndPoint."},{"line_number":29,"context_line":"        # We set it up this way rather than start the service to workaround"},{"line_number":30,"context_line":"        # a test issue.  testr divides the set of tests up into N groups, and"},{"line_number":31,"context_line":"        # runs them in parallel - The end result is multiple mdns services"},{"line_number":32,"context_line":"        # running and attempting to bind to the same DNS port."},{"line_number":33,"context_line":"        self.notify._slave_server_ips \u003d [\u0027127.0.0.1\u0027]"}],"source_content_type":"text/x-python","patch_set":2,"id":"1ae5cdf2_f5bfcff9","line":30,"in_reply_to":"1ae5cdf2_849f43b3","updated":"2014-06-21 02:09:26.000000000","message":"Done","commit_id":"87572e1d9fc1b0083a2390ce05a92e1c0ccda602"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"a378451b66a7b75de1bbfaa7e5a13efd6629cd68","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        self.notify._total_slave_nameservers \u003d 1"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    @patch.object(notify.NotifyEndPoint, \u0027_send_notify_message\u0027)"},{"line_number":38,"context_line":"    def test_dispatch_opcode_notify(self, mock):"},{"line_number":39,"context_line":"        context \u003d self.get_context()"},{"line_number":40,"context_line":"        self.notify.notify_zone_changed(context, \u0027example.com\u0027)"},{"line_number":41,"context_line":"        self.assertTrue(mock.called)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1ae5cdf2_e4dd6771","line":38,"updated":"2014-06-20 22:04:42.000000000","message":"The naming of the test methods feels a litter weird :)\n\n\"test_dispatch_opcode_BLA\" in the other mdns tests we\u0027re about checking that a packet of a given opcode type (e.g.NOTIFY) was dispatched to the correct handler..","commit_id":"87572e1d9fc1b0083a2390ce05a92e1c0ccda602"},{"author":{"_account_id":8094,"name":"Vinod Mangalpally","email":"mrvinod@outlook.com","username":"vinodmr"},"change_message_id":"f7d3ab61be5b9b3a97923676e0056b5afb38bd8f","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        self.notify._total_slave_nameservers \u003d 1"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    @patch.object(notify.NotifyEndPoint, \u0027_send_notify_message\u0027)"},{"line_number":38,"context_line":"    def test_dispatch_opcode_notify(self, mock):"},{"line_number":39,"context_line":"        context \u003d self.get_context()"},{"line_number":40,"context_line":"        self.notify.notify_zone_changed(context, \u0027example.com\u0027)"},{"line_number":41,"context_line":"        self.assertTrue(mock.called)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1ae5cdf2_ba5a947f","line":38,"in_reply_to":"1ae5cdf2_e4dd6771","updated":"2014-06-21 02:09:26.000000000","message":"Done","commit_id":"87572e1d9fc1b0083a2390ce05a92e1c0ccda602"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"a378451b66a7b75de1bbfaa7e5a13efd6629cd68","unresolved":false,"context_lines":[{"line_number":57,"context_line":"            \"4d2824000001000000000000076578616d706c6503636f6d0000060001\"))"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        # This test assumes that there is nothing running on the local machine"},{"line_number":60,"context_line":"        # on port 65255"},{"line_number":61,"context_line":"        msg \u003d self.notify._send_notify_message("},{"line_number":62,"context_line":"            context, \u0027example.com\u0027, notify_message,"},{"line_number":63,"context_line":"            self.notify._slave_server_ips[0],"}],"source_content_type":"text/x-python","patch_set":2,"id":"1ae5cdf2_444d3b3a","line":60,"updated":"2014-06-20 22:04:42.000000000","message":"In this case, I would patch dns.query.udp using \"side_effect\u003ddns.exception.Timeout()\".\n\nThis way, the dns.exception.Timeout exception will be raised immediately upon calling dns.query.udp(), so no delay, and no assumptions about 65255 :)\n\nThe same can be done for dns.query.BadResponse etc","commit_id":"87572e1d9fc1b0083a2390ce05a92e1c0ccda602"},{"author":{"_account_id":8094,"name":"Vinod Mangalpally","email":"mrvinod@outlook.com","username":"vinodmr"},"change_message_id":"f7d3ab61be5b9b3a97923676e0056b5afb38bd8f","unresolved":false,"context_lines":[{"line_number":57,"context_line":"            \"4d2824000001000000000000076578616d706c6503636f6d0000060001\"))"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        # This test assumes that there is nothing running on the local machine"},{"line_number":60,"context_line":"        # on port 65255"},{"line_number":61,"context_line":"        msg \u003d self.notify._send_notify_message("},{"line_number":62,"context_line":"            context, \u0027example.com\u0027, notify_message,"},{"line_number":63,"context_line":"            self.notify._slave_server_ips[0],"}],"source_content_type":"text/x-python","patch_set":2,"id":"1ae5cdf2_7a356cf5","line":60,"in_reply_to":"1ae5cdf2_444d3b3a","updated":"2014-06-21 02:09:26.000000000","message":"Done","commit_id":"87572e1d9fc1b0083a2390ce05a92e1c0ccda602"}]}
