feat(canary): register envfile generator in registry
Sixth entry in the registry map. Cardinality bumps 5 → 6; pending list
shrinks to {mysql} (1 remaining).
- registry.go: adds the import + token.TypeEnvfile: envfile.New()
- registry_test.go:
- TestBuild_RegistersEnvfile added (mirrors RegistersKubeconfig)
- TypeEnvfile removed from TestBuild_PendingTypesNotYetRegistered
- TestBuild_OnlyExpectedTypesPresentInPhase6 renamed → InPhase7,
cardinality assertion bumped 5 → 6
Pre-audit gate clean at HEAD: go build / vet / test -race / integration
tests / golangci-lint run all pass with 0 issues.
This commit is contained in:
parent
2a2a3c4d8f
commit
1cde61efbb
|
|
@ -7,6 +7,7 @@ import (
|
|||
"github.com/CarterPerez-dev/cybersecurity-projects/canary-token-generator/backend/internal/token"
|
||||
"github.com/CarterPerez-dev/cybersecurity-projects/canary-token-generator/backend/internal/token/generators"
|
||||
"github.com/CarterPerez-dev/cybersecurity-projects/canary-token-generator/backend/internal/token/generators/docx"
|
||||
"github.com/CarterPerez-dev/cybersecurity-projects/canary-token-generator/backend/internal/token/generators/envfile"
|
||||
"github.com/CarterPerez-dev/cybersecurity-projects/canary-token-generator/backend/internal/token/generators/kubeconfig"
|
||||
"github.com/CarterPerez-dev/cybersecurity-projects/canary-token-generator/backend/internal/token/generators/pdf"
|
||||
"github.com/CarterPerez-dev/cybersecurity-projects/canary-token-generator/backend/internal/token/generators/slowredirect"
|
||||
|
|
@ -26,5 +27,6 @@ func Build(_ Config) Registry {
|
|||
token.TypeDocx: docx.New(),
|
||||
token.TypePDF: pdf.New(),
|
||||
token.TypeKubeconfig: kubeconfig.New(),
|
||||
token.TypeEnvfile: envfile.New(),
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -54,6 +54,14 @@ func TestBuild_RegistersKubeconfig(t *testing.T) {
|
|||
require.Equal(t, token.TypeKubeconfig, g.Type())
|
||||
}
|
||||
|
||||
func TestBuild_RegistersEnvfile(t *testing.T) {
|
||||
reg := registry.Build(registry.Config{BaseURL: testBaseURL})
|
||||
g, ok := reg[token.TypeEnvfile]
|
||||
require.True(t, ok, "expected envfile generator registered")
|
||||
require.NotNil(t, g)
|
||||
require.Equal(t, token.TypeEnvfile, g.Type())
|
||||
}
|
||||
|
||||
func TestBuild_UnknownTypeReturnsZeroValue(t *testing.T) {
|
||||
reg := registry.Build(registry.Config{BaseURL: testBaseURL})
|
||||
g, ok := reg["nonexistent-type"]
|
||||
|
|
@ -64,7 +72,6 @@ func TestBuild_UnknownTypeReturnsZeroValue(t *testing.T) {
|
|||
func TestBuild_PendingTypesNotYetRegistered(t *testing.T) {
|
||||
reg := registry.Build(registry.Config{BaseURL: testBaseURL})
|
||||
pending := []token.Type{
|
||||
token.TypeEnvfile,
|
||||
token.TypeMySQL,
|
||||
}
|
||||
for _, tt := range pending {
|
||||
|
|
@ -78,12 +85,12 @@ func TestBuild_PendingTypesNotYetRegistered(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
func TestBuild_OnlyExpectedTypesPresentInPhase6(t *testing.T) {
|
||||
func TestBuild_OnlyExpectedTypesPresentInPhase7(t *testing.T) {
|
||||
reg := registry.Build(registry.Config{BaseURL: testBaseURL})
|
||||
require.Len(
|
||||
t,
|
||||
reg,
|
||||
5,
|
||||
"Phase 6 registers exactly five generators (webbug, slowredirect, docx, pdf, kubeconfig); other phases append",
|
||||
6,
|
||||
"Phase 7 registers exactly six generators (webbug, slowredirect, docx, pdf, kubeconfig, envfile); other phases append",
|
||||
)
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue