Skip to content

Commit

Permalink
Merge pull request #5682 from drew2a/feature/5677
Browse files Browse the repository at this point in the history
Disable #5642
  • Loading branch information
ichorid committed Oct 26, 2020
2 parents edfde4a + 2e5f6a4 commit 5693e19
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -93,12 +93,17 @@ def __init__(self, my_peer, endpoint, network, metadata_store, settings=None, no
self.notifier.add_observer(NTFY.POPULARITY_COMMUNITY_ADD_UNKNOWN_TORRENT,
self.on_pc_add_unknown_torrent)

# this flag enable or disable https://github.com/Tribler/tribler/pull/5657
# it can be changed in runtime
self.enable_resolve_unknown_torrents_feature = False
self.add_message_handler(RemoteSelectPayload, self.on_remote_select)
self.add_message_handler(SelectResponsePayload, self.on_remote_select_response)

self.request_cache = RequestCache()

def on_pc_add_unknown_torrent(self, peer, infohash):
if not self.enable_resolve_unknown_torrents_feature:
return
query = {'infohash': hexlify(infohash)}
self.send_remote_select(peer, **query)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -248,11 +248,17 @@ def has_testing_infohash(t):
assert torrent_is_presented_on_db2
assert torrent_has_valid_title

async def test_add_unknown_torrent(self):
db1 = self.nodes[0].overlay.mds.TorrentMetadata
db2 = self.nodes[1].overlay.mds.TorrentMetadata
async def add_unknown_torrent(self, enabled):
rqc1 = self.nodes[0].overlay
rqc2 = self.nodes[1].overlay

torrent_infohash = b'0' * 20
rqc1.enable_resolve_unknown_torrents_feature = enabled
rqc2.enable_resolve_unknown_torrents_feature = enabled

db1 = rqc1.mds.TorrentMetadata
db2 = rqc2.mds.TorrentMetadata

torrent_infohash = random_infohash()

def has_testing_infohash(t):
return t.infohash == torrent_infohash
Expand All @@ -267,15 +273,22 @@ def has_testing_infohash(t):
assert torrent_not_presented_on_db2

# notify second node that new torrent hash has been received from the first node
self.nodes[1].overlay.notifier.notify(NTFY.POPULARITY_COMMUNITY_ADD_UNKNOWN_TORRENT,
self.nodes[0].my_peer,
torrent_infohash)
rqc2.notifier.notify(NTFY.POPULARITY_COMMUNITY_ADD_UNKNOWN_TORRENT,
self.nodes[0].my_peer,
torrent_infohash)

await self.deliver_messages(timeout=0.5)
with db_session:
torrent_is_presented_on_db2 = db2.select(has_testing_infohash).count() == 1

assert torrent_is_presented_on_db2
if rqc2.enable_resolve_unknown_torrents_feature:
assert torrent_is_presented_on_db2
else:
assert not torrent_is_presented_on_db2

async def test_add_unknown_torrent(self):
await self.add_unknown_torrent(True)
await self.add_unknown_torrent(False)

async def test_unknown_query_attribute(self):
rqc_node2 = self.nodes[1].overlay
Expand Down

0 comments on commit 5693e19

Please sign in to comment.