[tor-commits] [flashproxy/master] Add tests for read_client_registrations.
infinity0 at torproject.org
infinity0 at torproject.org
Mon Oct 28 14:47:41 UTC 2013
commit e120069b3910213fb70a93be0633d53ecc41b608
Author: David Fifield <david at bamsoftware.com>
Date: Thu Oct 17 03:28:41 2013 -0700
Add tests for read_client_registrations.
---
facilitator/facilitator-test | 45 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 45 insertions(+)
diff --git a/facilitator/facilitator-test b/facilitator/facilitator-test
index 6b45f6f..35c2e2e 100755
--- a/facilitator/facilitator-test
+++ b/facilitator/facilitator-test
@@ -382,5 +382,50 @@ class ParseTransactionTest(unittest.TestCase):
def test_newline(self):
self.assertRaises(ValueError, fac.parse_transaction, "COMMAND X=\"ABC\" \nY=\"DEF\"")
+class ReadClientRegistrationsTest(unittest.TestCase):
+ def testSingle(self):
+ l = list(fac.read_client_registrations(""))
+ self.assertEqual(len(l), 0)
+ l = list(fac.read_client_registrations("client=1.2.3.4:1111"))
+ self.assertEqual(len(l), 1)
+ self.assertEqual(l[0].addr, ("1.2.3.4", 1111))
+ l = list(fac.read_client_registrations("client=1.2.3.4:1111\n"))
+ self.assertEqual(len(l), 1)
+ self.assertEqual(l[0].addr, ("1.2.3.4", 1111))
+ l = list(fac.read_client_registrations("foo=bar&client=1.2.3.4:1111&baz=quux"))
+ self.assertEqual(len(l), 1)
+ self.assertEqual(l[0].addr, ("1.2.3.4", 1111))
+ l = list(fac.read_client_registrations("foo=b%3dar&client=1.2.3.4%3a1111"))
+ self.assertEqual(len(l), 1)
+ self.assertEqual(l[0].addr, ("1.2.3.4", 1111))
+ l = list(fac.read_client_registrations("client=%5b1::2%5d:3333"))
+ self.assertEqual(len(l), 1)
+ self.assertEqual(l[0].addr, ("1::2", 3333))
+
+ def testDefaultTransport(self):
+ l = list(fac.read_client_registrations("client=1.2.3.4:1111"))
+ self.assertEqual(l[0].transport, "websocket")
+
+ def testMultiple(self):
+ l = list(fac.read_client_registrations("client=1.2.3.4:1111&foo=bar\nfoo=bar&client=5.6.7.8:2222"))
+ self.assertEqual(len(l), 2)
+ self.assertEqual(l[0].addr, ("1.2.3.4", 1111))
+ self.assertEqual(l[1].addr, ("5.6.7.8", 2222))
+ l = list(fac.read_client_registrations("client=1.2.3.4:1111&foo=bar\nfoo=bar&client=%5b1::2%5d:3333"))
+ self.assertEqual(len(l), 2)
+ self.assertEqual(l[0].addr, ("1.2.3.4", 1111))
+ self.assertEqual(l[1].addr, ("1::2", 3333))
+
+ def testInvalid(self):
+ # Missing "client".
+ with self.assertRaises(ValueError):
+ list(fac.read_client_registrations("foo=bar"))
+ # More than one "client".
+ with self.assertRaises(ValueError):
+ list(fac.read_client_registrations("client=1.2.3.4:1111&foo=bar&client=5.6.7.8:2222"))
+ # Single client with bad syntax.
+ with self.assertRaises(ValueError):
+ list(fac.read_client_registrations("client=1.2.3.4,1111"))
+
if __name__ == "__main__":
unittest.main()
More information about the tor-commits
mailing list