//go:build mysql package mysql import ( "strings" "testing" ) func TestEnsureIMFileReviewTablesUsesSelectedTenantDatabase(t *testing.T) { exec := &recordingGroupSchemaExecutor{} if err := ensureIMFileReviewTables(exec); err != nil { t.Fatal(err) } if len(exec.statements) != 1 { t.Fatalf("created %d file review tables, want 1", len(exec.statements)) } joined := strings.ToLower(strings.Join(exec.statements, "\n")) for _, expected := range []string{ "im_file_review_tasks", "unique index uk_im_file_review_tasks_file_provider(file_id, task_type, provider)", "index idx_im_file_review_tasks_pending(status, next_retry_at, id)", "index idx_im_file_review_tasks_object(storage_provider, object_name(191))", } { if !strings.Contains(joined, expected) { t.Fatalf("file review schema is missing %q", expected) } } if strings.Contains(joined, "tinode.") || strings.Contains(joined, "create database") || strings.Contains(joined, "tenant_id") { t.Fatalf("file review schema must stay inside the selected tenant database: %s", joined) } }