def test_add_success(self): port_config = get_port_config([]) upnpc = MagicMock() upnpc.port_open_on_router = MagicMock(return_value=False) mapper = PortMapper(port_config, upnpc) mapping = mapper.add(80) self.assertIsNotNone(mapping) self.assertEquals(80, mapping.local_port) self.assertEquals(80, mapping.external_port) self.assertTrue(upnpc.add.called) read = port_config.get(80) self.assertEquals(80, read.external_port)
def test_add_success_after_first_failed(self): port_config = get_port_config([]) upnpc = FailingUpnpc(2) upnpc.port_open_on_router = MagicMock(return_value=False) upnpc.external_ip = MagicMock() upnpc.mapped_external_ports = MagicMock() mapper = PortMapper(port_config, upnpc) mapping = mapper.add(80) self.assertIsNotNone(mapping) self.assertEquals(80, mapping.local_port) self.assertEquals(2001, mapping.external_port) read = port_config.get(80) self.assertEquals(2001, read.external_port)