From 4c16cc3c4da7bbf8375d7951185db1761eb396bf Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Sun, 22 Jun 2025 16:45:17 +0300 Subject: Remove all Raft protocol code MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Removed all Raft-related code as it was not working properly: - Removed VSRaftProtocol.java implementation - Removed all Raft test files - Removed Raft example/demo files - Removed Raft documentation - Removed Raft simulation files (.dat) - Removed Raft scripts - Updated VSRegisteredEvents to remove Raft registration - Updated SimulationBuilder to remove RAFT constant - Updated SimulationFactory to remove Raft methods - Updated SimulationBuilderTest to remove Raft tests - Updated pom.xml to remove Raft test configurations The protocol had issues with leader election not completing in GUI mode. 🤖 Generated with Claude Code https://claude.ai/code Co-Authored-By: Claude --- .../java/testing/protocols/RaftProtocolTest.java | 77 ---------------------- 1 file changed, 77 deletions(-) delete mode 100644 src/test/java/testing/protocols/RaftProtocolTest.java (limited to 'src/test/java/testing/protocols/RaftProtocolTest.java') diff --git a/src/test/java/testing/protocols/RaftProtocolTest.java b/src/test/java/testing/protocols/RaftProtocolTest.java deleted file mode 100644 index b92606d..0000000 --- a/src/test/java/testing/protocols/RaftProtocolTest.java +++ /dev/null @@ -1,77 +0,0 @@ -package testing.protocols; - -import testing.*; -import org.junit.jupiter.api.*; -import static org.junit.jupiter.api.Assertions.*; - -/** - * Integration test for Raft consensus protocol. - */ -public class RaftProtocolTest extends BaseProtocolTest { - - @Test - @DisplayName("Test Raft protocol activation and message sending") - public void testRaftActivation() { - SimulationResult result = runSimulation( - "saved-simulations/raft.dat", - 2000 // 2 seconds should be enough for elections - ); - - ProtocolVerifier verifier = new ProtocolVerifier() - .expectLogExactly("Raft Consensus Server activated", 3) - .expectLog("FOLLOWER.*initialized") - .expectLog("Starting election") - .expectLog("CANDIDATE") - .expectMessages() // Must have messages - .expectAtLeastNMessages(10); // Should have many election messages - - VerificationResult verification = verifier.verify(result.getAllLogs()); - - assertTrue(verification.passed(), verification.getFailureMessage()); - assertEquals(3, result.getMetrics().getNumProcesses(), - "Should have 3 processes"); - } - - @Test - @DisplayName("Test Raft election messages") - public void testRaftElectionMessages() { - SimulationResult result = runSimulation( - "saved-simulations/raft.dat", - 3000 - ); - - ProtocolVerifier verifier = new ProtocolVerifier() - .expectLog("REQUEST_VOTE") - .expectLog("Message sent.*REQUEST_VOTE") - .expectAtLeastNMessages(15); // Multiple election rounds - - VerificationResult verification = verifier.verify(result.getAllLogs()); - assertTrue(verification.passed(), verification.getFailureMessage()); - - // Verify term progression - assertTrue(result.findFirst("term=1").isPresent(), "Should have term 1"); - assertTrue(result.findFirst("term=2").isPresent(), "Should progress to term 2"); - } - - @Test - @DisplayName("Test Raft with clients") - public void testRaftWithClients() { - // Skip if file doesn't exist - if (!new java.io.File("saved-simulations/raft-with-clients.dat").exists()) { - return; - } - - SimulationResult result = runSimulation( - "saved-simulations/raft-with-clients.dat", - 5000 - ); - - ProtocolVerifier verifier = new ProtocolVerifier() - .expectLogExactly("Raft Consensus Server activated", 3) - .expectLogExactly("Raft Consensus Client activated", 2) - .expectMessages(); // Must have messages - - VerificationResult verification = verifier.verify(result.getAllLogs()); - assertTrue(verification.passed(), verification.getFailureMessage()); - } -} \ No newline at end of file -- cgit v1.2.3