feat(queue-url): ExternalURLBase для публичного QueueUrl (+ env SHARED_SQS_EXTERNAL_URL_BASE), тест
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
package gosqs
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"shared-sqs/app/models"
|
||||
"shared-sqs/app/tenant"
|
||||
)
|
||||
|
||||
// TestTenantQueueURL — проверяет формирование QueueUrl: публичный ExternalURLBase
|
||||
// приоритетнее локального формата, пустое значение даёт старый формат.
|
||||
func TestTenantQueueURL(t *testing.T) {
|
||||
old := models.CurrentEnvironment
|
||||
defer func() { models.CurrentEnvironment = old }()
|
||||
|
||||
tt := &tenant.Tenant{ID: "t-abc123"}
|
||||
|
||||
// Публичный адрес; хвостовой слеш обрезается.
|
||||
models.CurrentEnvironment = models.Environment{ExternalURLBase: "https://sqs.sinefo.ru/"}
|
||||
if got, want := tenantQueueURL(tt, "orders"), "https://sqs.sinefo.ru/t-abc123/orders"; got != want {
|
||||
t.Fatalf("external base: got %q, want %q", got, want)
|
||||
}
|
||||
|
||||
// Пусто → старый формат с region.
|
||||
models.CurrentEnvironment = models.Environment{Host: "goaws.com", Port: "4100", Region: "us-east-1"}
|
||||
if got, want := tenantQueueURL(tt, "orders"), "http://us-east-1.goaws.com:4100/t-abc123/orders"; got != want {
|
||||
t.Fatalf("local format (region): got %q, want %q", got, want)
|
||||
}
|
||||
|
||||
// Пусто, без region.
|
||||
models.CurrentEnvironment = models.Environment{Host: "localhost", Port: "4100"}
|
||||
if got, want := tenantQueueURL(tt, "orders"), "http://localhost:4100/t-abc123/orders"; got != want {
|
||||
t.Fatalf("local format (no region): got %q, want %q", got, want)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user