From 41e763ad02842caed178baf6d861bc81ea5e6628 Mon Sep 17 00:00:00 2001 From: Jacquin Antoine Date: Sun, 1 Mar 2026 00:26:07 +0100 Subject: [PATCH] refactor: remove unused code and fix documentation - Remove CorrelationKeyFull() alias, use CorrelationKey() everywhere - Remove duplicate TimeProvider interface from ports/source.go - Remove unused time import from ports/source.go - Update README.md: replace ./build.sh and ./test.sh with make commands - Update RPM package names in README to match current version (1.0.3) Co-authored-by: Qwen-Coder --- README.md | 17 +++++++---------- internal/domain/correlated_log_test.go | 4 ++-- internal/domain/correlation_service.go | 8 ++++---- internal/domain/event.go | 5 ----- internal/ports/source.go | 6 ------ 5 files changed, 13 insertions(+), 27 deletions(-) diff --git a/README.md b/README.md index 38fe258..5f030ca 100644 --- a/README.md +++ b/README.md @@ -32,10 +32,10 @@ Tout le build et les tests s'exécutent dans des containers Docker : ```bash # Build complet (binaire + tests + RPM) -./build.sh +make package-rpm # Uniquement les tests -./test.sh +make test # Build manuel avec Docker docker build --target builder -t logcorrelator-builder . @@ -53,7 +53,7 @@ docker build --target runtime -t logcorrelator:latest . ```bash # Build de l'image -./build.sh +docker build --target runtime -t logcorrelator:latest . # Exécuter docker run -d \ @@ -68,15 +68,12 @@ docker run -d \ ```bash # Générer les packages -./build.sh - -# Installer le package RPM (CentOS 7) -sudo yum install -y dist/rpm/centos7/logcorrelator-1.0.0-1.el7.x86_64.rpm +make package-rpm # Installer le package RPM (Rocky Linux 8/9/10) -sudo dnf install -y dist/rpm/rocky8/logcorrelator-1.0.0-1.el8.x86_64.rpm -sudo dnf install -y dist/rpm/rocky9/logcorrelator-1.0.0-1.el9.x86_64.rpm -sudo dnf install -y dist/rpm/rocky10/logcorrelator-1.0.0-1.el10.x86_64.rpm +sudo dnf install -y dist/rpm/rocky8/logcorrelator-1.0.3-1.el8.x86_64.rpm +sudo dnf install -y dist/rpm/rocky9/logcorrelator-1.0.3-1.el9.x86_64.rpm +sudo dnf install -y dist/rpm/almalinux10/logcorrelator-1.0.3-1.el10.x86_64.rpm # Activer et démarrer le service sudo systemctl enable logcorrelator diff --git a/internal/domain/correlated_log_test.go b/internal/domain/correlated_log_test.go index 584a718..3cb38bc 100644 --- a/internal/domain/correlated_log_test.go +++ b/internal/domain/correlated_log_test.go @@ -5,7 +5,7 @@ import ( "time" ) -func TestNormalizedEvent_CorrelationKeyFull(t *testing.T) { +func TestNormalizedEvent_CorrelationKey(t *testing.T) { tests := []struct { name string event *NormalizedEvent @@ -39,7 +39,7 @@ func TestNormalizedEvent_CorrelationKeyFull(t *testing.T) { for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - key := tt.event.CorrelationKeyFull() + key := tt.event.CorrelationKey() if key != tt.expected { t.Errorf("expected %s, got %s", tt.expected, key) } diff --git a/internal/domain/correlation_service.go b/internal/domain/correlation_service.go index 33f5207..078af5f 100644 --- a/internal/domain/correlation_service.go +++ b/internal/domain/correlation_service.go @@ -128,7 +128,7 @@ func (s *CorrelationService) isBufferFull(source EventSource) bool { } func (s *CorrelationService) processSourceA(event *NormalizedEvent) ([]CorrelatedLog, bool) { - key := event.CorrelationKeyFull() + key := event.CorrelationKey() // Look for the first matching B event (one-to-one first match) if bEvent := s.findAndPopFirstMatch(s.bufferB, s.pendingB, key, func(other *NormalizedEvent) bool { @@ -149,7 +149,7 @@ func (s *CorrelationService) processSourceA(event *NormalizedEvent) ([]Correlate } func (s *CorrelationService) processSourceB(event *NormalizedEvent) ([]CorrelatedLog, bool) { - key := event.CorrelationKeyFull() + key := event.CorrelationKey() // Look for the first matching A event (one-to-one first match) if aEvent := s.findAndPopFirstMatch(s.bufferA, s.pendingA, key, func(other *NormalizedEvent) bool { @@ -178,7 +178,7 @@ func (s *CorrelationService) eventsMatch(a, b *NormalizedEvent) bool { } func (s *CorrelationService) addEvent(event *NormalizedEvent) { - key := event.CorrelationKeyFull() + key := event.CorrelationKey() switch event.Source { case SourceA: @@ -205,7 +205,7 @@ func (s *CorrelationService) cleanBuffer(buffer *eventBuffer, pending map[string event := elem.Value.(*NormalizedEvent) if event.Timestamp.Before(cutoff) { next := elem.Next() - key := event.CorrelationKeyFull() + key := event.CorrelationKey() buffer.events.Remove(elem) pending[key] = removeElementFromSlice(pending[key], elem) if len(pending[key]) == 0 { diff --git a/internal/domain/event.go b/internal/domain/event.go index bbb3b21..d0c961d 100644 --- a/internal/domain/event.go +++ b/internal/domain/event.go @@ -30,8 +30,3 @@ type NormalizedEvent struct { func (e *NormalizedEvent) CorrelationKey() string { return e.SrcIP + ":" + strconv.Itoa(e.SrcPort) } - -// CorrelationKeyFull returns a proper correlation key (alias for clarity). -func (e *NormalizedEvent) CorrelationKeyFull() string { - return e.CorrelationKey() -} diff --git a/internal/ports/source.go b/internal/ports/source.go index 42fd2f5..28dc81e 100644 --- a/internal/ports/source.go +++ b/internal/ports/source.go @@ -2,7 +2,6 @@ package ports import ( "context" - "time" "github.com/logcorrelator/logcorrelator/internal/domain" ) @@ -35,11 +34,6 @@ type CorrelatedLogSink interface { Name() string } -// TimeProvider abstracts time for testability. -type TimeProvider interface { - Now() time.Time -} - // CorrelationProcessor defines the interface for the correlation service. // This allows for easier testing and alternative implementations. type CorrelationProcessor interface {