Skip to content

Commit 61eb830

Browse files
authored
fix: handle parameter group not found error (#140)
Signed-off-by: Di Wang <[email protected]>
1 parent d13a1b2 commit 61eb830

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

hooks/utils/aws_api.py

+6-1
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,12 @@ def get_blue_green_deployment_valid_upgrade_targets(
9494

9595
def get_db_parameter_group(self, name: str) -> DBParameterGroupTypeDef | None:
9696
"""Get DB parameter group info"""
97-
data = self.rds_client.describe_db_parameter_groups(DBParameterGroupName=name)
97+
try:
98+
data = self.rds_client.describe_db_parameter_groups(
99+
DBParameterGroupName=name
100+
)
101+
except self.rds_client.exceptions.DBParameterGroupNotFoundFault:
102+
return None
98103
return data["DBParameterGroups"][0] if data["DBParameterGroups"] else None
99104

100105
def get_db_parameters(

tests/test_aws_api.py

+9
Original file line numberDiff line numberDiff line change
@@ -332,6 +332,15 @@ def test_get_db_parameter_group_when_not_found(mock_rds_client: Mock) -> None:
332332
mock_rds_client.describe_db_parameter_groups.return_value = {
333333
"DBParameterGroups": []
334334
}
335+
mock_rds_client.exceptions.DBParameterGroupNotFoundFault = ClientError
336+
mock_rds_client.describe_db_parameter_groups.side_effect = ClientError(
337+
error_response={
338+
"Error": {
339+
"Code": "DBParameterGroupNotFound",
340+
},
341+
},
342+
operation_name="DescribeDBParameterGroups",
343+
)
335344

336345
result = aws_api.get_db_parameter_group("name")
337346

0 commit comments

Comments
 (0)