From 2e24b3546330a71b0b3e1ddd664a0d7055349c08 Mon Sep 17 00:00:00 2001 From: Jack Robison Date: Thu, 14 Nov 2019 13:35:03 -0500 Subject: [PATCH] test tp-link xml namespace parsing bug --- tests/serialization/test_soap.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tests/serialization/test_soap.py b/tests/serialization/test_soap.py index 8193453..fe06911 100644 --- a/tests/serialization/test_soap.py +++ b/tests/serialization/test_soap.py @@ -114,3 +114,11 @@ class TestSOAPSerialization(unittest.TestCase): raised = True self.assertEqual(str(err), expected) self.assertTrue(raised) + + def test_soap_env_namespace_response(self): + # tp link devices use `SOAP-ENV` namespace rather than the normal `s` + response = b'HTTP/1.1 200 OK\r\nCONNECTION: close\r\nSERVER: ipos/7.0 UPnP/1.0 TL-WR940N/TL-WR941ND/3.0\r\nCONTENT-LENGTH: 404\r\nCONTENT-TYPE: text/xml; charset="utf-8"\r\n\r\n\n\n\n100.100.100.100\n\n' + self.assertDictEqual( + deserialize_soap_post_response(response, 'GetExternalIPAddress', self.st.decode()), + {'NewExternalIPAddress': '100.100.100.100'} + )