Skip to content

Commit

Permalink
tidyup
Browse files Browse the repository at this point in the history
  • Loading branch information
simbo1905 committed Jan 19, 2025
1 parent c02b219 commit 81bdc5f
Show file tree
Hide file tree
Showing 5 changed files with 49 additions and 109 deletions.
63 changes: 0 additions & 63 deletions trex-paxe/src/main/java/com/github/trex_paxos/paxe/PaxeHeader.java

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ public class NetworkTestHarness implements AutoCloseable {
private volatile boolean closed;

public NetworkTestHarness() {
//noinspection SpellCheckingInspection
this(new ClusterId("test.cluster"), new SRPUtils.Constants(
"EEAF0AB9ADB38DD69C33F80AFA8FC5E86072618775FF3C0B9EA2314C" +
"9C256576D674DF7496EA81D3383B4813D692C6E0E0D5D8E250B98BE4" +
Expand Down Expand Up @@ -60,8 +61,8 @@ public PaxeNetwork createNetwork(short nodeId) throws Exception {
LOGGER.fine(() -> String.format("Allocated port %d for node %d", port, nodeId));

NodeId id = new NodeId(nodeId);
NetworkAddress addr = new NetworkAddress.InetAddress("127.0.0.1", port);
addressMap.put(id, addr);
NetworkAddress address = new NetworkAddress.InetAddress("127.0.0.1", port);
addressMap.put(id, address);

NodeClientSecret nodeSecret = new NodeClientSecret(
clusterId,
Expand Down Expand Up @@ -165,6 +166,7 @@ private void waitForKeyExchange(PaxeNetwork network) {
}

try {
//noinspection BusyWait
Thread.sleep(CHANNEL_SELECT_TIMEOUT.toMillis());
} catch (InterruptedException e) {
LOGGER.warning(() -> String.format("Key exchange wait interrupted for node %d",
Expand All @@ -175,7 +177,7 @@ private void waitForKeyExchange(PaxeNetwork network) {
}

LOGGER.warning(() -> String.format("Key exchange timed out for node %d after %d attempts",
network.localNode.id(), attempts));
network.localNode.id(), attempts.get()));
throw new IllegalStateException("Key exchange timed out for node: " + network.localNode);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,9 @@ public class PaxeNetworkTest {
System.setProperty(SRPUtils.class.getName() + ".useHash", "SHA3-256");
}

public static final String N = "EEAF0AB9ADB38DD69C33F80AFA8FC5E86072618775FF3C0B9EA2314C9C256576D674DF7496EA81D3383B4813D692C6E0E0D5D8E250B98BE48E495C1D6089DAD15DC7D7B46154D6B6CE8EF4AD69B15D4982559B29";
final static SRPUtils.Constants constants = new SRPUtils.Constants(
"EEAF0AB9ADB38DD69C33F80AFA8FC5E86072618775FF3C0B9EA2314C9C256576D674DF7496EA81D3383B4813D692C6E0E0D5D8E250B98BE48E495C1D6089DAD15DC7D7B46154D6B6CE8EF4AD69B15D4982559B29",
N,
"2"
);

Expand Down Expand Up @@ -119,7 +120,7 @@ public void testThreadInitialization() {
}

@Test
public void testCleanShutdown() throws Exception {
public void testCleanShutdown() {
network1.start();
network1.close();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@ private TrexApp<StackService.Command, StackService.Response> createApp(
PaxeNetwork network,
boolean isLeader) {

// FIXME and enable test
PaxeNetwork networkLayer = null;

TrexNode node = createNode(network.localNode.id());
Expand Down
Original file line number Diff line number Diff line change
@@ -1,49 +1,48 @@
package com.github.trex_paxos.paxe;

import org.junit.jupiter.api.Test;

import com.github.trex_paxos.network.NodeId;
import org.junit.jupiter.api.Test;

import static org.junit.jupiter.api.Assertions.*;

class PickleHandshakeTest {
static {
System.setProperty(SRPUtils.class.getName() + ".useHash", "SHA-1");
}

@Test
void shouldPickleAndUnpickleRequest() {
NodeId from = new NodeId((short) 1);
byte[] publicKey = new byte[] { 1, 2, 3, 4 };
var request = new SessionKeyManager.KeyMessage.KeyHandshakeRequest(from, publicKey);

byte[] pickled = PickleHandshake.pickle(request);
SessionKeyManager.KeyMessage unpickled = PickleHandshake.unpickle(pickled);

assertTrue(unpickled instanceof SessionKeyManager.KeyMessage.KeyHandshakeRequest);
var unpackedRequest = (SessionKeyManager.KeyMessage.KeyHandshakeRequest) unpickled;
assertEquals(from, unpackedRequest.from());
assertArrayEquals(publicKey, unpackedRequest.publicKey());
}

@Test
void shouldPickleAndUnpickleResponse() {
NodeId from = new NodeId((short) 2);
byte[] publicKey = new byte[] { 5, 6, 7, 8 };
var response = new SessionKeyManager.KeyMessage.KeyHandshakeResponse(from, publicKey);

byte[] pickled = PickleHandshake.pickle(response);
SessionKeyManager.KeyMessage unpickled = PickleHandshake.unpickle(pickled);

assertTrue(unpickled instanceof SessionKeyManager.KeyMessage.KeyHandshakeResponse);
var unpackedResponse = (SessionKeyManager.KeyMessage.KeyHandshakeResponse) unpickled;
assertEquals(from, unpackedResponse.from());
assertArrayEquals(publicKey, unpackedResponse.publicKey());
}

@Test
void shouldFailOnInvalidType() {
byte[] invalid = new byte[] { 99, 0, 1, 0, 0, 0, 1, 0 }; // Invalid type 99
assertThrows(IllegalArgumentException.class, () -> PickleHandshake.unpickle(invalid));
}
static {
System.setProperty(SRPUtils.class.getName() + ".useHash", "SHA-1");
}

@Test
void shouldPickleAndUnpickleRequest() {
NodeId from = new NodeId((short) 1);
byte[] publicKey = new byte[]{1, 2, 3, 4};
var request = new SessionKeyManager.KeyMessage.KeyHandshakeRequest(from, publicKey);

byte[] pickled = PickleHandshake.pickle(request);
SessionKeyManager.KeyMessage unpickled = PickleHandshake.unpickle(pickled);

assertInstanceOf(SessionKeyManager.KeyMessage.KeyHandshakeRequest.class, unpickled);
var unpackedRequest = (SessionKeyManager.KeyMessage.KeyHandshakeRequest) unpickled;
assertEquals(from, unpackedRequest.from());
assertArrayEquals(publicKey, unpackedRequest.publicKey());
}

@Test
void shouldPickleAndUnpickleResponse() {
NodeId from = new NodeId((short) 2);
byte[] publicKey = new byte[]{5, 6, 7, 8};
var response = new SessionKeyManager.KeyMessage.KeyHandshakeResponse(from, publicKey);

byte[] pickled = PickleHandshake.pickle(response);
SessionKeyManager.KeyMessage unpickled = PickleHandshake.unpickle(pickled);

assertInstanceOf(SessionKeyManager.KeyMessage.KeyHandshakeResponse.class, unpickled);
var unpackedResponse = (SessionKeyManager.KeyMessage.KeyHandshakeResponse) unpickled;
assertEquals(from, unpackedResponse.from());
assertArrayEquals(publicKey, unpackedResponse.publicKey());
}

@Test
void shouldFailOnInvalidType() {
byte[] invalid = new byte[]{99, 0, 1, 0, 0, 0, 1, 0}; // Invalid type 99
assertThrows(IllegalArgumentException.class, () -> PickleHandshake.unpickle(invalid));
}
}

0 comments on commit 81bdc5f

Please sign in to comment.