From df8d13e0a0aaf78ced73468ffd0acf2c8f15664a Mon Sep 17 00:00:00 2001 From: meejah Date: Sun, 10 May 2015 02:25:28 -0600 Subject: [PATCH] add some unit-tests --- test/test_torconfig.py | 43 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/test/test_torconfig.py b/test/test_torconfig.py index 0debdf44..9d77df2d 100644 --- a/test/test_torconfig.py +++ b/test/test_torconfig.py @@ -1562,3 +1562,46 @@ def test_parse_error(self): RuntimeError, parse_client_keys, data ) + + +class EphemeralHiddenServiceTest(unittest.TestCase): + def test_defaults(self): + eph = torconfig.EphemeralHiddenService(80) + self.assertEqual(eph.ports, [80]) + + def test_wrong_blob(self): + try: + eph = torconfig.EphemeralHiddenService(80, "foo") + self.fail("should get exception") + except RuntimeError as e: + pass + + def test_add(self): + eph = torconfig.EphemeralHiddenService("80 127.0.0.1:80") + proto = Mock() + proto.queue_command = Mock(return_value="PrivateKey=blam\nServiceID=ohai") + eph.add_to_tor(proto) + + self.assertEqual("blam", eph.private_key) + self.assertEqual("ohai.onion", eph.hostname) + + def test_remove(self): + eph = torconfig.EphemeralHiddenService("80 127.0.0.1:80") + eph.hostname = 'foo.onion' + proto = Mock() + proto.queue_command = Mock(return_value="OK") + + eph.remove_from_tor(proto) + + @defer.inlineCallbacks + def test_remove_error(self): + eph = torconfig.EphemeralHiddenService("80 127.0.0.1:80") + eph.hostname = 'foo.onion' + proto = Mock() + proto.queue_command = Mock(return_value="it's not ok") + + try: + yield eph.remove_from_tor(proto) + self.fail("should have gotten exception") + except RuntimeError as e: + pass