当前位置: 首页>>代码示例>>Python>>正文


Python txtorcon.Stream类代码示例

本文整理汇总了Python中txtorcon.Stream的典型用法代码示例。如果您正苦于以下问题:Python Stream类的具体用法?Python Stream怎么用?Python Stream使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了Stream类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_circuit_already_valid_in_new

 def test_circuit_already_valid_in_new(self):
     stream = Stream(self)
     stream.circuit = FakeCircuit(1)
     stream.update("1 NEW 0 94.23.164.42.$43ED8310EB968746970896E8835C2F1991E50B69.exit:9001 SOURCE_ADDR=(Tor_internal):0 PURPOSE=DIR_FETCH".split())
     errs = self.flushLoggedErrors()
     self.assertEqual(len(errs), 1)
     self.assertTrue('Weird' in errs[0].getErrorMessage())
开发者ID:felipedau,项目名称:txtorcon,代码行数:7,代码来源:test_stream.py

示例2: test_ipv6

    def test_ipv6(self):
        listener = Listener([('new', {'target_host': '::1',
                                      'target_port': 80})])

        stream = Stream(self)
        stream.listen(listener)
        stream.update("1234 NEW 0 ::1:80 SOURCE_ADDR=127.0.0.1:57349 PURPOSE=USER".split())
开发者ID:felipedau,项目名称:txtorcon,代码行数:7,代码来源:test_stream.py

示例3: test_update_illegal_state

    def test_update_illegal_state(self):
        self.circuits[186] = FakeCircuit(186)

        stream = Stream(self)
        try:
            stream.update("316 FOO 0 www.yahoo.com:80 SOURCE_ADDR=127.0.0.1:55877 PURPOSE=USER".split())
            self.fail()
        except Exception as e:
            self.assertTrue('Unknown state' in str(e))
开发者ID:felipedau,项目名称:txtorcon,代码行数:9,代码来源:test_stream.py

示例4: test_update_wrong_stream

    def test_update_wrong_stream(self):
        self.circuits[186] = FakeCircuit(186)

        stream = Stream(self)
        stream.update("316 NEW 0 www.yahoo.com:80 SOURCE_ADDR=127.0.0.1:55877 PURPOSE=USER".split())
        try:
            stream.update("999 SENTCONNECT 186 1.2.3.4:80 SOURCE=EXIT".split())
            self.fail()
        except Exception as e:
            self.assertTrue('wrong stream' in str(e))
开发者ID:felipedau,项目名称:txtorcon,代码行数:10,代码来源:test_stream.py

示例5: test_listen_unlisten

    def test_listen_unlisten(self):
        self.circuits[186] = FakeCircuit(186)

        listener = Listener([])

        stream = Stream(self)
        stream.listen(listener)
        stream.listen(listener)
        self.assertEqual(len(stream.listeners), 1)
        stream.unlisten(listener)
        self.assertEqual(len(stream.listeners), 0)
开发者ID:felipedau,项目名称:txtorcon,代码行数:11,代码来源:test_stream.py

示例6: test_ipv6_source

    def test_ipv6_source(self):
        listener = Listener(
            [
                ('new', {'source_addr': maybe_ip_addr('::1'),
                         'source_port': 12345})
            ]
        )

        stream = Stream(self)
        stream.listen(listener)
        stream.update("1234 NEW 0 127.0.0.1:80 SOURCE_ADDR=::1:12345 PURPOSE=USER".split())
开发者ID:felipedau,项目名称:txtorcon,代码行数:11,代码来源:test_stream.py

示例7: test_lowercase_flags

    def test_lowercase_flags(self):
        # testing an internal method, maybe a no-no?
        stream = Stream(self)
        kw = dict(FOO='bar', BAR='baz')
        flags = stream._create_flags(kw)
        self.assertTrue('FOO' in flags)
        self.assertTrue('foo' in flags)
        self.assertTrue(flags['foo'] is flags['FOO'])

        self.assertTrue('BAR' in flags)
        self.assertTrue('bar' in flags)
        self.assertTrue(flags['bar'] is flags['BAR'])
开发者ID:felipedau,项目名称:txtorcon,代码行数:12,代码来源:test_stream.py

示例8: test_close_stream

    def test_close_stream(self):
        stream = Stream(self.state)
        stream.id = 1
        try:
            self.state.close_stream(stream)
            self.assertTrue(False)
        except KeyError:
            pass

        self.state.streams[1] = stream
        self.state.close_stream(stream)
        self.assertEqual(self.transport.value(), 'CLOSESTREAM 1 1\r\n')
开发者ID:Ryman,项目名称:txtorcon,代码行数:12,代码来源:test_torstate.py

示例9: test_closed_remaining_streams

    def test_closed_remaining_streams(self):
        tor = FakeTorController()
        circuit = Circuit(tor)
        circuit.listen(tor)
        circuit.update('1 LAUNCHED PURPOSE=GENERAL'.split())
        stream = Stream(tor)
        stream.update("1 NEW 0 94.23.164.42.$43ED8310EB968746970896E8835C2F1991E50B69.exit:9001 SOURCE_ADDR=(Tor_internal):0 PURPOSE=DIR_FETCH".split())
        circuit.streams.append(stream)
        self.assertEqual(len(circuit.streams), 1)

        circuit.update('1 CLOSED $E11D2B2269CC25E67CA6C9FB5843497539A74FD0=eris,$50DD343021E509EB3A5A7FD0D8A4F8364AFBDCB5=venus,$253DFF1838A2B7782BE7735F74E50090D46CA1BC=chomsky PURPOSE=GENERAL REASON=FINISHED'.split())
        circuit.update('1 FAILED $E11D2B2269CC25E67CA6C9FB5843497539A74FD0=eris,$50DD343021E509EB3A5A7FD0D8A4F8364AFBDCB5=venus,$253DFF1838A2B7782BE7735F74E50090D46CA1BC=chomsky PURPOSE=GENERAL REASON=TIMEOUT'.split())
        errs = self.flushLoggedErrors()
        self.assertEqual(len(errs), 2)
