feat(canary): register pdf generator in registry
Fourth entry in the registry map. Cardinality bumps 3 → 4; pending list
shrinks to {kubeconfig, envfile, mysql} (3 remaining).
- registry.go: adds the import + token.TypePDF: pdf.New() entry
- registry_test.go:
- TestBuild_RegistersPDF added (mirrors RegistersDocx)
- TypePDF removed from TestBuild_PendingTypesNotYetRegistered
- TestBuild_OnlyExpectedTypesPresentInPhase4 renamed → InPhase5,
cardinality assertion bumped 3 → 4
Pre-audit gate clean at HEAD: go build ./... + go vet ./... + go test
-race -timeout=60s ./... + go test -tags=integration -race -timeout=300s
./internal/token/... ./internal/event/... + golangci-lint run ./... all
pass with 0 issues.
This commit is contained in:
parent
13cd6cd1a3
commit
73dd837362
|
|
@ -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/pdf"
|
||||
"github.com/CarterPerez-dev/cybersecurity-projects/canary-token-generator/backend/internal/token/generators/slowredirect"
|
||||
"github.com/CarterPerez-dev/cybersecurity-projects/canary-token-generator/backend/internal/token/generators/webbug"
|
||||
)
|
||||
|
|
@ -22,5 +23,6 @@ func Build(_ Config) Registry {
|
|||
token.TypeWebbug: webbug.New(),
|
||||
token.TypeSlowRedirect: slowredirect.New(),
|
||||
token.TypeDocx: docx.New(),
|
||||
token.TypePDF: pdf.New(),
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -38,6 +38,14 @@ func TestBuild_RegistersDocx(t *testing.T) {
|
|||
require.Equal(t, token.TypeDocx, g.Type())
|
||||
}
|
||||
|
||||
func TestBuild_RegistersPDF(t *testing.T) {
|
||||
reg := registry.Build(registry.Config{BaseURL: testBaseURL})
|
||||
g, ok := reg[token.TypePDF]
|
||||
require.True(t, ok, "expected pdf generator registered")
|
||||
require.NotNil(t, g)
|
||||
require.Equal(t, token.TypePDF, g.Type())
|
||||
}
|
||||
|
||||
func TestBuild_UnknownTypeReturnsZeroValue(t *testing.T) {
|
||||
reg := registry.Build(registry.Config{BaseURL: testBaseURL})
|
||||
g, ok := reg["nonexistent-type"]
|
||||
|
|
@ -48,7 +56,6 @@ func TestBuild_UnknownTypeReturnsZeroValue(t *testing.T) {
|
|||
func TestBuild_PendingTypesNotYetRegistered(t *testing.T) {
|
||||
reg := registry.Build(registry.Config{BaseURL: testBaseURL})
|
||||
pending := []token.Type{
|
||||
token.TypePDF,
|
||||
token.TypeKubeconfig,
|
||||
token.TypeEnvfile,
|
||||
token.TypeMySQL,
|
||||
|
|
@ -64,12 +71,12 @@ func TestBuild_PendingTypesNotYetRegistered(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
func TestBuild_OnlyExpectedTypesPresentInPhase4(t *testing.T) {
|
||||
func TestBuild_OnlyExpectedTypesPresentInPhase5(t *testing.T) {
|
||||
reg := registry.Build(registry.Config{BaseURL: testBaseURL})
|
||||
require.Len(
|
||||
t,
|
||||
reg,
|
||||
3,
|
||||
"Phase 4 registers exactly three generators (webbug, slowredirect, docx); other phases append",
|
||||
4,
|
||||
"Phase 5 registers exactly four generators (webbug, slowredirect, docx, pdf); other phases append",
|
||||
)
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue