diff --git a/PROJECTS/beginner/canary-token-generator/backend/internal/token/generators/registry/registry.go b/PROJECTS/beginner/canary-token-generator/backend/internal/token/generators/registry/registry.go index 37657a64..b77e9541 100644 --- a/PROJECTS/beginner/canary-token-generator/backend/internal/token/generators/registry/registry.go +++ b/PROJECTS/beginner/canary-token-generator/backend/internal/token/generators/registry/registry.go @@ -6,6 +6,7 @@ package registry 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/slowredirect" "github.com/CarterPerez-dev/cybersecurity-projects/canary-token-generator/backend/internal/token/generators/webbug" ) @@ -17,6 +18,7 @@ type Registry map[token.Type]generators.Generator func Build(_ Config) Registry { return Registry{ - token.TypeWebbug: webbug.New(), + token.TypeWebbug: webbug.New(), + token.TypeSlowRedirect: slowredirect.New(), } } diff --git a/PROJECTS/beginner/canary-token-generator/backend/internal/token/generators/registry/registry_test.go b/PROJECTS/beginner/canary-token-generator/backend/internal/token/generators/registry/registry_test.go index 0114d573..f0ddfd6c 100644 --- a/PROJECTS/beginner/canary-token-generator/backend/internal/token/generators/registry/registry_test.go +++ b/PROJECTS/beginner/canary-token-generator/backend/internal/token/generators/registry/registry_test.go @@ -22,6 +22,14 @@ func TestBuild_RegistersWebbug(t *testing.T) { require.Equal(t, token.TypeWebbug, g.Type()) } +func TestBuild_RegistersSlowRedirect(t *testing.T) { + reg := registry.Build(registry.Config{BaseURL: testBaseURL}) + g, ok := reg[token.TypeSlowRedirect] + require.True(t, ok, "expected slowredirect generator registered") + require.NotNil(t, g) + require.Equal(t, token.TypeSlowRedirect, g.Type()) +} + func TestBuild_UnknownTypeReturnsZeroValue(t *testing.T) { reg := registry.Build(registry.Config{BaseURL: testBaseURL}) g, ok := reg["nonexistent-type"] @@ -32,7 +40,6 @@ func TestBuild_UnknownTypeReturnsZeroValue(t *testing.T) { func TestBuild_PendingTypesNotYetRegistered(t *testing.T) { reg := registry.Build(registry.Config{BaseURL: testBaseURL}) pending := []token.Type{ - token.TypeSlowRedirect, token.TypeDocx, token.TypePDF, token.TypeKubeconfig, @@ -50,12 +57,12 @@ func TestBuild_PendingTypesNotYetRegistered(t *testing.T) { } } -func TestBuild_OnlyExpectedTypesPresentInPhase2(t *testing.T) { +func TestBuild_OnlyExpectedTypesPresentInPhase3(t *testing.T) { reg := registry.Build(registry.Config{BaseURL: testBaseURL}) require.Len( t, reg, - 1, - "Phase 2 registers exactly one generator (webbug); other phases append", + 2, + "Phase 3 registers exactly two generators (webbug, slowredirect); other phases append", ) }