52 lines
1.2 KiB
Go
52 lines
1.2 KiB
Go
|
|
package config
|
||
|
|
|
||
|
|
import (
|
||
|
|
"testing"
|
||
|
|
"time"
|
||
|
|
)
|
||
|
|
|
||
|
|
func TestLoadDefaults(t *testing.T) {
|
||
|
|
t.Setenv("RABBITMQ_URL", "")
|
||
|
|
t.Setenv("STATUS_QUEUE", "")
|
||
|
|
t.Setenv("NEXARA_TIMEOUT", "")
|
||
|
|
|
||
|
|
cfg := Load()
|
||
|
|
if cfg.InputQueue != "transcribe.tasks" {
|
||
|
|
t.Fatalf("InputQueue: got %q", cfg.InputQueue)
|
||
|
|
}
|
||
|
|
if cfg.StatusQueue != "pipeline.status" {
|
||
|
|
t.Fatalf("StatusQueue: got %q", cfg.StatusQueue)
|
||
|
|
}
|
||
|
|
if cfg.NexaraTimeout != 10*time.Minute {
|
||
|
|
t.Fatalf("NexaraTimeout: got %v", cfg.NexaraTimeout)
|
||
|
|
}
|
||
|
|
if cfg.PromptsSection != 1 {
|
||
|
|
t.Fatalf("PromptsSection: got %d", cfg.PromptsSection)
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
func TestLoadFromEnv(t *testing.T) {
|
||
|
|
t.Setenv("INPUT_QUEUE", "custom.tasks")
|
||
|
|
t.Setenv("STATUS_QUEUE", "status.events")
|
||
|
|
t.Setenv("PREFETCH", "4")
|
||
|
|
t.Setenv("NEXARA_TIMEOUT", "2m")
|
||
|
|
t.Setenv("PROMPTS_SECTION", "2")
|
||
|
|
|
||
|
|
cfg := Load()
|
||
|
|
if cfg.InputQueue != "custom.tasks" {
|
||
|
|
t.Fatalf("InputQueue: got %q", cfg.InputQueue)
|
||
|
|
}
|
||
|
|
if cfg.StatusQueue != "status.events" {
|
||
|
|
t.Fatalf("StatusQueue: got %q", cfg.StatusQueue)
|
||
|
|
}
|
||
|
|
if cfg.Prefetch != 4 {
|
||
|
|
t.Fatalf("Prefetch: got %d", cfg.Prefetch)
|
||
|
|
}
|
||
|
|
if cfg.NexaraTimeout != 2*time.Minute {
|
||
|
|
t.Fatalf("NexaraTimeout: got %v", cfg.NexaraTimeout)
|
||
|
|
}
|
||
|
|
if cfg.PromptsSection != 2 {
|
||
|
|
t.Fatalf("PromptsSection: got %d", cfg.PromptsSection)
|
||
|
|
}
|
||
|
|
}
|