Skip to content

Commit e5e74db

Browse files
authored
Fix legacy test that broke pipeline after eventbridge cron update (#12160)
1 parent 65647fc commit e5e74db

File tree

7 files changed

+90
-45
lines changed

7 files changed

+90
-45
lines changed

tests/aws/services/cloudformation/resources/test_events.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -154,10 +154,11 @@ def test_event_rule_to_logs(deploy_cfn_template, aws_client):
154154
assert message_token in log_events["events"][0]["message"]
155155

156156

157-
# {"LogicalResourceId": "TestRule99A50909", "ResourceType": "AWS::Events::Rule", "ResourceStatus": "CREATE_FAILED", "ResourceStatusReason": "Parameter ScheduleExpression is not valid."}
158-
@markers.aws.needs_fixing
159-
def test_event_rule_creation_without_target(deploy_cfn_template, aws_client):
157+
@markers.aws.validated
158+
def test_event_rule_creation_without_target(deploy_cfn_template, aws_client, snapshot):
160159
event_rule_name = f"event-rule-{short_uid()}"
160+
snapshot.add_transformer(snapshot.transform.regex(event_rule_name, "event-rule-name"))
161+
161162
deploy_cfn_template(
162163
template_path=os.path.join(
163164
os.path.dirname(__file__), "../../../templates/events_rule_without_targets.yaml"
@@ -168,7 +169,7 @@ def test_event_rule_creation_without_target(deploy_cfn_template, aws_client):
168169
response = aws_client.events.describe_rule(
169170
Name=event_rule_name,
170171
)
171-
assert response
172+
snapshot.match("describe_rule", response)
172173

173174

174175
@markers.aws.validated

tests/aws/services/cloudformation/resources/test_events.snapshot.json

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,5 +49,22 @@
4949
}
5050
}
5151
}
52+
},
53+
"tests/aws/services/cloudformation/resources/test_events.py::test_event_rule_creation_without_target": {
54+
"recorded-date": "22-01-2025, 14:15:04",
55+
"recorded-content": {
56+
"describe_rule": {
57+
"Arn": "arn:<partition>:events:<region>:111111111111:rule/event-rule-name",
58+
"CreatedBy": "111111111111",
59+
"EventBusName": "default",
60+
"Name": "event-rule-name",
61+
"ScheduleExpression": "cron(0 1 * * ? *)",
62+
"State": "ENABLED",
63+
"ResponseMetadata": {
64+
"HTTPHeaders": {},
65+
"HTTPStatusCode": 200
66+
}
67+
}
68+
}
5269
}
5370
}

tests/aws/services/cloudformation/resources/test_events.validation.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22
"tests/aws/services/cloudformation/resources/test_events.py::test_cfn_event_api_destination_resource": {
33
"last_validated_date": "2024-04-16T06:36:56+00:00"
44
},
5+
"tests/aws/services/cloudformation/resources/test_events.py::test_event_rule_creation_without_target": {
6+
"last_validated_date": "2025-01-22T14:15:04+00:00"
7+
},
58
"tests/aws/services/cloudformation/resources/test_events.py::test_eventbus_policy_statement": {
69
"last_validated_date": "2024-11-14T21:46:23+00:00"
710
},

tests/aws/services/events/test_events_schedule.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
from tests.aws.services.events.helper_functions import (
1414
events_time_string_to_timestamp,
1515
get_cron_expression,
16+
is_old_provider,
1617
sqs_collect_messages,
1718
)
1819

