Skip to content

Commit 4951736

Browse files
tobywfRJ Lohan
authored andcommitted
Store type name (#65)
1 parent 97759b4 commit 4951736

File tree

4 files changed

+16
-9
lines changed

4 files changed

+16
-9
lines changed

python/rpdk/python/codegen.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,9 @@ def _copy_resource(path, resource_name=None):
9595
handler_package_path.mkdir(parents=True, exist_ok=True)
9696
_copy_resource(handler_package_path / "__init__.py")
9797
_render_template(
98-
handler_package_path / "handlers.py", support_lib_pkg=SUPPORT_LIB_PKG
98+
handler_package_path / "handlers.py",
99+
support_lib_pkg=SUPPORT_LIB_PKG,
100+
type_name=project.type_name,
99101
)
100102
# models.py produced by generate
101103

python/rpdk/python/templates/handlers.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,9 @@
1515

1616
# Use this logger to forward log messages to CloudWatch Logs.
1717
LOG = logging.getLogger(__name__)
18+
TYPE_NAME = "{{ type_name }}"
1819

19-
resource = Resource(ResourceModel)
20+
resource = Resource(TYPE_NAME, ResourceModel)
2021
test_entrypoint = resource.test_entrypoint
2122

2223

src/cloudformation_cli_python_lib/resource.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,10 @@ def wrapper(self: Any, event: MutableMapping[str, Any], context: Any) -> Any:
6060

6161

6262
class Resource:
63-
def __init__(self, resouce_model_cls: Type[BaseResourceModel]) -> None:
63+
def __init__(
64+
self, type_name: str, resouce_model_cls: Type[BaseResourceModel]
65+
) -> None:
66+
self.type_name = type_name
6467
self._model_cls: Type[BaseResourceModel] = resouce_model_cls
6568
self._handlers: MutableMapping[Action, HandlerSignature] = {}
6669

tests/lib/resource_test.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -51,11 +51,12 @@
5151
"stackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/SampleStack/e"
5252
"722ae60-fe62-11e8-9a0e-0ae8cc519968",
5353
}
54+
TYPE_NAME = "Test::Foo::Bar"
5455

5556

5657
@pytest.fixture
5758
def resource():
58-
return Resource(None)
59+
return Resource(TYPE_NAME, None)
5960

6061

6162
def patch_and_raise(resource, str_to_patch, exc_cls, entrypoint):
@@ -76,7 +77,7 @@ def test_entrypoint_handler_error(resource):
7677

7778

7879
def test_entrypoint_success():
79-
resource = Resource(Mock())
80+
resource = Resource(TYPE_NAME, Mock())
8081
event = ProgressEvent(status=OperationStatus.SUCCESS, message="")
8182
mock_handler = resource.handler(Action.CREATE)(Mock(return_value=event))
8283

@@ -146,7 +147,7 @@ def test_entrypoint_with_context():
146147

147148

148149
def test_entrypoint_success_without_caller_provider_creds():
149-
resource = Resource(Mock())
150+
resource = Resource(TYPE_NAME, Mock())
150151
event = ProgressEvent(status=OperationStatus.SUCCESS, message="")
151152
resource.handler(Action.CREATE)(Mock(return_value=event))
152153

@@ -195,7 +196,7 @@ def test__parse_request_valid_request():
195196
mock_model = Mock(spec_set=["_deserialize"])
196197
mock_model._deserialize.side_effect = [sentinel.state_out1, sentinel.state_out2]
197198

198-
resource = Resource(mock_model)
199+
resource = Resource(TYPE_NAME, mock_model)
199200

200201
with patch(
201202
"cloudformation_cli_python_lib.resource._get_boto_session"
@@ -320,7 +321,7 @@ def test__parse_test_request_valid_request():
320321
"callbackContext": None,
321322
}
322323

323-
resource = Resource(mock_model)
324+
resource = Resource(TYPE_NAME, mock_model)
324325

325326
with patch(
326327
"cloudformation_cli_python_lib.resource._get_boto_session"
@@ -366,7 +367,7 @@ def test_test_entrypoint_success():
366367
mock_model = Mock(spec_set=["_deserialize"])
367368
mock_model._deserialize.side_effect = [None, None]
368369

369-
resource = Resource(mock_model)
370+
resource = Resource(TYPE_NAME, mock_model)
370371
progress_event = ProgressEvent(status=OperationStatus.SUCCESS)
371372
mock_handler = resource.handler(Action.CREATE)(Mock(return_value=progress_event))
372373

0 commit comments

Comments
 (0)