go-devops/cmd/dev/cmd_apply_test.go
Snider c43090e2ca feat(ax-10): bring go-devops to v0.8.0-alpha.1 + CLI test scaffold
- Bump dappco.re/go/* deps to v0.8.0-alpha.1 in go.mod (any forge.lthn.ai/core/* paths migrated to canonical dappco.re/go/* form)
- Update Go source imports across 55 .go files

Co-Authored-By: Athena <athena@lthn.ai>
2026-04-24 23:44:02 +01:00

37 lines
1,019 B
Go

package dev
import (
"testing"
"dappco.re/go/scm/repos"
)
func TestFilterTargetRepos_Good(t *testing.T) {
registry := &repos.Registry{
Repos: map[string]*repos.Repo{
"core-api": &repos.Repo{Name: "core-api", Path: "packages/core-api"},
"core-web": &repos.Repo{Name: "core-web", Path: "packages/core-web"},
"docs-site": &repos.Repo{Name: "docs-site", Path: "sites/docs"},
},
}
t.Run("exact names", func(t *testing.T) {
matched := filterTargetRepos(registry, "core-api,docs-site")
mustLen(t, matched, 2)
mustEqual(t, "core-api", matched[0].Name)
mustEqual(t, "docs-site", matched[1].Name)
})
t.Run("glob patterns", func(t *testing.T) {
matched := filterTargetRepos(registry, "core-*,sites/*")
mustLen(t, matched, 3)
mustEqual(t, "core-api", matched[0].Name)
mustEqual(t, "core-web", matched[1].Name)
mustEqual(t, "docs-site", matched[2].Name)
})
t.Run("all repos when empty", func(t *testing.T) {
matched := filterTargetRepos(registry, "")
mustLen(t, matched, 3)
})
}