@@ -159,45 +159,72 @@ def test_presigned_post(self, patch_hostnames, s3_bucket, s3_client):
159
159
160
160
161
161
class TestSQS :
162
- def test_off_strategy ( self , monkeypatch , sqs_create_queue , patch_hostnames ):
163
- external_port = "12345"
162
+ """
163
+ Test all combinations of:
164
164
165
- monkeypatch .setattr (config , "SQS_ENDPOINT_STRATEGY" , "off" )
166
- monkeypatch .setattr (config , "SQS_PORT_EXTERNAL" , external_port )
165
+ * endpoint_strategy
166
+ * sqs_port_external
167
+ * hostname_external
168
+ """
167
169
168
- external_hostname , localstack_hostname = patch_hostnames
170
+ def test_off_strategy_without_external_port (
171
+ self , monkeypatch , sqs_create_queue , patch_hostnames
172
+ ):
173
+ monkeypatch .setattr (config , "SQS_ENDPOINT_STRATEGY" , "off" )
169
174
170
- queue_url = sqs_create_queue ()
175
+ queue_name = f"queue-{ short_uid ()} "
176
+ queue_url = sqs_create_queue (QueueName = queue_name )
171
177
172
- assert external_hostname in queue_url
178
+ hostname_external , localstack_hostname = patch_hostnames
179
+ assert constants .LOCALHOST in queue_url
180
+ assert queue_name in queue_url
173
181
182
+ assert hostname_external not in queue_url
183
+ assert constants .LOCALHOST_HOSTNAME not in queue_url
174
184
assert localstack_hostname not in queue_url
175
185
176
- def test_domain_strategy (self , monkeypatch , sqs_create_queue , patch_hostnames ):
177
- external_port = "12345"
186
+ def test_off_strategy_with_external_port (self , monkeypatch , sqs_create_queue , patch_hostnames ):
187
+ external_port = 12345
188
+ monkeypatch .setattr (config , "SQS_ENDPOINT_STRATEGY" , "off" )
189
+ monkeypatch .setattr (config , "SQS_PORT_EXTERNAL" , external_port )
190
+
191
+ queue_name = f"queue-{ short_uid ()} "
192
+ queue_url = sqs_create_queue (QueueName = queue_name )
178
193
194
+ hostname_external , localstack_hostname = patch_hostnames
195
+ assert hostname_external in queue_url
196
+ assert str (external_port ) in queue_url
197
+ assert queue_name in queue_url
198
+
199
+ assert localstack_hostname not in queue_url
200
+
201
+ @pytest .mark .parametrize ("external_port" , [0 , 12345 ])
202
+ def test_domain_strategy (self , external_port , monkeypatch , sqs_create_queue , patch_hostnames ):
179
203
monkeypatch .setattr (config , "SQS_ENDPOINT_STRATEGY" , "domain" )
180
204
monkeypatch .setattr (config , "SQS_PORT_EXTERNAL" , external_port )
181
205
182
- external_hostname , localstack_hostname = patch_hostnames
183
- queue_url = sqs_create_queue ()
206
+ queue_name = f"queue- { short_uid () } "
207
+ queue_url = sqs_create_queue (QueueName = queue_name )
184
208
209
+ hostname_external , localstack_hostname = patch_hostnames
185
210
assert constants .LOCALHOST_HOSTNAME in queue_url
211
+ assert queue_name in queue_url
186
212
187
- assert external_hostname not in queue_url
213
+ assert hostname_external not in queue_url
188
214
assert localstack_hostname not in queue_url
189
215
190
- def test_path_strategy (self , monkeypatch , sqs_create_queue , patch_hostnames ):
191
- external_port = "12345"
192
-
216
+ @pytest .mark .parametrize ("external_port" , [0 , 12345 ])
217
+ def test_path_strategy (self , external_port , monkeypatch , sqs_create_queue , patch_hostnames ):
193
218
monkeypatch .setattr (config , "SQS_ENDPOINT_STRATEGY" , "path" )
194
219
monkeypatch .setattr (config , "SQS_PORT_EXTERNAL" , external_port )
195
220
196
- external_hostname , localstack_hostname = patch_hostnames
197
- queue_url = sqs_create_queue ()
221
+ queue_name = f"queue- { short_uid () } "
222
+ queue_url = sqs_create_queue (QueueName = queue_name )
198
223
224
+ hostname_external , localstack_hostname = patch_hostnames
199
225
assert "localhost" in queue_url
226
+ assert queue_name in queue_url
200
227
201
228
assert constants .LOCALHOST_HOSTNAME not in queue_url
202
- assert external_hostname not in queue_url
229
+ assert hostname_external not in queue_url
203
230
assert localstack_hostname not in queue_url
0 commit comments