Signed-off-by: Mohammed Al Sahaf <msaa1990@gmail.com>
This commit is contained in:
Mohammed Al Sahaf 2025-08-03 03:54:48 +03:00
parent 07ad9534fb
commit 9f586657e8
No known key found for this signature in database
2 changed files with 15 additions and 18 deletions

View File

@ -122,7 +122,6 @@ func TestPreferOrder(t *testing.T) {
} }
} }
func TestValidate(t *testing.T) { func TestValidate(t *testing.T) {
type testCase struct { type testCase struct {
name string name string

View File

@ -73,7 +73,7 @@ func (ms *mockServer) run() {
ms.connMu.Lock() ms.connMu.Lock()
ms.connections = append(ms.connections, conn) ms.connections = append(ms.connections, conn)
ms.connMu.Unlock() ms.connMu.Unlock()
go ms.handleConnection(conn) go ms.handleConnection(conn)
} }
} }
@ -124,7 +124,7 @@ func (ms *mockServer) stop() {
} }
ms.connections = nil ms.connections = nil
ms.connMu.Unlock() ms.connMu.Unlock()
// Then close the listener // Then close the listener
ms.listener.Close() ms.listener.Close()
} }
@ -135,12 +135,12 @@ func (ms *mockServer) restart(t *testing.T) {
t.Fatalf("Failed to restart mock server: %v", err) t.Fatalf("Failed to restart mock server: %v", err)
} }
ms.listener = listener ms.listener = listener
// Clear existing messages to track only new ones // Clear existing messages to track only new ones
ms.mu.Lock() ms.mu.Lock()
ms.messages = nil ms.messages = nil
ms.mu.Unlock() ms.mu.Unlock()
ms.wg.Add(1) ms.wg.Add(1)
go ms.run() go ms.run()
} }
@ -549,7 +549,7 @@ func TestNetWriter_NetworkFailureRecovery(t *testing.T) {
// Check that recovery messages were delivered (critical for network recovery test) // Check that recovery messages were delivered (critical for network recovery test)
receivedMessages := server.getMessages() receivedMessages := server.getMessages()
// Verify that recovery messages are present // Verify that recovery messages are present
for _, expectedMsg := range recoveryMessages { for _, expectedMsg := range recoveryMessages {
found := false found := false
@ -586,13 +586,13 @@ func TestNetWriter_NetworkFailureRecovery(t *testing.T) {
for _, msg := range receivedMessages { for _, msg := range receivedMessages {
messageCount[msg]++ messageCount[msg]++
} }
for msg, count := range messageCount { for msg, count := range messageCount {
if count > 1 { if count > 1 {
t.Errorf("Message %q was received %d times (duplicate delivery)", msg, count) t.Errorf("Message %q was received %d times (duplicate delivery)", msg, count)
} }
} }
t.Logf("Successfully received %d failure messages out of %d written", failureMessagesReceived, len(failureMessages)) t.Logf("Successfully received %d failure messages out of %d written", failureMessagesReceived, len(failureMessages))
t.Logf("Network failure recovery test completed successfully") t.Logf("Network failure recovery test completed successfully")
} }
@ -1046,10 +1046,10 @@ func TestNetWriter_WALBufferingDuringOutage(t *testing.T) {
// Create and provision NetWriter // Create and provision NetWriter
nw := &NetWriter{ nw := &NetWriter{
Address: server.addr, Address: server.addr,
DialTimeout: caddy.Duration(2 * time.Second), DialTimeout: caddy.Duration(2 * time.Second),
ReconnectInterval: caddy.Duration(1 * time.Second), // Short reconnect interval for testing ReconnectInterval: caddy.Duration(1 * time.Second), // Short reconnect interval for testing
SoftStart: true, SoftStart: true,
} }
ctx := caddy.Context{ ctx := caddy.Context{
@ -1117,13 +1117,11 @@ func TestNetWriter_WALBufferingDuringOutage(t *testing.T) {
t.Fatalf("WAL directory was not created: %s", walDir) t.Fatalf("WAL directory was not created: %s", walDir)
} }
// Store outage messages that might have been received before failure // Store outage messages that might have been received before failure
server.mu.RLock() server.mu.RLock()
preRestartMessages := append([]string(nil), server.messages...) preRestartMessages := append([]string(nil), server.messages...)
server.mu.RUnlock() server.mu.RUnlock()
// Restart server // Restart server
server.restart(t) server.restart(t)
@ -1146,12 +1144,12 @@ func TestNetWriter_WALBufferingDuringOutage(t *testing.T) {
// Check that all messages were eventually sent (combining pre-restart and post-restart) // Check that all messages were eventually sent (combining pre-restart and post-restart)
postRestartMessages := server.getMessages() postRestartMessages := server.getMessages()
allMessages := append(preRestartMessages, postRestartMessages...) allMessages := append(preRestartMessages, postRestartMessages...)
t.Logf("Messages received before restart: %d", len(preRestartMessages)) t.Logf("Messages received before restart: %d", len(preRestartMessages))
for i, msg := range preRestartMessages { for i, msg := range preRestartMessages {
t.Logf(" [%d]: %q", i, msg) t.Logf(" [%d]: %q", i, msg)
} }
t.Logf("Messages received after restart: %d", len(postRestartMessages)) t.Logf("Messages received after restart: %d", len(postRestartMessages))
for i, msg := range postRestartMessages { for i, msg := range postRestartMessages {
t.Logf(" [%d]: %q", i, msg) t.Logf(" [%d]: %q", i, msg)
@ -1208,13 +1206,13 @@ func TestNetWriter_WALBufferingDuringOutage(t *testing.T) {
for _, msg := range allMessages { for _, msg := range allMessages {
messageCount[msg]++ messageCount[msg]++
} }
for msg, count := range messageCount { for msg, count := range messageCount {
if count > 1 { if count > 1 {
t.Errorf("Message %q was received %d times (duplicate delivery)", msg, count) t.Errorf("Message %q was received %d times (duplicate delivery)", msg, count)
} }
} }
t.Logf("Successfully received %d outage messages out of %d written", outageMessagesReceived, len(outageMessages)) t.Logf("Successfully received %d outage messages out of %d written", outageMessagesReceived, len(outageMessages))
} }