class test_Server(TestCase): def setUp(self) -> None: self.server = Server().start_async() def tearDown(self) -> None: self.server.stop() def test_get(self): result = GET(f'http://127.0.0.1:{self.server.port}') assert "<title>httpbin.org</title>" in result def test_get_with_params(self): result = json.loads( GET(f'http://127.0.0.1:{self.server.port}/get?a=12')) assert result.get('args') == {'a': '12'} def test_post(self): data = json.dumps({"aa": "12"}) headers = {'Content-Type': 'application/json'} raw_result = POST(f'http://127.0.0.1:{self.server.port}/post?a=42', data=data, headers=headers) result = json.loads(raw_result) assert result.get('args') == {'a': '42'} assert result.get('data') == '{"aa": "12"}' assert result.get('url') == 'https://httpbin.org/post?a=42'
def test_docker_own_cloud__POST(self): target = 'http://localhost:8080' post_data = 'redirect_url=%252Fapps%252Ffiles%252F%253Fdir%253D%252F%2526fileid%253D3&user=aaaa&password=bbbb&timezone-offset=0&timezone=Europe%2FLondon&requesttoken=JyFNEAkcJSAicnktfQsyP0E5E1oDAA0LegNCeWElaRY%3D%3AJYbeLZUqnE7uNaWsvlE%2BlolO7i5H0J8yUsiRcAnt9rA%3D' server = Server(target=target).start_async() path_file = 'login' result = POST(f'{server.local_url()}{path_file}/login', post_data) #print(result) #assert "<h1>Method Not Allowed</h1>" in result server.stop()
class Temp_Server: def __init__(self, target=None): self.target = target self.server = None def __enter__(self): self.server = Server(target=self.target).start_async() return self.server def __exit__(self, exc_type, exc_val, exc_tb): self.server.stop()
sys.path.append('.') sys.path.append('./modules/OSBOT-Utils') from gw_proxy.local_proxy.Server import Server target_server = 'https://httpbin.org' port = 12345 if len(sys.argv) == 2: target_server = sys.argv[1] elif len(sys.argv) == 3: target_server = sys.argv[1] port = int(sys.argv[2]) print(f'***** starting proxy server for url: {target_server} on port {port}') Server(target=target_server, port=port).setup().start() # https://gofile.io/ # requires multiple servers # # https://wetransfer.com/ # requires email # https://transferxl.com # requires email # https://free.mailbigfile.com # uses email mode # https://www.dropsend.com # uses email mode # https://www.transfernow.net # uses email mode # https://www.justbeamit.com/ # (very interesting concept) # https://demo1.nextcloud.com # POST don't work # https://demo.pydio.com # really good, logs in ok, byt UI doesn't work ok # https://www.sendspace.com/ # lots of adds and sends to email # https://www.sendfiles.net # expired cert # https://www.projectsend.org # offline install
def test_project_send(self): server = Server(target='https://www.projectsend.org').start_async() result = GET(server.local_url()) print(result) #assert '<title>Access denied | www.projectsend.org used Cloudflare to restrict access</title>' in result server.stop()
def test_httpbin_org__OPTIONS(self): server = Server().start_async() result = OPTIONS(server.local_url()) print(result) #assert "<h1>Method Not Allowed</h1>" in result server.stop()
def setUp(self) -> None: self.server = Server().start_async()
def __enter__(self): self.server = Server(target=self.target).start_async() return self.server