diff --git a/src/cloudformation_cli_python_lib/boto3_proxy.py b/src/cloudformation_cli_python_lib/boto3_proxy.py index 74ff100..95a1971 100644 --- a/src/cloudformation_cli_python_lib/boto3_proxy.py +++ b/src/cloudformation_cli_python_lib/boto3_proxy.py @@ -14,9 +14,9 @@ def __init__(self, session: Session): def _get_boto_session( - credentials: Optional[Credentials], region: Optional[str] = None + credentials: Optional[Credentials], region: Optional[str] = "us-east-1" ) -> Optional[SessionProxy]: - if not credentials: + if not credentials or not region: return None session = Session( aws_access_key_id=credentials.accessKeyId, diff --git a/tests/lib/boto3_proxy_test.py b/tests/lib/boto3_proxy_test.py index 4995d6e..7ff3bac 100644 --- a/tests/lib/boto3_proxy_test.py +++ b/tests/lib/boto3_proxy_test.py @@ -3,7 +3,12 @@ from cloudformation_cli_python_lib.utils import Credentials -def test_get_boto_session_returns_proxy(): +def test_get_boto_session_region_returns_proxy(): + proxy = _get_boto_session(Credentials("", "", ""), region="test-region") + assert isinstance(proxy, SessionProxy) + + +def test_get_boto_session_no_region_returns_proxy(): proxy = _get_boto_session(Credentials("", "", "")) assert isinstance(proxy, SessionProxy) @@ -13,6 +18,11 @@ def test_get_boto_session_returns_none(): assert proxy is None +def test_get_boto_no_session_no_region_returns_none(): + proxy = _get_boto_session(None, None) + assert proxy is None + + def test_can_retrieve_boto_session(): proxy = _get_boto_session(Credentials("", "", "")) session = proxy.session