+
    Dfj                         R t ^ RIHt ]! R4      t]'       d   ^ RIHt ^ RIHt ^ RIH	t	 ^ RI
HtHt ^ RIHt  ! R R	]P                  4      tR
# )z,
Tests for L{twisted.conch.ssh.forwarding}.
)requireModulecryptography)
forwarding)IPv6Address)deterministicResolvingReactor)MemoryReactorClockStringTransport)unittestc                   \   a  ] tR t^t o Rt]'       g   RtV 3R lR ltV 3R lR ltRt	V t
R# )	TestSSHConnectForwardingChannelz@
Unit and integration tests for L{SSHConnectForwardingChannel}.
zCannot run without cryptographyc                $   < V ^8  d   QhRS[ RR/# )   reactorreturnN)r   )format__classdict__s   "D/usr/lib/python3/dist-packages/twisted/conch/test/test_forwarding.py__annotate__,TestSSHConnectForwardingChannel.__annotate__   s     + +); + +    c                    VP                   ^ ,          ^,          pVP                  ^ ,          pVP                  R4      p\        VP	                  4       R7      pVP                  V4       R# )z
Fake that connection was established for first connectTCP request made
on C{reactor}.

@param reactor: Reactor on which to fake the connection.
@type  reactor: A reactor.
N)peerAddress)
tcpClients
connectorsbuildProtocolr   getDestinationmakeConnection)selfr   factory	connectorprotocol	transports   &&    r   makeTCPConnection1TestSSHConnectForwardingChannel.makeTCPConnection   sZ     $$Q'*&&q)	((.#	0H0H0JK		*r   c                   < V ^8  d   QhRR/# )r   r   N )r   r   s   "r   r   r   +   s     
 
$ 
r   c                   \         P                  ! RR7      p\        4       p\        VR.4      Vn        VP                  R4       V P                  V4       V P                  VP                  4       V P                  VP                  \         P                  4       V P                  \        RRR4      VP                  P                  P                  4       4       R# )zk
When a hostname is sent as part of forwarding requests, it
is resolved using HostnameEndpoint's resolver.
  )hostportz::1NTCP)zfwd.example.orgr'   )r   SSHConnectForwardingChannelr   r   _reactorchannelOpenr"   successResultOf_channelOpenDeferredassertIsInstanceclientSSHForwardingClientassertEqualr   r!   getPeer)r   sutmemoryReactors   &  r    test_channelOpenHostnameRequests@TestSSHConnectForwardingChannel.test_channelOpenHostnameRequests+   s    
 44>WX*,4]UGL}-S556 	cjj**H*HIud+SZZ-A-A-I-I-K	
r   r%   N)__name__
__module____qualname____firstlineno____doc__r   skipr"   r6   __static_attributes____classdictcell__)r   s   @r   r   r      s(      0+ +
 
r   r   N)r<   twisted.python.reflectr   r   twisted.conch.sshr   twisted.internet.addressr   $twisted.internet.test.test_endpointsr   twisted.internet.testingr   r   twisted.trialr	   TestCaser   r%   r   r   <module>rG      s=   
 1^,, 0 N H "(
h&7&7 (
r   