def openport(self, port=None, check=True): if not port: port = self.port if self.port_opened: return True # Port already opened if check: # Check first if its already opened time.sleep(1) # Wait for port open if self.testOpenport(port, use_alternative=False)["result"] is True: return True # Port already opened if config.tor == "always": # Port opening won't work in Tor mode return False self.log.info("Trying to open port using UpnpPunch...") try: UpnpPunch.ask_to_open_port(self.port, 'ZeroNet', retries=3, protos=["TCP"]) except (UpnpPunch.UpnpError, UpnpPunch.IGDError, socket.error) as err: self.log.error("UpnpPunch run error: %s" % Debug.formatException(err)) return False if self.testOpenport(port)["result"] is True: self.upnp_port_opened = True return True self.log.info( "Upnp mapping failed :( Please forward port %s on your router to your ipaddress" % port) return False
def openport(self, port=None, check=True): if not port: port = self.port if self.port_opened: return True # Port already opened if check: # Check first if its already opened time.sleep(1) # Wait for port open if self.testOpenport(port, use_alternative=False)["result"] is True: return True # Port already opened if config.tor == "always": # Port opening won't work in Tor mode return False self.log.info("Trying to open port using UpnpPunch...") try: UpnpPunch.ask_to_open_port(self.port, 'ZeroNet', retries=3, protos=["TCP"]) except (UpnpPunch.UpnpError, UpnpPunch.IGDError, socket.error) as err: self.log.error("UpnpPunch run error: %s" % Debug.formatException(err)) return False if self.testOpenport(port)["result"] is True: self.upnp_port_opened = True return True self.log.info("Upnp mapping failed :( Please forward port %s on your router to your ipaddress" % port) return False
def test_ask_to_open_port_failure(self, mock_send_requests, mock_collect_idg, mock_local_ips): mock_local_ips.return_value = ['192.168.0.12'] mock_collect_idg.return_value = {'upnp_schema': 'schema-yo'} mock_send_requests.side_effect = upnp.UpnpError() with pytest.raises(upnp.UpnpError): upnp.ask_to_open_port()
def test_ask_to_open_port_failure(self, mock_send_requests, mock_collect_idg, mock_local_ips): mock_local_ips.return_value = ['192.168.0.12'] mock_collect_idg.return_value = {'upnp_schema': 'schema-yo'} mock_send_requests.side_effect = upnp.UpnpError() with pytest.raises(upnp.UpnpError): upnp.ask_to_open_port()
def portOpen(self, port): self.log.info("Trying to open port using UpnpPunch...") try: UpnpPunch.ask_to_open_port(port, 'Ainkuraddo', retries=3, protos=["TCP"]) self.upnp_port_opened = True except Exception as err: self.log.warning("UpnpPunch run error: %s" % Debug.formatException(err)) return False return True
def portOpen(self, port): self.log.info("Trying to open port using UpnpPunch...") try: UpnpPunch.ask_to_open_port(port, 'ZeroNet', retries=3, protos=["TCP"]) self.upnp_port_opened = True except Exception as err: self.log.warning("UpnpPunch run error: %s" % Debug.formatException(err)) return False if self.portCheck(port)["opened"]: return True else: self.log.info( "Upnp mapping failed, please forward port %s on your router to your ipaddress" % port) return False
def test_ask_to_open_port_success(self, mock_send_requests, mock_collect_idg, mock_local_ips): mock_collect_idg.return_value = {'upnp_schema': 'schema-yo'} mock_local_ips.return_value = ['192.168.0.12'] result = upnp.ask_to_open_port(retries=5) soap_msg = mock_send_requests.call_args[0][0][0][0] assert result is None assert mock_collect_idg.called assert '192.168.0.12' in soap_msg assert '15441' in soap_msg assert 'schema-yo' in soap_msg
def test_ask_to_open_port_success(self, mock_send_requests, mock_collect_idg, mock_local_ips): mock_collect_idg.return_value = {'upnp_schema': 'schema-yo'} mock_local_ips.return_value = ['192.168.0.12'] result = upnp.ask_to_open_port(retries=5) soap_msg = mock_send_requests.call_args[0][0][0][0] assert result is None assert mock_collect_idg.called assert '192.168.0.12' in soap_msg assert '15441' in soap_msg assert 'schema-yo' in soap_msg