diff --git a/tests/test_core/test_server.py b/tests/test_core/test_server.py index d86f5b53e..c59cdecf6 100644 --- a/tests/test_core/test_server.py +++ b/tests/test_core/test_server.py @@ -1,7 +1,7 @@ from mock import patch import sure # noqa -from moto.server import main +from moto.server import main, create_backend_app, DomainDispatcherApplication def test_wrong_arguments(): @@ -27,3 +27,21 @@ def test_port_argument(run_simple): func_call = run_simple.call_args[0] func_call[0].should.equal("0.0.0.0") func_call[1].should.equal(8080) + + +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 test_domain_without_matches(): + dispatcher = DomainDispatcherApplication(create_backend_app) + dispatcher.get_application.when.called_with("not-matching-anything.com").should.throw(RuntimeError) + + +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')