def testGetRemotePortAndIsHTTPServerRunningOnPort(self): with self._GetCRI() as cri: # Create local server. sock = socket.socket() sock.bind(('', 0)) port = sock.getsockname()[1] sock.listen(0) # Get remote port and ensure that it was unused. remote_port = cri.GetRemotePort() self.assertFalse(cri.IsHTTPServerRunningOnPort(remote_port)) # Forward local server's port to remote device's remote_port. forwarder = cros_forwarder.CrOsForwarderFactory(cri).Create( forwarders.PortPairs(http=forwarders.PortPair( port, remote_port), https=None, dns=None)) # At this point, remote device should be able to connect to local server. self.assertTrue(cri.IsHTTPServerRunningOnPort(remote_port)) # Next remote port shouldn't be the same as remote_port, since remote_port # is now in use. self.assertTrue(cri.GetRemotePort() != remote_port) # Close forwarder and local server ports. forwarder.Close() sock.close() # Device should no longer be able to connect to remote_port since it is no # longer in use. self.assertFalse(cri.IsHTTPServerRunningOnPort(remote_port))
def forwarder_factory(self): if not self._forwarder_factory: self._forwarder_factory = cros_forwarder.CrOsForwarderFactory( self._cri) return self._forwarder_factory
def _CreateForwarderFactory(self): return cros_forwarder.CrOsForwarderFactory(self._cri)