Пример #1
0
def test_domain_dispatched():
    dispatcher = DomainDispatcherApplication(create_backend_app)
    backend_app = dispatcher.get_application(
        {"HTTP_HOST": "email.us-east1.amazonaws.com"}
    )
    keys = list(backend_app.view_functions.keys())
    keys[0].should.equal("EmailResponse.dispatch")
Пример #2
0
def test_domain_dispatched_with_service():
    # If we pass a particular service, always return that.
    dispatcher = DomainDispatcherApplication(create_backend_app, service="s3")
    backend_app = dispatcher.get_application(
        {"HTTP_HOST": "s3.us-east1.amazonaws.com"})
    keys = set(backend_app.view_functions.keys())
    keys.should.contain("ResponseObject.key_or_control_response")
Пример #3
0
def run_s3_server():  # pragma: no cover
    mock_app = DomainDispatcherApplication(create_backend_app, 's3')
    mock_app.debug = False
    logger = logging.getLogger('werkzeug')
    logger.setLevel(logging.ERROR)
    [logger.removeHandler(h) for h in logger.handlers]
    run_simple(TEST_HOST, TEST_PORT, mock_app, threaded=True)
Пример #4
0
def test_domain_dispatched_with_service():
    # If we pass a particular service, always return that.
    dispatcher = DomainDispatcherApplication(create_backend_app, service="s3")
    backend_app = dispatcher.get_application(
        {"HTTP_HOST": "s3.us-east1.amazonaws.com"})
    keys = set(backend_app.view_functions.keys())
    keys.should.contain('ResponseObject.key_response')
Пример #5
0
def mockup_s3_server(bucket, **kwargs):
    from moto.server import DomainDispatcherApplication, create_backend_app
    mock_app = DomainDispatcherApplication(create_backend_app, 's3')
    mock_app.debug = False
    with simple_http_server(WSGIRequestHandler,  server_class=WSGIServer, app=mock_app, **kwargs) as server:
        url = 'http://localhost:%s' % server.server_address[1]
        # Create the bucket
        bucket_uri = '%s/%s' % (url, bucket)
        res = requests.put(bucket_uri)
        assert res.status_code == 200
        yield server, bucket_uri
def e2e_test_context():
    app = DomainDispatcherApplication(create_backend_app)
    aws_server = Server((FAKE_AWS_HOST, FAKE_AWS_PORT), app)
    aws_httpd = ThreadedHttpd(aws_server)
    aws_httpd.start()

    mesh_dir = TemporaryDirectory()
    forwarder_dir = TemporaryDirectory()

    app = FakeMeshApplication(mesh_dir.name,
                              FAKE_MESH_SHARED_KEY.encode("utf-8"),
                              FAKE_MESH_CLIENT_PASSWORD)
    mesh_server = Server((FAKE_MESH_HOST, FAKE_MESH_PORT), app)

    server_context = ssl.create_default_context(ssl.Purpose.CLIENT_AUTH,
                                                cafile=CA_CERT_PATH)
    server_context.load_cert_chain(SERVER_CERT_PATH, SERVER_KEY_PATH)
    server_context.check_hostname = False
    server_context.verify_mode = ssl.CERT_REQUIRED

    ssl_adapter = BuiltinSSLAdapter(SERVER_CERT_PATH, SERVER_KEY_PATH,
                                    CA_CERT_PATH)
    ssl_adapter.context = server_context

    mesh_server.ssl_adapter = ssl_adapter
    mesh_httpd = ThreadedHttpd(mesh_server)
    mesh_httpd.start()
    yield E2ETestContext(
        fowarder_home=forwarder_dir.name,
        fake_aws_endpoint=f"http://{FAKE_AWS_HOST}:{FAKE_AWS_PORT}",
    )
    mesh_httpd.stop()
    aws_httpd.stop()
    mesh_dir.cleanup()
    forwarder_dir.cleanup()
Пример #7
0
 def __init__(self, port: int, host: str = "localhost") -> None:
     super().__init__(port, host)
     self.server = make_server(
         self.host,
         self.port,
         app=DomainDispatcherApplication(create_backend_app),
         threaded=True)
Пример #8
0
 def run(self):
     application = DomainDispatcherApplication(create_backend_app_with_cors,
                                               service="s3")
     self.server = make_server(
         "localhost",
         4566,
         application,
     )
     self.server.serve_forever()
def _build_fake_s3(host, port):
    app = DomainDispatcherApplication(create_backend_app, "s3")
    server = make_server(host, port, app)
    return ThreadedServer(server)
Пример #10
0
def test_domain_dispatched():
    dispatcher = DomainDispatcherApplication(create_backend_app)
    backend_app = dispatcher.get_application("email.us-east1.amazonaws.com")
    keys = list(backend_app.view_functions.keys())
    keys[0].should.equal('EmailResponse.dispatch')
Пример #11
0
def test_domain_without_matches():
    dispatcher = DomainDispatcherApplication(create_backend_app)
    dispatcher.get_application.when.called_with(
        "not-matching-anything.com").should.throw(RuntimeError)
Пример #12
0
def test_domain_dispatched_with_service():
    # If we pass a particular service, always return that.
    dispatcher = DomainDispatcherApplication(create_backend_app, service="s3")
    backend_app = dispatcher.get_application("s3.us-east1.amazonaws.com")
    backend_app.view_functions.keys()[0].should.equal(
        'ResponseObject.key_response')
Пример #13
0
def test_domain_dispatched():
    dispatcher = DomainDispatcherApplication(create_backend_app)
    backend_app = dispatcher.get_application("email.us-east1.amazonaws.com")
    backend_app.view_functions.keys()[0].should.equal('EmailResponse.dispatch')
def _build_fake_ssm():
    app = DomainDispatcherApplication(create_backend_app, "ssm")
    httpd = Server((FAKE_SSM_HOST, FAKE_SSM_PORT), app)
    return ThreadedHttpd(httpd)