fix: route workbench requests to tenant database
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
package store
|
||||
|
||||
import (
|
||||
"strings"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestTenantDSNUsesConfiguredDSN(t *testing.T) {
|
||||
got, err := tenantDSN("root:pass@tcp(127.0.0.1:3306)/tinode?parseTime=true", "", "mysql:user:secret@tcp(db:3306)/meeting_im?parseTime=true")
|
||||
if err != nil {
|
||||
t.Fatalf("tenantDSN returned error: %v", err)
|
||||
}
|
||||
want := "user:secret@tcp(db:3306)/meeting_im?parseTime=true"
|
||||
if got != want {
|
||||
t.Fatalf("tenantDSN = %q, want %q", got, want)
|
||||
}
|
||||
}
|
||||
|
||||
func TestTenantDSNDerivesDBName(t *testing.T) {
|
||||
got, err := tenantDSN("root:pass@tcp(127.0.0.1:3306)/tinode?charset=utf8mb4&parseTime=true&loc=Local", "meeting_im", "")
|
||||
if err != nil {
|
||||
t.Fatalf("tenantDSN returned error: %v", err)
|
||||
}
|
||||
if got == "" || got == "root:pass@tcp(127.0.0.1:3306)/tinode?charset=utf8mb4&parseTime=true&loc=Local" {
|
||||
t.Fatalf("tenantDSN did not derive a tenant database DSN: %q", got)
|
||||
}
|
||||
if parsed := "meeting_im"; !strings.Contains(got, "/"+parsed+"?") {
|
||||
t.Fatalf("tenantDSN = %q, want database %q", got, parsed)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user