开发者ID:david415,项目名称:txtorcon,代码行数:14,代码来源:test_circuit.py

示例10: test_states_and_uris

    def test_states_and_uris(self):
        self.circuits[1] = FakeCircuit(1)

        stream = Stream(self)
        for address in [
                '1.2.3.4:80',
                '1.2.3.4.315D5684D5343580D409F16119F78D776A58AEFB.exit:80',
                'timaq4ygg2iegci7.onion:80']:

            line = "316 %s 1 %s REASON=FOO"
            for state in ['NEW', 'SUCCEEDED', 'REMAP',
                          'SENTCONNECT',
                          'DETACHED', 'NEWRESOLVE', 'SENTRESOLVE',
                          'FAILED', 'CLOSED']:
                stream.update((line % (state, address)).split(' '))
                self.assertEqual(stream.state, state)
开发者ID:felipedau,项目名称:txtorcon,代码行数:16,代码来源:test_stream.py

示例11: test_listener_exception

    def test_listener_exception(self):
        """A listener throws an exception during notify"""

        exc = Exception("the bad stuff happened")

        class Bad(StreamListenerMixin):
            def stream_new(*args, **kw):
                raise exc
        listener = Bad()

        stream = Stream(self)
        stream.listen(listener)
        stream.update("1 NEW 0 94.23.164.42.$43ED8310EB968746970896E8835C2F1991E50B69.exit:9001 SOURCE_ADDR=(Tor_internal):0 PURPOSE=DIR_FETCH".split())

        errors = self.flushLoggedErrors()
        self.assertEqual(1, len(errors))
        self.assertEqual(errors[0].value, exc)
开发者ID:felipedau,项目名称:txtorcon,代码行数:17,代码来源:test_stream.py

示例12: test_listener_fail

 def test_listener_fail(self):
     listener = Listener(
         [
             ('new', {'target_host': 'www.yahoo.com', 'target_port': 80}),
             ('attach', {'target_addr': maybe_ip_addr('1.2.3.4')}),
             ('failed', {'kwargs': dict(REASON='TIMEOUT', REMOTE_REASON='DESTROYED')})
         ]
     )
     stream = Stream(self)
     stream.listen(listener)
     stream.update("316 NEW 0 www.yahoo.com:80 SOURCE_ADDR=127.0.0.1:55877 PURPOSE=USER".split())
     self.circuits[186] = FakeCircuit(186)
     stream.update("316 REMAP 186 1.2.3.4:80 SOURCE=EXIT".split())
     stream.update("316 FAILED 0 1.2.3.4:80 REASON=TIMEOUT REMOTE_REASON=DESTROYED".split())
开发者ID:felipedau,项目名称:txtorcon,代码行数:14,代码来源:test_stream.py

示例13: test_listener_close

    def test_listener_close(self):
        self.circuits[186] = FakeCircuit(186)

        listener = Listener(
            [
                ('new', {'target_host': 'www.yahoo.com', 'target_port': 80}),
                ('attach', {'target_addr': maybe_ip_addr('1.2.3.4')}),
                ('closed', {'kwargs': dict(REASON='END', REMOTE_REASON='DONE')})
            ]
        )
        stream = Stream(self)
        stream.listen(listener)
        stream.update("316 NEW 0 www.yahoo.com:80 SOURCE_ADDR=127.0.0.1:55877 PURPOSE=USER".split())
        stream.update("316 REMAP 186 1.2.3.4:80 SOURCE=EXIT".split())
        stream.update("316 CLOSED 186 1.2.3.4:80 REASON=END REMOTE_REASON=DONE".split())

        self.assertEqual(len(self.circuits[186].streams), 0)
开发者ID:felipedau,项目名称:txtorcon,代码行数:17,代码来源:test_stream.py

示例14: test_attacher_errors

    def test_attacher_errors(self):
        class MyAttacher(object):
            implements(IStreamAttacher)

            def __init__(self, answer):
                self.streams = []
                self.answer = answer

            def attach_stream(self, stream, circuits):
                return self.answer

        self.state.circuits[1] = FakeCircuit(1)
        attacher = MyAttacher(FakeCircuit(2))
        self.state.set_attacher(attacher, FakeReactor(self))

        stream = Stream(self.state)
        stream.id = 3
        msg = ''
        try:
            self.state._maybe_attach(stream)
        except Exception, e:
            msg = str(e)
开发者ID:Ryman,项目名称:txtorcon,代码行数:22,代码来源:test_torstate.py

示例15: test_close_stream

    def test_close_stream(self):
        self.circuits[186] = FakeCircuit(186)
        stream = Stream(self)
        stream.update("316 NEW 0 www.yahoo.com:80 SOURCE_ADDR=127.0.0.1:55877 PURPOSE=USER".split())
        stream.update("316 REMAP 186 1.2.3.4:80 SOURCE=EXIT".split())

        self.assertEqual(len(self.circuits[186].streams), 1)

        d = stream.close()
        self.assertTrue(not d.called)
        self.assertEqual(len(self.circuits[186].streams), 1)

        stream.update("316 CLOSED 186 1.2.3.4:80 REASON=END REMOTE_REASON=DONE".split())
        self.assertTrue(d.called)
        self.assertEqual(len(self.circuits[186].streams), 0)
开发者ID:felipedau,项目名称:txtorcon,代码行数:15,代码来源:test_stream.py


注:本文中的txtorcon.Stream类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。