def test_parallel_connections(self):
        # Test to see that we make two new connections at a manage call,
        # without it waiting for the connection to complete

        self._init_connection_manager()
        test_peer2 = Peer(LOCAL_HOST, PEER_PORT + 1)
        self.primary_request_creator.peers_to_return = [
            self.TEST_PEER, test_peer2
        ]
        yield self.connection_manager.manage(schedule_next_call=False)
        self.assertEqual(2, self.connection_manager.num_peer_connections())
        self.assertIn(self.TEST_PEER,
                      self.connection_manager._peer_connections)
        self.assertIn(test_peer2, self.connection_manager._peer_connections)

        deferred_conn_made_peer1 = self.connection_manager._peer_connections[self.TEST_PEER].\
            factory.connection_was_made_deferred
        deferred_conn_made_peer1.addCallback(
            lambda conn_made: self.assertFalse(conn_made))

        deferred_conn_made_peer2 = self.connection_manager._peer_connections[test_peer2].\
            factory.connection_was_made_deferred
        deferred_conn_made_peer2.addCallback(
            lambda conn_made: self.assertFalse(conn_made))

        yield deferred_conn_made_peer1
        yield deferred_conn_made_peer2

        self.assertEqual(0, self.connection_manager.num_peer_connections())
        self.assertEqual(0, self.TEST_PEER.success_count)
        self.assertEqual(1, self.TEST_PEER.down_count)
        self.assertEqual(0, test_peer2.success_count)
        self.assertEqual(1, test_peer2.down_count)
示例#2
0
 def setUp(self):
     conf.initialize_settings(False)
     self.blob_dir = tempfile.mkdtemp()
     self.db_dir = tempfile.mkdtemp()
     self.bm = DiskBlobManager(self.blob_dir, SQLiteStorage(self.db_dir))
     self.peer = Peer('somehost', 22)
     yield self.bm.storage.setup()
示例#3
0
 def setUp(self):
     conf.initialize_settings()
     self.blob_dir = tempfile.mkdtemp()
     self.db_dir = tempfile.mkdtemp()
     hash_announcer = DummyHashAnnouncer()
     self.bm = DiskBlobManager(hash_announcer, self.blob_dir, self.db_dir)
     self.peer = Peer('somehost', 22)
示例#4
0
 def get_peer(self, host, port):
     for peer in self.peers:
         if peer.host == host and peer.port == port:
             return peer
     peer = Peer(host, port)
     self.peers.append(peer)
     return peer
    def setUp(self):

        conf.initialize_settings(False)

        self.TEST_PEER = Peer(LOCAL_HOST, PEER_PORT)
        self.downloader = MocDownloader()
        self.rate_limiter = RateLimiter()
        self.primary_request_creator = MocRequestCreator([self.TEST_PEER])
        self.clock = task.Clock()
        utils.call_later = self.clock.callLater
        self.server_port = None
示例#6
0
    def setUp(self):

        conf.initialize_settings()

        self.TEST_PEER = Peer(LOCAL_HOST, PEER_PORT)
        self.downloader = MocDownloader()
        self.rate_limiter = RateLimiter()
        self.primary_request_creator = MocRequestCreator([self.TEST_PEER])
        self.clock = task.Clock()
        utils.call_later = self.clock.callLater
        from lbrynet.core.client.ConnectionManager import ConnectionManager
        self.connection_manager = ConnectionManager(
            self.downloader, self.rate_limiter, [self.primary_request_creator],
            [])

        self.connection_manager._start()
        self.server_port = None