MCPcopy Index your code
hub / github.com/HelloZeroNet/ZeroNet / testPex

Method testPex

src/Test/TestTor.py:83–112  ·  view source on GitHub ↗
(self, file_server, site, site_temp)

Source from the content-addressed store, hash-verified

81 assert connection_locked.request("getFile", {"site": "1OTHERSITE", "inner_path": "content.json", "location": 0})["error"] == "Invalid site"
82
83 def testPex(self, file_server, site, site_temp):
84 # Register site to currently running fileserver
85 site.connection_server = file_server
86 file_server.sites[site.address] = site
87 # Create a new file server to emulate new peer connecting to our peer
88 file_server_temp = FileServer(file_server.ip, 1545)
89 site_temp.connection_server = file_server_temp
90 file_server_temp.sites[site_temp.address] = site_temp
91
92 # We will request peers from this
93 peer_source = site_temp.addPeer(file_server.ip, 1544)
94
95 # Get ip4 peers from source site
96 site.addPeer("1.2.3.4", 1555) # Add peer to source site
97 assert peer_source.pex(need_num=10) == 1
98 assert len(site_temp.peers) == 2
99 assert "1.2.3.4:1555" in site_temp.peers
100
101 # Get onion peers from source site
102 site.addPeer("bka4ht2bzxchy44r.onion", 1555)
103 assert "bka4ht2bzxchy44r.onion:1555" not in site_temp.peers
104
105 # Don't add onion peers if not supported
106 assert "onion" not in file_server_temp.supported_ip_types
107 assert peer_source.pex(need_num=10) == 0
108
109 file_server_temp.supported_ip_types.append("onion")
110 assert peer_source.pex(need_num=10) == 1
111
112 assert "bka4ht2bzxchy44r.onion:1555" in site_temp.peers
113
114 def testFindHash(self, tor_manager, file_server, site, site_temp):
115 file_server.ip_incoming = {} # Reset flood protection

Callers

nothing calls this directly

Calls 3

FileServerClass · 0.90
addPeerMethod · 0.80
pexMethod · 0.80

Tested by

no test coverage detected