45 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			45 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| 
								 | 
							
								import boto3
							 | 
						||
| 
								 | 
							
								import mock
							 | 
						||
| 
								 | 
							
								import os
							 | 
						||
| 
								 | 
							
								import pytest
							 | 
						||
| 
								 | 
							
								from moto import mock_sns, settings
							 | 
						||
| 
								 | 
							
								from unittest import SkipTest
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								@mock_sns
							 | 
						||
| 
								 | 
							
								def test_use_invalid_region():
							 | 
						||
| 
								 | 
							
								    if settings.TEST_SERVER_MODE:
							 | 
						||
| 
								 | 
							
								        raise SkipTest("ServerMode will throw different errors")
							 | 
						||
| 
								 | 
							
								    client = boto3.client("sns", region_name="any-region")
							 | 
						||
| 
								 | 
							
								    with pytest.raises(KeyError) as exc:
							 | 
						||
| 
								 | 
							
								        client.list_platform_applications()
							 | 
						||
| 
								 | 
							
								    str(exc.value).should.contain("any-region")
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								@mock_sns
							 | 
						||
| 
								 | 
							
								@mock.patch.dict(os.environ, {"AWS_DEFAULT_REGION": "us-east-2"})
							 | 
						||
| 
								 | 
							
								def test_use_region_from_env():
							 | 
						||
| 
								 | 
							
								    client = boto3.client("sns")
							 | 
						||
| 
								 | 
							
								    client.list_platform_applications()["PlatformApplications"].should.equal([])
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								@mock_sns
							 | 
						||
| 
								 | 
							
								@mock.patch.dict(os.environ, {"AWS_DEFAULT_REGION": "any-region"})
							 | 
						||
| 
								 | 
							
								def test_use_unknown_region_from_env():
							 | 
						||
| 
								 | 
							
								    if settings.TEST_SERVER_MODE:
							 | 
						||
| 
								 | 
							
								        raise SkipTest("Cannot set environemnt variables in ServerMode")
							 | 
						||
| 
								 | 
							
								    client = boto3.client("sns")
							 | 
						||
| 
								 | 
							
								    with pytest.raises(KeyError) as exc:
							 | 
						||
| 
								 | 
							
								        client.list_platform_applications()
							 | 
						||
| 
								 | 
							
								    str(exc.value).should.contain("any-region")
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								@mock_sns
							 | 
						||
| 
								 | 
							
								@mock.patch.dict(os.environ, {"AWS_DEFAULT_REGION": "any-region"})
							 | 
						||
| 
								 | 
							
								@mock.patch.dict(os.environ, {"MOTO_ALLOW_NONEXISTENT_REGION": "trUe"})
							 | 
						||
| 
								 | 
							
								def test_use_unknown_region_from_env_but_allow_it():
							 | 
						||
| 
								 | 
							
								    if settings.TEST_SERVER_MODE:
							 | 
						||
| 
								 | 
							
								        raise SkipTest("Cannot set environemnt variables in ServerMode")
							 | 
						||
| 
								 | 
							
								    client = boto3.client("sns")
							 | 
						||
| 
								 | 
							
								    client.list_platform_applications()["PlatformApplications"].should.equal([])
							 |