Esempio n. 1
0
 def test_quit_no_protocol(self):
     tor = Tor(Mock(), Mock())
     tor._protocol = None
     tor._process_protocol = None
     with self.assertRaises(RuntimeError) as ctx:
         yield tor.quit()
     self.assertTrue('no protocol instance' in str(ctx.exception))
Esempio n. 2
0
 def setUp(self):
     reactor = Mock()
     proto = Mock()
     proto.get_conf = Mock(
         return_value=defer.succeed({"SocksPort": "9050"}))
     self.cfg = Mock()
     self.tor = Tor(reactor, proto, _tor_config=self.cfg)
Esempio n. 3
0
 def setUp(self):
     reactor = Mock()
     proto = Mock()
     directlyProvides(proto, ITorControlProtocol)
     self.cfg = TorConfig()
     self.cfg.HidServAuth = ["existing.onion some_token"]
     self.tor = Tor(reactor, proto, _tor_config=self.cfg)
Esempio n. 4
0
 def test_dns_resolve_ptr(self, fake_socks):
     answer = object()
     proto = Mock()
     proto.get_conf = Mock(
         return_value=defer.succeed({"SocksPort": "9050"}))
     tor = Tor(Mock(), proto)
     fake_socks.resolve_ptr = Mock(return_value=defer.succeed(answer))
     ans = yield tor.dns_resolve_ptr("4.3.2.1")
     self.assertEqual(ans, answer)
Esempio n. 5
0
 def test_dns_resolve(self, fake_socks):
     answer = object()
     cfg = Mock()
     proto = Mock()
     proto.get_conf = Mock(
         return_value=defer.succeed({"SocksPort": "9050"}))
     tor = Tor(Mock(), proto, _tor_config=cfg)
     fake_socks.resolve = Mock(return_value=defer.succeed(answer))
     ans = yield tor.dns_resolve("meejah.ca")
     self.assertEqual(ans, answer)
Esempio n. 6
0
    def test_web_agent_error(self):
        reactor = Mock()
        cfg = Mock()
        proto = Mock()
        directlyProvides(proto, ITorControlProtocol)

        tor = Tor(reactor, proto, _tor_config=cfg)
        with self.assertRaises(ValueError) as ctx:
            agent = tor.web_agent(pool=self.pool, socks_endpoint=object())
            yield agent.request('GET', b'meejah.ca')
        self.assertTrue("'socks_endpoint' should be" in str(ctx.exception))
Esempio n. 7
0
    def test_web_agent_deferred(self):
        socks_d = defer.succeed("9151")
        reactor = Mock()
        cfg = Mock()
        proto = Mock()
        directlyProvides(proto, ITorControlProtocol)

        tor = Tor(reactor, proto, _tor_config=cfg)
        agent = tor.web_agent(pool=self.pool, socks_endpoint=socks_d)

        resp = yield agent.request('GET', b'meejah.ca')
        self.assertEqual(self.expected_response, resp)
Esempio n. 8
0
    def test_web_agent_endpoint(self):
        socks = Mock()
        directlyProvides(socks, IStreamClientEndpoint)
        reactor = Mock()
        cfg = Mock()
        proto = Mock()
        directlyProvides(proto, ITorControlProtocol)

        tor = Tor(reactor, proto, _tor_config=cfg)
        agent = tor.web_agent(pool=self.pool, socks_endpoint=socks)

        resp = yield agent.request('GET', b'meejah.ca')
        self.assertEqual(self.expected_response, resp)
Esempio n. 9
0
    def test_dns_resolve_existing_socks(self, fake_socks):
        answer = object()
        proto = Mock()
        proto.get_conf = Mock(
            return_value=defer.succeed({"SocksPort": "9050"}))
        tor = Tor(Mock(), proto)
        fake_socks.resolve = Mock(return_value=defer.succeed(answer))
        ans0 = yield tor.dns_resolve("meejah.ca")

        # do it again to exercise the _default_socks_port() case when
        # we already got the default
        fake_socks.resolve = Mock(return_value=defer.succeed(answer))
        ans1 = yield tor.dns_resolve("meejah.ca")
        self.assertEqual(ans0, answer)
        self.assertEqual(ans1, answer)
Esempio n. 10
0
    def test_dns_resolve_no_configured_socks(self, fake_socks):
        answer = object()
        proto = Mock()
        proto.get_conf = Mock(
            return_value=defer.succeed({"SocksPort": "9050"}))
        cfg = Mock()
        tor = Tor(Mock(), proto, _tor_config=cfg)

        def boom(*args, **kw):
            raise RuntimeError("no socks")

        cfg.socks_endpoint = Mock(side_effect=boom)
        fake_socks.resolve = Mock(return_value=defer.succeed(answer))
        ans = yield tor.dns_resolve("meejah.ca")

        self.assertEqual(ans, answer)
Esempio n. 11
0
    def test_web_agent_defaults(self):
        reactor = Mock()
        # XXX is there a faster way to do this? better reactor fake?
        fake_host = Mock()
        fake_host.port = 1234
        fake_port = Mock()
        fake_port.getHost = Mock(return_value=fake_host)
        reactor.listenTCP = Mock(return_value=fake_port)
        cfg = Mock()
        cfg.create_socks_endpoint = Mock(return_value=defer.succeed("9050"))
        proto = Mock()
        proto.get_conf = Mock(return_value=defer.succeed({}))
        directlyProvides(proto, ITorControlProtocol)

        tor = Tor(reactor, proto, _tor_config=cfg)
        try:
            agent = tor.web_agent(pool=self.pool)
        except ImportError as e:
            if 'IAgentEndpointFactory' in str(e):
                print("Skipping; appears we don't have web support")
                return

        resp = yield agent.request('GET', b'meejah.ca')
        self.assertEqual(self.expected_response, resp)
Esempio n. 12
0
 def test_quit(self):
     tor = Tor(Mock(), Mock())
     tor._protocol = Mock()
     tor._process_protocol = Mock()
     yield tor.quit()
Esempio n. 13
0
 def test_create_state(self):
     tor = Tor(Mock(), Mock())
     with patch('txtorcon.controller.TorState') as ts:
         ts.post_boostrap = defer.succeed('boom')
         yield tor.create_state()
Esempio n. 14
0
 def setUp(self):
     reactor = Mock()
     self.proto = Mock()
     self.cfg = Mock()
     self.tor = Tor(reactor, self.proto, _tor_config=self.cfg)
     self.tor.dns_resolve = Mock()
Esempio n. 15
0
 def setUp(self):
     reactor = Mock()
     proto = Mock()
     directlyProvides(proto, ITorControlProtocol)
     self.tor = Tor(reactor, proto)
Esempio n. 16
0
 def test_str(self):
     tor = Tor(Mock(), Mock())
     str(tor)
Esempio n. 17
0
 def bam(*args, **kw):
     self.config.bootstrap()
     return defer.succeed(Tor(Mock(), self.protocol, _tor_config=self.config))
Esempio n. 18
0
 def bam(*args, **kw):
     self.config.bootstrap()
     return defer.succeed(Tor(Mock(), self.config))