49 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| import sure  # noqa # pylint: disable=unused-import
 | |
| 
 | |
| from unittest.mock import patch
 | |
| from moto.server import main, create_backend_app, DomainDispatcherApplication
 | |
| 
 | |
| 
 | |
| def test_wrong_arguments():
 | |
|     try:
 | |
|         main(["name", "test1", "test2", "test3"])
 | |
|         assert False, (
 | |
|             "main() when called with the incorrect number of args"
 | |
|             " should raise a system exit"
 | |
|         )
 | |
|     except SystemExit:
 | |
|         pass
 | |
| 
 | |
| 
 | |
| @patch("moto.server.run_simple")
 | |
| def test_right_arguments(run_simple):
 | |
|     main(["s3"])
 | |
|     func_call = run_simple.call_args[0]
 | |
|     func_call[0].should.equal("127.0.0.1")
 | |
|     func_call[1].should.equal(5000)
 | |
| 
 | |
| 
 | |
| @patch("moto.server.run_simple")
 | |
| def test_port_argument(run_simple):
 | |
|     main(["s3", "--port", "8080"])
 | |
|     func_call = run_simple.call_args[0]
 | |
|     func_call[0].should.equal("127.0.0.1")
 | |
|     func_call[1].should.equal(8080)
 | |
| 
 | |
| 
 | |
| 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")
 | |
| 
 | |
| 
 | |
| 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("S3Response.key_response")
 |