예제 #1
0
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'
예제 #2
0
 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()
예제 #3
0
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()
예제 #4
0
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
예제 #5
0
 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()
예제 #6
0
 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()
예제 #7
0
 def setUp(self) -> None:
     self.server = Server().start_async()
예제 #8
0
 def __enter__(self):
     self.server = Server(target=self.target).start_async()
     return self.server