@@ -725,7 +725,7 @@ def test_create_list_describe_delete_custom_event_buses(
725
725
response = events .create_event_bus (Name = bus_name )
726
726
snapshot .match (f"create-custom-event-bus-{ region } " , response )
727
727
728
- response = events .list_event_buses ()
728
+ response = events .list_event_buses (NamePrefix = bus_name )
729
729
snapshot .match (f"list-event-buses-after-create-{ region } " , response )
730
730
731
731
response = events .describe_event_bus (Name = bus_name )
@@ -738,7 +738,7 @@ def test_create_list_describe_delete_custom_event_buses(
738
738
response = events .delete_event_bus (Name = bus_name )
739
739
snapshot .match (f"delete-custom-event-bus-{ region } " , response )
740
740
741
- response = events .list_event_buses ()
741
+ response = events .list_event_buses (NamePrefix = bus_name )
742
742
snapshot .match (f"list-event-buses-after-delete-{ region } " , response )
743
743
744
744
@markers .aws .validated
@@ -772,7 +772,7 @@ def test_delete_default_event_bus(self, aws_client, snapshot):
772
772
@markers .aws .validated
773
773
def test_list_event_buses_with_prefix (self , create_event_bus , aws_client , snapshot ):
774
774
events = aws_client .events
775
- bus_name = f"test-bus -{ short_uid ()} "
775
+ bus_name = f"unique-prefix-1234567890 -{ short_uid ()} "
776
776
snapshot .add_transformer (snapshot .transform .regex (bus_name , "<bus-name>" ))
777
777
778
778
bus_name_not_match = "no-prefix-match"
@@ -803,11 +803,11 @@ def test_list_event_buses_with_limit(self, create_event_bus, aws_client, snapsho
803
803
bus_name = f"{ bus_name_prefix } -{ i } "
804
804
create_event_bus (Name = bus_name )
805
805
806
- response = events .list_event_buses (Limit = int (count / 2 ))
806
+ response = events .list_event_buses (Limit = int (count / 2 ), NamePrefix = bus_name_prefix )
807
807
snapshot .match ("list-event-buses-limit" , response )
808
808
809
809
response = events .list_event_buses (
810
- Limit = int (count / 2 ) + 2 , NextToken = response ["NextToken" ]
810
+ Limit = int (count / 2 ) + 2 , NextToken = response ["NextToken" ], NamePrefix = bus_name_prefix
811
811
)
812
812
snapshot .match ("list-event-buses-limit-next-token" , response )
813
813
@@ -883,6 +883,7 @@ def test_put_events_into_event_bus(
883
883
884
884
@markers .aws .validated
885
885
@pytest .mark .skipif (is_v2_provider (), reason = "V2 provider does not support this feature yet" )
886
+ # TODO simplify and use sqs as target
886
887
def test_put_events_to_default_eventbus_for_custom_eventbus (
887
888
self ,
888
889
events_create_event_bus ,
@@ -1035,8 +1036,6 @@ def test_put_events_nonexistent_event_bus(
1035
1036
snapshot .transform .regex (nonexistent_event_bus , "<custom-event-bus>" ),
1036
1037
]
1037
1038
)
1038
- # create SQS queue + add rules & targets so that we can check the default event bus received the message
1039
- # even if one entry was wrong
1040
1039
1041
1040
queue_url = sqs_create_queue ()
1042
1041
queue_arn = sqs_get_queue_arn (queue_url )
@@ -1059,16 +1058,14 @@ def test_put_events_nonexistent_event_bus(
1059
1058
Targets = [{"Id" : default_bus_target_id , "Arn" : queue_arn }],
1060
1059
)
1061
1060
1062
- # create two entries, one with no EventBus specified (so it will target the default one)
1063
- # and one with a nonexistent EventBusName, which should be ignored
1064
1061
entries = [
1065
1062
{
1066
1063
"Source" : "MySource" ,
1067
1064
"DetailType" : "CustomType" ,
1068
1065
"Detail" : json .dumps ({"message" : "for the default event bus" }),
1069
1066
},
1070
1067
{
1071
- "EventBusName" : nonexistent_event_bus ,
1068
+ "EventBusName" : nonexistent_event_bus , # nonexistent EventBusName, message should be ignored
1072
1069
"Source" : "MySource" ,
1073
1070
"DetailType" : "CustomType" ,
1074
1071
"Detail" : json .dumps ({"message" : "for the custom event bus" }),
@@ -1077,7 +1074,7 @@ def test_put_events_nonexistent_event_bus(
1077
1074
response = aws_client .events .put_events (Entries = entries )
1078
1075
snapshot .match ("put-events" , response )
1079
1076
1080
- def _get_sqs_messages ():
1077
+ def _get_sqs_messages (): # TODO cleanup use exiting fixture
1081
1078
resp = aws_client .sqs .receive_message (
1082
1079
QueueUrl = queue_url , VisibilityTimeout = 0 , WaitTimeSeconds = 1
1083
1080
)
@@ -1091,7 +1088,6 @@ def _get_sqs_messages():
1091
1088
messages = retry (_get_sqs_messages , retries = 10 , sleep = 0.1 )
1092
1089
snapshot .match ("get-events" , messages )
1093
1090
1094
- # try to get the custom EventBus we passed the Event to
1095
1091
with pytest .raises (ClientError ) as e :
1096
1092
aws_client .events .describe_event_bus (Name = nonexistent_event_bus )
1097
1093
snapshot .match ("non-existent-bus-error" , e .value .response )
@@ -1131,44 +1127,59 @@ def test_put_list_with_prefix_describe_delete_rule(
1131
1127
snapshot .match ("list-rules-after-delete" , response )
1132
1128
1133
1129
@markers .aws .validated
1134
- def test_put_multiple_rules_with_same_name (self , put_rule , aws_client , snapshot ):
1130
+ def test_put_multiple_rules_with_same_name (
1131
+ self , create_event_bus , put_rule , aws_client , snapshot
1132
+ ):
1133
+ event_bus_name = f"bus-{ short_uid ()} "
1134
+ create_event_bus (Name = event_bus_name )
1135
+ snapshot .add_transformer (snapshot .transform .regex (event_bus_name , "<bus-name>" ))
1136
+
1135
1137
rule_name = f"test-rule-{ short_uid ()} "
1136
1138
snapshot .add_transformer (snapshot .transform .regex (rule_name , "<rule-name>" ))
1137
1139
1138
1140
response = put_rule (
1139
1141
Name = rule_name ,
1142
+ EventBusName = event_bus_name ,
1140
1143
EventPattern = json .dumps (TEST_EVENT_PATTERN ),
1141
1144
)
1142
1145
snapshot .match ("put-rule" , response )
1143
1146
1144
1147
# put_rule updates the rule if it already exists
1145
1148
response = put_rule (
1146
1149
Name = rule_name ,
1150
+ EventBusName = event_bus_name ,
1147
1151
EventPattern = json .dumps (TEST_EVENT_PATTERN ),
1148
1152
)
1149
1153
snapshot .match ("re-put-rule" , response )
1150
1154
1151
- response = aws_client .events .list_rules (NamePrefix = rule_name )
1155
+ response = aws_client .events .list_rules (EventBusName = event_bus_name )
1152
1156
snapshot .match ("list-rules" , response )
1153
1157
1154
1158
@markers .aws .validated
1155
- def test_list_rule_with_limit (self , put_rule , aws_client , snapshot ):
1159
+ def test_list_rule_with_limit (self , create_event_bus , put_rule , aws_client , snapshot ):
1156
1160
snapshot .add_transformer (snapshot .transform .jsonpath ("$..NextToken" , "next_token" ))
1157
- rule_name_prefix = "test-rule"
1161
+
1162
+ event_bus_name = f"bus-{ short_uid ()} "
1163
+ create_event_bus (Name = event_bus_name )
1164
+ snapshot .add_transformer (snapshot .transform .regex (event_bus_name , "<bus-name>" ))
1165
+
1166
+ rule_name_prefix = f"test-rule-{ short_uid ()} "
1167
+ snapshot .add_transformer (snapshot .transform .regex (rule_name_prefix , "<rule-name-prefix>" ))
1158
1168
count = 6
1159
1169
1160
1170
for i in range (count ):
1161
1171
rule_name = f"{ rule_name_prefix } -{ i } "
1162
1172
put_rule (
1163
1173
Name = rule_name ,
1174
+ EventBusName = event_bus_name ,
1164
1175
EventPattern = json .dumps (TEST_EVENT_PATTERN ),
1165
1176
)
1166
1177
1167
- response = aws_client .events .list_rules (Limit = int (count / 2 ))
1178
+ response = aws_client .events .list_rules (Limit = int (count / 2 ), EventBusName = event_bus_name )
1168
1179
snapshot .match ("list-rules-limit" , response )
1169
1180
1170
1181
response = aws_client .events .list_rules (
1171
- Limit = int (count / 2 ) + 2 , NextToken = response ["NextToken" ]
1182
+ Limit = int (count / 2 ) + 2 , NextToken = response ["NextToken" ], EventBusName = event_bus_name
1172
1183
)
1173
1184
snapshot .match ("list-rules-limit-next-token" , response )
1174
1185
0 commit comments