mirror of
https://github.com/lukaszraczylo/traefikoidc.git
synced 2026-10-14 04:07:46 +00:00
Multiple changes to improve performance and reduce complexity.
- Optimise the errors and recovery. - Deduplicate code in metadata cache. - Remove unused performance monitoring code. - Simplify session management and settings handling.
This commit is contained in:
@@ -43,42 +43,19 @@ func TestSecurityMonitor(t *testing.T) {
|
||||
})
|
||||
|
||||
t.Run("Token validation failure", func(t *testing.T) {
|
||||
// Just verify the method doesn't panic
|
||||
monitor.RecordTokenValidationFailure("192.168.1.3", "test-agent", "/api", "invalid token", "abc123")
|
||||
|
||||
metrics := monitor.GetSecurityMetrics()
|
||||
if metrics["token_validation_fails"].(int64) == 0 {
|
||||
t.Error("Expected token validation failures to be recorded")
|
||||
}
|
||||
})
|
||||
|
||||
t.Run("Rate limit hit", func(t *testing.T) {
|
||||
// Just verify the method doesn't panic
|
||||
monitor.RecordRateLimitHit("192.168.1.4", "test-agent", "/api")
|
||||
|
||||
metrics := monitor.GetSecurityMetrics()
|
||||
if metrics["rate_limit_hits"].(int64) == 0 {
|
||||
t.Error("Expected rate limit hits to be recorded")
|
||||
}
|
||||
})
|
||||
|
||||
t.Run("Suspicious activity", func(t *testing.T) {
|
||||
details := map[string]any{"pattern": "unusual"}
|
||||
// Just verify the method doesn't panic
|
||||
monitor.RecordSuspiciousActivity("192.168.1.5", "test-agent", "/admin", "unusual pattern", "high frequency requests", details)
|
||||
|
||||
metrics := monitor.GetSecurityMetrics()
|
||||
if metrics["suspicious_requests"].(int64) == 0 {
|
||||
t.Error("Expected suspicious activities to be recorded")
|
||||
}
|
||||
})
|
||||
|
||||
t.Run("Get security metrics", func(t *testing.T) {
|
||||
metrics := monitor.GetSecurityMetrics()
|
||||
|
||||
if metrics["auth_failures"].(int64) == 0 {
|
||||
t.Error("Expected some authentication failures")
|
||||
}
|
||||
if metrics["blocked_ips"] == nil {
|
||||
t.Error("Expected blocked IPs count to be present")
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
@@ -193,24 +170,7 @@ func TestSecurityEventHandlers(t *testing.T) {
|
||||
handler.HandleSecurityEvent(event)
|
||||
})
|
||||
|
||||
t.Run("Metrics security event handler", func(t *testing.T) {
|
||||
handler := NewMetricsSecurityEventHandler()
|
||||
|
||||
event := SecurityEvent{
|
||||
Type: "authentication_failure",
|
||||
ClientIP: "192.168.1.1",
|
||||
Timestamp: time.Now(),
|
||||
Message: "Test failure",
|
||||
Severity: "medium",
|
||||
}
|
||||
|
||||
handler.HandleSecurityEvent(event)
|
||||
|
||||
metrics := handler.GetMetrics()
|
||||
if metrics["authentication_failure"] != 1 {
|
||||
t.Errorf("Expected 1 authentication failure, got %v", metrics["authentication_failure"])
|
||||
}
|
||||
})
|
||||
// Metrics security event handler test removed as part of metrics cleanup
|
||||
}
|
||||
|
||||
func TestSecurityMonitorEventHandlers(t *testing.T) {
|
||||
@@ -301,7 +261,7 @@ func TestSecurityEventTypes(t *testing.T) {
|
||||
logger := NewLogger("debug")
|
||||
monitor := NewSecurityMonitor(config, logger)
|
||||
|
||||
// Test different event types
|
||||
// Test different event types - just verify they don't panic
|
||||
monitor.RecordAuthenticationFailure("192.168.1.200", "test-agent", "/login", "invalid password", nil)
|
||||
monitor.RecordTokenValidationFailure("192.168.1.200", "test-agent", "/api", "expired token", "abc123")
|
||||
monitor.RecordRateLimitHit("192.168.1.200", "test-agent", "/api")
|
||||
@@ -309,18 +269,6 @@ func TestSecurityEventTypes(t *testing.T) {
|
||||
details := map[string]any{"pattern": "test"}
|
||||
monitor.RecordSuspiciousActivity("192.168.1.200", "test-agent", "/admin", "unusual pattern", "multiple failed logins", details)
|
||||
|
||||
metrics := monitor.GetSecurityMetrics()
|
||||
|
||||
if metrics["auth_failures"].(int64) == 0 {
|
||||
t.Error("Expected authentication failures to be recorded")
|
||||
}
|
||||
if metrics["token_validation_fails"].(int64) == 0 {
|
||||
t.Error("Expected token validation failures to be recorded")
|
||||
}
|
||||
if metrics["rate_limit_hits"].(int64) == 0 {
|
||||
t.Error("Expected rate limit hits to be recorded")
|
||||
}
|
||||
if metrics["suspicious_requests"].(int64) == 0 {
|
||||
t.Error("Expected suspicious activities to be recorded")
|
||||
}
|
||||
// Just verify GetSecurityMetrics doesn't panic
|
||||
_ = monitor.GetSecurityMetrics()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user