Skip to content

Commit d203a13

Browse files
refactor: aws config
1 parent 2c627fa commit d203a13

File tree

1 file changed

+117
-94
lines changed

1 file changed

+117
-94
lines changed

tests/unit/data_classes/test_aws_config_rule_event.py

+117-94
Original file line numberDiff line numberDiff line change
@@ -6,169 +6,192 @@
66

77
def test_aws_config_rule_configuration_changed():
88
"""Check AWS Config ConfigurationItemChangeNotification event"""
9-
event = AWSConfigRuleEvent(load_event("awsConfigRuleConfigurationChanged.json"))
10-
11-
invoking_event = json.loads(event["invokingEvent"])
12-
13-
assert event.rule_parameters == json.loads(event["ruleParameters"])
14-
assert event.raw_invoking_event == event["invokingEvent"]
15-
assert event.result_token == event["resultToken"]
16-
assert event.event_left_scope == event["eventLeftScope"]
17-
assert event.execution_role_arn == event["executionRoleArn"]
18-
assert event.config_rule_arn == event["configRuleArn"]
19-
assert event.config_rule_name == event["configRuleName"]
20-
assert event.config_rule_id == event["configRuleId"]
21-
assert event.accountid == event["accountId"]
22-
assert event.version == event["version"]
23-
assert event.evalution_mode == event["evaluationMode"]
24-
assert event.invoking_event.message_type == invoking_event["messageType"]
25-
assert event.invoking_event.raw_configuration_item == invoking_event["configurationItem"]
26-
assert event.invoking_event.record_version == invoking_event["recordVersion"]
27-
assert event.invoking_event.notification_creation_time == invoking_event["notificationCreationTime"]
28-
assert event.invoking_event.configuration_item_diff == invoking_event["configurationItemDiff"]
29-
assert (
30-
event.invoking_event.configuration_item.related_events == invoking_event["configurationItem"]["relatedEvents"]
31-
)
32-
assert event.invoking_event.configuration_item.relationships == invoking_event["configurationItem"]["relationships"]
33-
assert event.invoking_event.configuration_item.configuration == invoking_event["configurationItem"]["configuration"]
34-
assert (
35-
event.invoking_event.configuration_item.supplementary_configuration
9+
10+
raw_event = load_event("awsConfigRuleConfigurationChanged.json")
11+
parsed_event = AWSConfigRuleEvent(raw_event)
12+
13+
invoking_event = json.loads(raw_event["invokingEvent"])
14+
15+
assert parsed_event.rule_parameters == json.loads(raw_event["ruleParameters"])
16+
assert parsed_event.raw_invoking_event == raw_event["invokingEvent"]
17+
assert parsed_event.result_token == raw_event["resultToken"]
18+
assert parsed_event.event_left_scope == raw_event["eventLeftScope"]
19+
assert parsed_event.execution_role_arn == raw_event["executionRoleArn"]
20+
assert parsed_event.config_rule_arn == raw_event["configRuleArn"]
21+
assert parsed_event.config_rule_name == raw_event["configRuleName"]
22+
assert parsed_event.config_rule_id == raw_event["configRuleId"]
23+
assert parsed_event.accountid == raw_event["accountId"]
24+
assert parsed_event.version == raw_event["version"]
25+
assert parsed_event.evalution_mode == raw_event["evaluationMode"]
26+
assert parsed_event.invoking_event.message_type == invoking_event["messageType"]
27+
assert parsed_event.invoking_event.raw_configuration_item == invoking_event["configurationItem"]
28+
assert parsed_event.invoking_event.record_version == invoking_event["recordVersion"]
29+
assert parsed_event.invoking_event.notification_creation_time == invoking_event["notificationCreationTime"]
30+
assert parsed_event.invoking_event.configuration_item_diff == invoking_event["configurationItemDiff"]
31+
assert (
32+
parsed_event.invoking_event.configuration_item.related_events
33+
== invoking_event["configurationItem"]["relatedEvents"]
34+
)
35+
assert (
36+
parsed_event.invoking_event.configuration_item.relationships
37+
== invoking_event["configurationItem"]["relationships"]
38+
)
39+
assert (
40+
parsed_event.invoking_event.configuration_item.configuration
41+
== invoking_event["configurationItem"]["configuration"]
42+
)
43+
assert (
44+
parsed_event.invoking_event.configuration_item.supplementary_configuration
3645
== invoking_event["configurationItem"]["supplementaryConfiguration"]
3746
)
38-
assert event.invoking_event.configuration_item.tags == invoking_event["configurationItem"]["tags"]
47+
assert parsed_event.invoking_event.configuration_item.tags == invoking_event["configurationItem"]["tags"]
3948
assert (
40-
event.invoking_event.configuration_item.configuration_item_version
49+
parsed_event.invoking_event.configuration_item.configuration_item_version
4150
== invoking_event["configurationItem"]["configurationItemVersion"]
4251
)
4352
assert (
44-
event.invoking_event.configuration_item.configuration_item_capture_time
53+
parsed_event.invoking_event.configuration_item.configuration_item_capture_time
4554
== invoking_event["configurationItem"]["configurationItemCaptureTime"]
4655
)
4756
assert (
48-
event.invoking_event.configuration_item.configuration_state_id
57+
parsed_event.invoking_event.configuration_item.configuration_state_id
4958
== invoking_event["configurationItem"]["configurationStateId"]
5059
)
51-
assert event.invoking_event.configuration_item.accountid == invoking_event["configurationItem"]["awsAccountId"]
5260
assert (
53-
event.invoking_event.configuration_item.configuration_item_status
61+
parsed_event.invoking_event.configuration_item.accountid == invoking_event["configurationItem"]["awsAccountId"]
62+
)
63+
assert (
64+
parsed_event.invoking_event.configuration_item.configuration_item_status
5465
== invoking_event["configurationItem"]["configurationItemStatus"]
5566
)
56-
assert event.invoking_event.configuration_item.resource_type == invoking_event["configurationItem"]["resourceType"]
57-
assert event.invoking_event.configuration_item.resource_id == invoking_event["configurationItem"]["resourceId"]
58-
assert event.invoking_event.configuration_item.resource_name == invoking_event["configurationItem"]["resourceName"]
59-
assert event.invoking_event.configuration_item.resource_arn == invoking_event["configurationItem"]["ARN"]
60-
assert event.invoking_event.configuration_item.region == invoking_event["configurationItem"]["awsRegion"]
6167
assert (
62-
event.invoking_event.configuration_item.availability_zone
68+
parsed_event.invoking_event.configuration_item.resource_type
69+
== invoking_event["configurationItem"]["resourceType"]
70+
)
71+
assert (
72+
parsed_event.invoking_event.configuration_item.resource_id == invoking_event["configurationItem"]["resourceId"]
73+
)
74+
assert (
75+
parsed_event.invoking_event.configuration_item.resource_name
76+
== invoking_event["configurationItem"]["resourceName"]
77+
)
78+
assert parsed_event.invoking_event.configuration_item.resource_arn == invoking_event["configurationItem"]["ARN"]
79+
assert parsed_event.invoking_event.configuration_item.region == invoking_event["configurationItem"]["awsRegion"]
80+
assert (
81+
parsed_event.invoking_event.configuration_item.availability_zone
6382
== invoking_event["configurationItem"]["availabilityZone"]
6483
)
6584
assert (
66-
event.invoking_event.configuration_item.configuration_state_md5_hash
85+
parsed_event.invoking_event.configuration_item.configuration_state_md5_hash
6786
== invoking_event["configurationItem"]["configurationStateMd5Hash"]
6887
)
6988
assert (
70-
event.invoking_event.configuration_item.resource_creation_time
89+
parsed_event.invoking_event.configuration_item.resource_creation_time
7190
== invoking_event["configurationItem"]["resourceCreationTime"]
7291
)
7392

7493

7594
def test_aws_config_rule_oversized_configuration():
7695
"""Check AWS Config OversizedConfigurationItemChangeNotification event"""
77-
event = AWSConfigRuleEvent(load_event("awsConfigRuleOversizedConfiguration.json"))
78-
79-
invoking_event = json.loads(event["invokingEvent"])
80-
81-
assert event.rule_parameters == json.loads(event["ruleParameters"])
82-
assert event.raw_invoking_event == event["invokingEvent"]
83-
assert event.result_token == event["resultToken"]
84-
assert event.event_left_scope == event["eventLeftScope"]
85-
assert event.execution_role_arn == event["executionRoleArn"]
86-
assert event.config_rule_arn == event["configRuleArn"]
87-
assert event.config_rule_name == event["configRuleName"]
88-
assert event.config_rule_id == event["configRuleId"]
89-
assert event.accountid == event["accountId"]
90-
assert event.version == event["version"]
91-
assert event.invoking_event.message_type == invoking_event["messageType"]
92-
assert event.invoking_event.notification_creation_time == invoking_event["notificationCreationTime"]
93-
assert event.invoking_event.record_version == invoking_event["recordVersion"]
94-
assert event.invoking_event.raw_configuration_item_summary == invoking_event["configurationItemSummary"]
95-
assert (
96-
event.invoking_event.configuration_item_summary.change_type
96+
97+
raw_event = load_event("awsConfigRuleOversizedConfiguration.json")
98+
parsed_event = AWSConfigRuleEvent(raw_event)
99+
100+
invoking_event = json.loads(raw_event["invokingEvent"])
101+
102+
assert parsed_event.rule_parameters == json.loads(raw_event["ruleParameters"])
103+
assert parsed_event.raw_invoking_event == raw_event["invokingEvent"]
104+
assert parsed_event.result_token == raw_event["resultToken"]
105+
assert parsed_event.event_left_scope == raw_event["eventLeftScope"]
106+
assert parsed_event.execution_role_arn == raw_event["executionRoleArn"]
107+
assert parsed_event.config_rule_arn == raw_event["configRuleArn"]
108+
assert parsed_event.config_rule_name == raw_event["configRuleName"]
109+
assert parsed_event.config_rule_id == raw_event["configRuleId"]
110+
assert parsed_event.accountid == raw_event["accountId"]
111+
assert parsed_event.version == raw_event["version"]
112+
assert parsed_event.invoking_event.message_type == invoking_event["messageType"]
113+
assert parsed_event.invoking_event.notification_creation_time == invoking_event["notificationCreationTime"]
114+
assert parsed_event.invoking_event.record_version == invoking_event["recordVersion"]
115+
assert parsed_event.invoking_event.raw_configuration_item_summary == invoking_event["configurationItemSummary"]
116+
assert (
117+
parsed_event.invoking_event.configuration_item_summary.change_type
97118
== invoking_event["configurationItemSummary"]["changeType"]
98119
)
99120
assert (
100-
event.invoking_event.configuration_item_summary.configuration_item_version
121+
parsed_event.invoking_event.configuration_item_summary.configuration_item_version
101122
== invoking_event["configurationItemSummary"]["configurationItemVersion"]
102123
)
103124
assert (
104-
event.invoking_event.configuration_item_summary.configuration_item_capture_time
125+
parsed_event.invoking_event.configuration_item_summary.configuration_item_capture_time
105126
== invoking_event["configurationItemSummary"]["configurationItemCaptureTime"]
106127
)
107128
assert (
108-
event.invoking_event.configuration_item_summary.configuration_state_id
129+
parsed_event.invoking_event.configuration_item_summary.configuration_state_id
109130
== invoking_event["configurationItemSummary"]["configurationStateId"]
110131
)
111132
assert (
112-
event.invoking_event.configuration_item_summary.accountid
133+
parsed_event.invoking_event.configuration_item_summary.accountid
113134
== invoking_event["configurationItemSummary"]["awsAccountId"]
114135
)
115136
assert (
116-
event.invoking_event.configuration_item_summary.configuration_item_status
137+
parsed_event.invoking_event.configuration_item_summary.configuration_item_status
117138
== invoking_event["configurationItemSummary"]["configurationItemStatus"]
118139
)
119140
assert (
120-
event.invoking_event.configuration_item_summary.resource_type
141+
parsed_event.invoking_event.configuration_item_summary.resource_type
121142
== invoking_event["configurationItemSummary"]["resourceType"]
122143
)
123144
assert (
124-
event.invoking_event.configuration_item_summary.resource_id
145+
parsed_event.invoking_event.configuration_item_summary.resource_id
125146
== invoking_event["configurationItemSummary"]["resourceId"]
126147
)
127148
assert (
128-
event.invoking_event.configuration_item_summary.resource_name
149+
parsed_event.invoking_event.configuration_item_summary.resource_name
129150
== invoking_event["configurationItemSummary"]["resourceName"]
130151
)
131152
assert (
132-
event.invoking_event.configuration_item_summary.resource_arn
153+
parsed_event.invoking_event.configuration_item_summary.resource_arn
133154
== invoking_event["configurationItemSummary"]["ARN"]
134155
)
135156
assert (
136-
event.invoking_event.configuration_item_summary.region
157+
parsed_event.invoking_event.configuration_item_summary.region
137158
== invoking_event["configurationItemSummary"]["awsRegion"]
138159
)
139160
assert (
140-
event.invoking_event.configuration_item_summary.availability_zone
161+
parsed_event.invoking_event.configuration_item_summary.availability_zone
141162
== invoking_event["configurationItemSummary"]["availabilityZone"]
142163
)
143164
assert (
144-
event.invoking_event.configuration_item_summary.configuration_state_md5_hash
165+
parsed_event.invoking_event.configuration_item_summary.configuration_state_md5_hash
145166
== invoking_event["configurationItemSummary"]["configurationStateMd5Hash"]
146167
)
147168
assert (
148-
event.invoking_event.configuration_item_summary.resource_creation_time
169+
parsed_event.invoking_event.configuration_item_summary.resource_creation_time
149170
== invoking_event["configurationItemSummary"]["resourceCreationTime"]
150171
)
151172

152173

153174
def test_aws_config_rule_scheduled():
154175
"""Check AWS Config ScheduledNotification event"""
155-
event = AWSConfigRuleEvent(load_event("awsConfigRuleScheduled.json"))
156-
157-
invoking_event = json.loads(event["invokingEvent"])
158-
159-
assert event.rule_parameters == json.loads(event["ruleParameters"])
160-
assert event.raw_invoking_event == event["invokingEvent"]
161-
assert event.result_token == event["resultToken"]
162-
assert event.event_left_scope == event["eventLeftScope"]
163-
assert event.execution_role_arn == event["executionRoleArn"]
164-
assert event.config_rule_arn == event["configRuleArn"]
165-
assert event.config_rule_name == event["configRuleName"]
166-
assert event.config_rule_id == event["configRuleId"]
167-
assert event.accountid == event["accountId"]
168-
assert event.version == event["version"]
169-
assert event.evalution_mode == event["evaluationMode"]
170-
assert event.invoking_event.message_type == invoking_event["messageType"]
171-
assert event.invoking_event.accountid == invoking_event["awsAccountId"]
172-
assert event.invoking_event.notification_creation_time == invoking_event["notificationCreationTime"]
173-
assert event.invoking_event.message_type == invoking_event["messageType"]
174-
assert event.invoking_event.record_version == invoking_event["recordVersion"]
176+
177+
raw_event = load_event("awsConfigRuleScheduled.json")
178+
parsed_event = AWSConfigRuleEvent(raw_event)
179+
180+
invoking_event = json.loads(raw_event["invokingEvent"])
181+
182+
assert parsed_event.rule_parameters == json.loads(raw_event["ruleParameters"])
183+
assert parsed_event.raw_invoking_event == raw_event["invokingEvent"]
184+
assert parsed_event.result_token == raw_event["resultToken"]
185+
assert parsed_event.event_left_scope == raw_event["eventLeftScope"]
186+
assert parsed_event.execution_role_arn == raw_event["executionRoleArn"]
187+
assert parsed_event.config_rule_arn == raw_event["configRuleArn"]
188+
assert parsed_event.config_rule_name == raw_event["configRuleName"]
189+
assert parsed_event.config_rule_id == raw_event["configRuleId"]
190+
assert parsed_event.accountid == raw_event["accountId"]
191+
assert parsed_event.version == raw_event["version"]
192+
assert parsed_event.evalution_mode == raw_event["evaluationMode"]
193+
assert parsed_event.invoking_event.message_type == invoking_event["messageType"]
194+
assert parsed_event.invoking_event.accountid == invoking_event["awsAccountId"]
195+
assert parsed_event.invoking_event.notification_creation_time == invoking_event["notificationCreationTime"]
196+
assert parsed_event.invoking_event.message_type == invoking_event["messageType"]
197+
assert parsed_event.invoking_event.record_version == invoking_event["recordVersion"]

0 commit comments

Comments
 (0)