@@ -310,9 +311,14 @@ def tests_put_rule_with_schedule_cron(
310311
snapshot.match("list-rules", response)
311312

312313
@markers.aws.validated
314+
@pytest.mark.skipif(
315+
is_old_provider(),
316+
reason="V1 provider does not properly validate",
317+
)
313318
@pytest.mark.parametrize(
314319
"schedule_cron",
315320
[
321+
"cron(0 1 * * * *)", # you can't specify the Day-of-month and Day-of-week fields in the same cron expression
316322
"cron(7 20 * * NOT *)",
317323
"cron(INVALID)",
318324
"cron(0 dummy ? * MON-FRI *)",

tests/aws/services/events/test_events_schedule.snapshot.json

Lines changed: 35 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@
146146
}
147147
},
148148
"tests/aws/services/events/test_events_schedule.py::TestScheduleCron::tests_put_rule_with_schedule_cron[cron(0 10 * * ? *)]": {
149-
"recorded-date": "21-01-2025, 17:46:05",
149+
"recorded-date": "22-01-2025, 13:22:45",
150150
"recorded-content": {
151151
"put-rule": {
152152
"RuleArn": "arn:<partition>:events:<region>:111111111111:rule/<rule-name>",
@@ -173,7 +173,7 @@
173173
}
174174
},
175175
"tests/aws/services/events/test_events_schedule.py::TestScheduleCron::tests_put_rule_with_schedule_cron[cron(15 12 * * ? *)]": {
176-
"recorded-date": "21-01-2025, 17:46:05",
176+
"recorded-date": "22-01-2025, 13:22:46",
177177
"recorded-content": {
178178
"put-rule": {
179179
"RuleArn": "arn:<partition>:events:<region>:111111111111:rule/<rule-name>",
@@ -200,7 +200,7 @@
200200
}
201201
},
202202
"tests/aws/services/events/test_events_schedule.py::TestScheduleCron::tests_put_rule_with_schedule_cron[cron(0 18 ? * MON-FRI *)]": {
203-
"recorded-date": "21-01-2025, 17:46:06",
203+
"recorded-date": "22-01-2025, 13:22:47",
204204
"recorded-content": {
205205
"put-rule": {
206206
"RuleArn": "arn:<partition>:events:<region>:111111111111:rule/<rule-name>",
@@ -227,7 +227,7 @@
227227
}
228228
},
229229
"tests/aws/services/events/test_events_schedule.py::TestScheduleCron::tests_put_rule_with_schedule_cron[cron(0 8 1 * ? *)]": {
230-
"recorded-date": "21-01-2025, 17:46:06",
230+
"recorded-date": "22-01-2025, 13:22:47",
231231
"recorded-content": {
232232
"put-rule": {
233233
"RuleArn": "arn:<partition>:events:<region>:111111111111:rule/<rule-name>",
@@ -254,7 +254,7 @@
254254
}
255255
},
256256
"tests/aws/services/events/test_events_schedule.py::TestScheduleCron::tests_put_rule_with_schedule_cron[cron(0/15 * * * ? *)]": {
257-
"recorded-date": "21-01-2025, 17:46:07",
257+
"recorded-date": "22-01-2025, 13:22:48",
258258
"recorded-content": {
259259
"put-rule": {
260260
"RuleArn": "arn:<partition>:events:<region>:111111111111:rule/<rule-name>",
@@ -281,7 +281,7 @@
281281
}
282282
},
283283
"tests/aws/services/events/test_events_schedule.py::TestScheduleCron::tests_put_rule_with_schedule_cron[cron(0/10 * ? * MON-FRI *)]": {
284-
"recorded-date": "21-01-2025, 17:46:07",
284+
"recorded-date": "22-01-2025, 13:22:48",
285285
"recorded-content": {
286286
"put-rule": {
287287
"RuleArn": "arn:<partition>:events:<region>:111111111111:rule/<rule-name>",
@@ -308,7 +308,7 @@
308308
}
309309
},
310310
"tests/aws/services/events/test_events_schedule.py::TestScheduleCron::tests_put_rule_with_schedule_cron[cron(0/5 8-17 ? * MON-FRI *)]": {
311-
"recorded-date": "21-01-2025, 17:46:08",
311+
"recorded-date": "22-01-2025, 13:22:49",
312312
"recorded-content": {
313313
"put-rule": {
314314
"RuleArn": "arn:<partition>:events:<region>:111111111111:rule/<rule-name>",
@@ -335,7 +335,7 @@
335335
}
336336
},
337337
"tests/aws/services/events/test_events_schedule.py::TestScheduleCron::tests_put_rule_with_schedule_cron[cron(0/30 20-23 ? * MON-FRI *)]": {
338-
"recorded-date": "21-01-2025, 17:46:08",
338+
"recorded-date": "22-01-2025, 13:22:49",
339339
"recorded-content": {
340340
"put-rule": {
341341
"RuleArn": "arn:<partition>:events:<region>:111111111111:rule/<rule-name>",
@@ -362,7 +362,7 @@
362362
}
363363
},
364364
"tests/aws/services/events/test_events_schedule.py::TestScheduleCron::tests_put_rule_with_schedule_cron[cron(0/30 0-2 ? * MON-FRI *)]": {
365-
"recorded-date": "21-01-2025, 17:46:09",
365+
"recorded-date": "22-01-2025, 13:22:50",
366366
"recorded-content": {
367367
"put-rule": {
368368
"RuleArn": "arn:<partition>:events:<region>:111111111111:rule/<rule-name>",
@@ -419,7 +419,7 @@
419419
}
420420
},
421421
"tests/aws/services/events/test_events_schedule.py::TestScheduleCron::tests_put_rule_with_invalid_schedule_cron[cron(INVALID)]": {
422-
"recorded-date": "21-01-2025, 17:46:10",
422+
"recorded-date": "22-01-2025, 13:55:49",
423423
"recorded-content": {
424424
"invalid-put-rule": {
425425
"Error": {
@@ -434,7 +434,7 @@
434434
}
435435
},
436436
"tests/aws/services/events/test_events_schedule.py::TestScheduleCron::tests_put_rule_with_invalid_schedule_cron[cron(0 dummy ? * MON-FRI *)]": {
437-
"recorded-date": "21-01-2025, 17:46:11",
437+
"recorded-date": "22-01-2025, 13:55:50",
438438
"recorded-content": {
439439
"invalid-put-rule": {
440440
"Error": {
@@ -449,7 +449,7 @@
449449
}
450450
},
451451
"tests/aws/services/events/test_events_schedule.py::TestScheduleCron::tests_put_rule_with_schedule_cron[cron(0 2 ? * SAT *)]": {
452-
"recorded-date": "21-01-2025, 17:46:01",
452+
"recorded-date": "22-01-2025, 13:22:42",
453453
"recorded-content": {
454454
"put-rule": {
455455
"RuleArn": "arn:<partition>:events:<region>:111111111111:rule/<rule-name>",
@@ -476,7 +476,7 @@
476476
}
477477
},
478478
"tests/aws/services/events/test_events_schedule.py::TestScheduleCron::tests_put_rule_with_schedule_cron[cron(0 12 * * ? *)]": {
479-
"recorded-date": "21-01-2025, 17:46:01",
479+
"recorded-date": "22-01-2025, 13:22:42",
480480
"recorded-content": {
481481
"put-rule": {
482482
"RuleArn": "arn:<partition>:events:<region>:111111111111:rule/<rule-name>",
@@ -503,7 +503,7 @@
503503
}
504504
},
505505
"tests/aws/services/events/test_events_schedule.py::TestScheduleCron::tests_put_rule_with_schedule_cron[cron(5,35 14 * * ? *)]": {
506-
"recorded-date": "21-01-2025, 17:46:02",
506+
"recorded-date": "22-01-2025, 13:22:43",
507507
"recorded-content": {
508508
"put-rule": {
509509
"RuleArn": "arn:<partition>:events:<region>:111111111111:rule/<rule-name>",
@@ -530,7 +530,7 @@
530530
}
531531
},
532532
"tests/aws/services/events/test_events_schedule.py::TestScheduleCron::tests_put_rule_with_schedule_cron[cron(15 10 ? * 6L 2002-2005)]": {
533-
"recorded-date": "21-01-2025, 17:46:02",
533+
"recorded-date": "22-01-2025, 13:22:43",
534534
"recorded-content": {
535535
"put-rule": {
536536
"RuleArn": "arn:<partition>:events:<region>:111111111111:rule/<rule-name>",
@@ -557,7 +557,7 @@
557557
}
558558
},
559559
"tests/aws/services/events/test_events_schedule.py::TestScheduleCron::tests_put_rule_with_schedule_cron[cron(0 2 ? * SAT#3 *)]": {
560-
"recorded-date": "21-01-2025, 17:46:03",
560+
"recorded-date": "22-01-2025, 13:22:44",
561561
"recorded-content": {
562562
"put-rule": {
563563
"RuleArn": "arn:<partition>:events:<region>:111111111111:rule/<rule-name>",
@@ -584,7 +584,7 @@
584584
}
585585
},
586586
"tests/aws/services/events/test_events_schedule.py::TestScheduleCron::tests_put_rule_with_schedule_cron[cron(* * ? * SAT#3 *)]": {
587-
"recorded-date": "21-01-2025, 17:46:03",
587+
"recorded-date": "22-01-2025, 13:22:44",
588588
"recorded-content": {
589589
"put-rule": {
590590
"RuleArn": "arn:<partition>:events:<region>:111111111111:rule/<rule-name>",
@@ -611,7 +611,7 @@
611611
}
612612
},
613613
"tests/aws/services/events/test_events_schedule.py::TestScheduleCron::tests_put_rule_with_schedule_cron[cron(0/5 5 ? JAN 1-5 2022)]": {
614-
"recorded-date": "21-01-2025, 17:46:04",
614+
"recorded-date": "22-01-2025, 13:22:45",
615615
"recorded-content": {
616616
"put-rule": {
617617
"RuleArn": "arn:<partition>:events:<region>:111111111111:rule/<rule-name>",
@@ -638,7 +638,7 @@
638638
}
639639
},
640640
"tests/aws/services/events/test_events_schedule.py::TestScheduleCron::tests_put_rule_with_invalid_schedule_cron[cron(7 20 * * NOT *)]": {
641-
"recorded-date": "21-01-2025, 17:46:09",
641+
"recorded-date": "22-01-2025, 13:55:49",
642642
"recorded-content": {
643643
"invalid-put-rule": {
644644
"Error": {
@@ -653,7 +653,22 @@
653653
}
654654
},
655655
"tests/aws/services/events/test_events_schedule.py::TestScheduleCron::tests_put_rule_with_invalid_schedule_cron[cron(71 8 1 * ? *)]": {
656-
"recorded-date": "21-01-2025, 17:46:11",
656+
"recorded-date": "22-01-2025, 13:55:50",
657+
"recorded-content": {
658+
"invalid-put-rule": {
659+
"Error": {
660+
"Code": "ValidationException",
661+
"Message": "Parameter ScheduleExpression is not valid."
662+
},
663+
"ResponseMetadata": {
664+
"HTTPHeaders": {},
665+
"HTTPStatusCode": 400
666+
}
667+
}
668+
}
669+
},
670+
"tests/aws/services/events/test_events_schedule.py::TestScheduleCron::tests_put_rule_with_invalid_schedule_cron[cron(0 1 * * * *)]": {
671+
"recorded-date": "22-01-2025, 13:55:48",
657672
"recorded-content": {
658673
"invalid-put-rule": {
659674
"Error": {

tests/aws/services/events/test_events_schedule.validation.json

Lines changed: 23 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -2,68 +2,71 @@
22
"tests/aws/services/events/test_events_schedule.py::TestScheduleCron::test_schedule_cron_target_sqs": {
33
"last_validated_date": "2024-05-15T10:58:53+00:00"
44
},
5+
"tests/aws/services/events/test_events_schedule.py::TestScheduleCron::tests_put_rule_with_invalid_schedule_cron[cron(0 1 * * * *)]": {
6+
"last_validated_date": "2025-01-22T13:55:48+00:00"
7+
},
58
"tests/aws/services/events/test_events_schedule.py::TestScheduleCron::tests_put_rule_with_invalid_schedule_cron[cron(0 dummy ? * MON-FRI *)]": {
6-
"last_validated_date": "2025-01-21T17:46:11+00:00"
9+
"last_validated_date": "2025-01-22T13:55:50+00:00"
710
},
811
"tests/aws/services/events/test_events_schedule.py::TestScheduleCron::tests_put_rule_with_invalid_schedule_cron[cron(7 20 * * NOT *)]": {
9-
"last_validated_date": "2025-01-21T17:46:09+00:00"
12+
"last_validated_date": "2025-01-22T13:55:49+00:00"
1013
},
1114
"tests/aws/services/events/test_events_schedule.py::TestScheduleCron::tests_put_rule_with_invalid_schedule_cron[cron(71 8 1 * ? *)]": {
12-
"last_validated_date": "2025-01-21T17:46:11+00:00"
15+
"last_validated_date": "2025-01-22T13:55:50+00:00"
1316
},
1417
"tests/aws/services/events/test_events_schedule.py::TestScheduleCron::tests_put_rule_with_invalid_schedule_cron[cron(INVALID)]": {
15-
"last_validated_date": "2025-01-21T17:46:10+00:00"
18+
"last_validated_date": "2025-01-22T13:55:49+00:00"
1619
},
1720
"tests/aws/services/events/test_events_schedule.py::TestScheduleCron::tests_put_rule_with_schedule_cron": {
1821
"last_validated_date": "2024-05-14T14:50:51+00:00"
1922
},
2023
"tests/aws/services/events/test_events_schedule.py::TestScheduleCron::tests_put_rule_with_schedule_cron[cron(* * ? * SAT#3 *)]": {
21-
"last_validated_date": "2025-01-21T17:46:03+00:00"
24+
"last_validated_date": "2025-01-22T13:22:44+00:00"
2225
},
2326
"tests/aws/services/events/test_events_schedule.py::TestScheduleCron::tests_put_rule_with_schedule_cron[cron(0 10 * * ? *)]": {
24-
"last_validated_date": "2025-01-21T17:46:05+00:00"
27+
"last_validated_date": "2025-01-22T13:22:45+00:00"
2528
},
2629
"tests/aws/services/events/test_events_schedule.py::TestScheduleCron::tests_put_rule_with_schedule_cron[cron(0 12 * * ? *)]": {
27-
"last_validated_date": "2025-01-21T17:46:01+00:00"
30+
"last_validated_date": "2025-01-22T13:22:42+00:00"
2831
},
2932
"tests/aws/services/events/test_events_schedule.py::TestScheduleCron::tests_put_rule_with_schedule_cron[cron(0 18 ? * MON-FRI *)]": {
30-
"last_validated_date": "2025-01-21T17:46:06+00:00"
33+
"last_validated_date": "2025-01-22T13:22:47+00:00"
3134
},
3235
"tests/aws/services/events/test_events_schedule.py::TestScheduleCron::tests_put_rule_with_schedule_cron[cron(0 2 ? * SAT *)]": {
33-
"last_validated_date": "2025-01-21T17:46:01+00:00"
36+
"last_validated_date": "2025-01-22T13:22:42+00:00"
3437
},
3538
"tests/aws/services/events/test_events_schedule.py::TestScheduleCron::tests_put_rule_with_schedule_cron[cron(0 2 ? * SAT#3 *)]": {
36-
"last_validated_date": "2025-01-21T17:46:03+00:00"
39+
"last_validated_date": "2025-01-22T13:22:44+00:00"
3740
},
3841
"tests/aws/services/events/test_events_schedule.py::TestScheduleCron::tests_put_rule_with_schedule_cron[cron(0 8 1 * ? *)]": {
39-
"last_validated_date": "2025-01-21T17:46:06+00:00"
42+
"last_validated_date": "2025-01-22T13:22:47+00:00"
4043
},
4144
"tests/aws/services/events/test_events_schedule.py::TestScheduleCron::tests_put_rule_with_schedule_cron[cron(0/10 * ? * MON-FRI *)]": {
42-
"last_validated_date": "2025-01-21T17:46:07+00:00"
45+
"last_validated_date": "2025-01-22T13:22:48+00:00"
4346
},
4447
"tests/aws/services/events/test_events_schedule.py::TestScheduleCron::tests_put_rule_with_schedule_cron[cron(0/15 * * * ? *)]": {
45-
"last_validated_date": "2025-01-21T17:46:07+00:00"
48+
"last_validated_date": "2025-01-22T13:22:48+00:00"
4649
},
4750
"tests/aws/services/events/test_events_schedule.py::TestScheduleCron::tests_put_rule_with_schedule_cron[cron(0/30 0-2 ? * MON-FRI *)]": {
48-
"last_validated_date": "2025-01-21T17:46:09+00:00"
51+
"last_validated_date": "2025-01-22T13:22:50+00:00"
4952
},
5053
"tests/aws/services/events/test_events_schedule.py::TestScheduleCron::tests_put_rule_with_schedule_cron[cron(0/30 20-23 ? * MON-FRI *)]": {
51-
"last_validated_date": "2025-01-21T17:46:08+00:00"
54+
"last_validated_date": "2025-01-22T13:22:49+00:00"
5255
},
5356
"tests/aws/services/events/test_events_schedule.py::TestScheduleCron::tests_put_rule_with_schedule_cron[cron(0/5 5 ? JAN 1-5 2022)]": {
54-
"last_validated_date": "2025-01-21T17:46:04+00:00"
57+
"last_validated_date": "2025-01-22T13:22:45+00:00"
5558
},
5659
"tests/aws/services/events/test_events_schedule.py::TestScheduleCron::tests_put_rule_with_schedule_cron[cron(0/5 8-17 ? * MON-FRI *)]": {
57-
"last_validated_date": "2025-01-21T17:46:08+00:00"
60+
"last_validated_date": "2025-01-22T13:22:49+00:00"
5861
},
5962
"tests/aws/services/events/test_events_schedule.py::TestScheduleCron::tests_put_rule_with_schedule_cron[cron(15 10 ? * 6L 2002-2005)]": {
60-
"last_validated_date": "2025-01-21T17:46:02+00:00"
63+
"last_validated_date": "2025-01-22T13:22:43+00:00"
6164
},
6265
"tests/aws/services/events/test_events_schedule.py::TestScheduleCron::tests_put_rule_with_schedule_cron[cron(15 12 * * ? *)]": {
63-
"last_validated_date": "2025-01-21T17:46:05+00:00"
66+
"last_validated_date": "2025-01-22T13:22:46+00:00"
6467
},
6568
"tests/aws/services/events/test_events_schedule.py::TestScheduleCron::tests_put_rule_with_schedule_cron[cron(5,35 14 * * ? *)]": {
66-
"last_validated_date": "2025-01-21T17:46:02+00:00"
69+
"last_validated_date": "2025-01-22T13:22:43+00:00"
6770
},
6871
"tests/aws/services/events/test_events_schedule.py::TestScheduleRate::test_put_rule_with_invalid_schedule_rate[ rate(10 minutes)]": {
6972
"last_validated_date": "2024-05-14T11:27:18+00:00"

tests/aws/templates/events_rule_without_targets.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,4 @@ Resources:
88
Properties:
99
Name:
1010
Ref: EventRuleName
11-
ScheduleExpression: 'cron(0 1 * * * *)'
11+
ScheduleExpression: 'cron(0 1 * * ? *)'

0 commit comments

Comments
 (0)