refactoring

This commit is contained in:
rusefi 2020-07-26 14:27:07 -04:00
parent 2b19fd72b6
commit 30e0d2c9fb
6 changed files with 31 additions and 30 deletions

View File

@ -83,7 +83,7 @@ public class TestHelper {
public static BinaryProtocolServer createVirtualController(int controllerPort, ConfigurationImage controllerImage) throws InterruptedException {
CountDownLatch controllerCreated = new CountDownLatch(1);
BinaryProtocolServer server = createVirtualController(controllerImage, controllerPort, parameter -> controllerCreated.countDown());
assertTrue(controllerCreated.await(READ_IMAGE_TIMEOUT, TimeUnit.MILLISECONDS));
assertLatch(controllerCreated);
return server;
}
@ -92,4 +92,12 @@ public class TestHelper {
return new SessionDetails(ci, authToken, SessionDetails.createOneTimeCode());
}
public static void assertLatch(String message, CountDownLatch reconnectCounter) throws InterruptedException {
assertTrue(message, reconnectCounter.await(READ_IMAGE_TIMEOUT, TimeUnit.MILLISECONDS));
}
public static void assertLatch(CountDownLatch reconnectCounter) throws InterruptedException {
assertTrue(reconnectCounter.await(READ_IMAGE_TIMEOUT, TimeUnit.MILLISECONDS));
}
}

View File

@ -10,22 +10,20 @@ import org.jetbrains.annotations.NotNull;
import java.net.MalformedURLException;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
import static com.rusefi.Timeouts.READ_IMAGE_TIMEOUT;
import static org.junit.Assert.assertTrue;
import static com.rusefi.TestHelper.assertLatch;
public class BackendTestHelper {
public static void runApplicationConnectorBlocking(Backend backend, int serverPortForRemoteUsers) throws InterruptedException {
CountDownLatch applicationServerCreated = new CountDownLatch(1);
backend.runApplicationConnector(serverPortForRemoteUsers, parameter -> applicationServerCreated.countDown());
assertTrue(applicationServerCreated.await(READ_IMAGE_TIMEOUT, TimeUnit.MILLISECONDS));
assertLatch(applicationServerCreated);
}
public static void runControllerConnectorBlocking(Backend backend, int serverPortForControllers) throws InterruptedException {
CountDownLatch controllerServerCreated = new CountDownLatch(1);
backend.runControllerConnector(serverPortForControllers, parameter -> controllerServerCreated.countDown());
assertTrue(controllerServerCreated.await(READ_IMAGE_TIMEOUT, TimeUnit.MILLISECONDS));
assertLatch(controllerServerCreated);
}
@NotNull

View File

@ -22,9 +22,7 @@ import java.util.Objects;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
import static com.rusefi.TestHelper.createIniField;
import static com.rusefi.TestHelper.prepareImage;
import static com.rusefi.Timeouts.READ_IMAGE_TIMEOUT;
import static com.rusefi.TestHelper.*;
import static com.rusefi.Timeouts.SECOND;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
@ -101,7 +99,7 @@ public class FullServerTest {
NetworkConnector.NetworkConnectorResult networkConnectorResult = NetworkConnector.runNetworkConnector(TestHelper.TEST_TOKEN_1, TestHelper.LOCALHOST + ":" + controllerPort, networkConnectorContext, NetworkConnector.ReconnectListener.VOID);
ControllerInfo controllerInfo = networkConnectorResult.getControllerInfo();
assertTrue("controllerRegistered", controllerRegistered.await(READ_IMAGE_TIMEOUT, TimeUnit.MILLISECONDS));
TestHelper.assertLatch("controllerRegistered", controllerRegistered);
SessionDetails authenticatorSessionDetails = new SessionDetails(controllerInfo, MockRusEfiDevice.TEST_TOKEN_3, networkConnectorResult.getOneTimeToken());
ApplicationRequest applicationRequest = new ApplicationRequest(authenticatorSessionDetails, userDetailsResolver.apply(TestHelper.TEST_TOKEN_1));
@ -126,7 +124,7 @@ public class FullServerTest {
System.out.println("Failed");
}
});
assertTrue("Proxied ECU Connection established", connectionEstablishedCountDownLatch.await(30, TimeUnit.SECONDS));
assertLatch("Proxied ECU Connection established", connectionEstablishedCountDownLatch);
BinaryProtocol clientStreamState = clientManager.getCurrentStreamState();
Objects.requireNonNull(clientStreamState, "clientStreamState");

View File

@ -16,10 +16,9 @@ import java.io.IOException;
import java.net.MalformedURLException;
import java.util.List;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
import static com.rusefi.TestHelper.assertLatch;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
/**
* integration test of the rusEFI online backend process
@ -69,14 +68,14 @@ public class ServerTest {
}) {
backend.runControllerConnector(serverPortForControllers, parameter -> serverCreated.countDown());
assertTrue(serverCreated.await(30, TimeUnit.SECONDS));
assertLatch(serverCreated);
assertEquals(0, backend.getControllersCount());
new MockRusEfiDevice(TestHelper.TEST_TOKEN_1, TestHelper.TEST_SIGNATURE_1).connect(serverPortForControllers);
new MockRusEfiDevice("12345678-1234-1234-1234-123456789012", TestHelper.TEST_SIGNATURE_2).connect(serverPortForControllers);
assertTrue("onConnected", onConnected.await(30, TimeUnit.SECONDS));
assertLatch("onConnected", onConnected);
List<ControllerConnectionState> clients = backend.getControllers();
assertEquals(2, clients.size());
@ -86,7 +85,7 @@ public class ServerTest {
allConnected.countDown();
assertTrue("allClientsDisconnected", allClientsDisconnected.await(30, TimeUnit.SECONDS));
assertLatch("allClientsDisconnected", allClientsDisconnected);
}
}
@ -151,7 +150,7 @@ covered by FullServerTest
IoStream authenticatorToProxyStream = TestHelper.secureConnectToLocalhost(serverPortForRemoteUsers, logger);
new HelloCommand("hello").handle(authenticatorToProxyStream);
assertTrue(disconnectedCountDownLatch.await(30, TimeUnit.SECONDS));
assertLatch(disconnectedCountDownLatch);
}
}
@ -180,7 +179,7 @@ covered by FullServerTest
IoStream authenticatorToProxyStream = TestHelper.secureConnectToLocalhost(serverPortForRemoteUsers, logger);
LocalApplicationProxy.sendHello(authenticatorToProxyStream, applicationRequest);
assertTrue(disconnectedCountDownLatch.await(30, TimeUnit.SECONDS));
assertLatch(disconnectedCountDownLatch);
}
}
}

View File

@ -12,11 +12,10 @@ import org.junit.Test;
import java.util.Objects;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
import static com.rusefi.TestHelper.assertLatch;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
public class TcpCommunicationIntegrationTest {
private static final Logger LOGGER = Logger.CONSOLE;
@ -42,7 +41,7 @@ public class TcpCommunicationIntegrationTest {
}
});
assertTrue(failedCountDownLatch.await(30, TimeUnit.SECONDS));
assertLatch(failedCountDownLatch);
}
@Test
@ -70,7 +69,7 @@ public class TcpCommunicationIntegrationTest {
System.out.println("Failed");
}
});
assertTrue("Connection established", connectionEstablishedCountDownLatch.await(30, TimeUnit.SECONDS));
assertLatch("Connection established", connectionEstablishedCountDownLatch);
assertEquals(0, server.unknownCommands.get());
@ -112,7 +111,7 @@ public class TcpCommunicationIntegrationTest {
System.out.println("Failed");
}
});
assertTrue("Connection established", connectionEstablishedCountDownLatch.await(30, TimeUnit.SECONDS));
assertLatch("Connection established", connectionEstablishedCountDownLatch);
clientManager.close();
}

View File

@ -20,16 +20,15 @@ import org.junit.Test;
import java.io.IOException;
import java.net.MalformedURLException;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
import static com.rusefi.BackendTestHelper.createTestUserResolver;
import static com.rusefi.TestHelper.TEST_TOKEN_1;
import static com.rusefi.TestHelper.assertLatch;
import static com.rusefi.Timeouts.SECOND;
import static com.rusefi.binaryprotocol.BinaryProtocol.findCommand;
import static com.rusefi.binaryprotocol.BinaryProtocol.sleep;
import static com.rusefi.shared.FileUtil.close;
import static org.junit.Assert.assertTrue;
public class LocalApplicationProxyTest {
private static final AtomicInteger portNumber = new AtomicInteger(4000);
@ -48,7 +47,7 @@ public class LocalApplicationProxyTest {
sleep(Timeouts.SECOND);
close(socket);
}, parameter -> backendCreated.countDown());
assertTrue(backendCreated.await(30, TimeUnit.SECONDS));
assertLatch(backendCreated);
SessionDetails sessionDetails = TestHelper.createTestSession(TEST_TOKEN_1, Fields.TS_SIGNATURE);
ApplicationRequest applicationRequest = new ApplicationRequest(sessionDetails, createTestUserResolver().apply(TEST_TOKEN_1));
@ -56,7 +55,7 @@ public class LocalApplicationProxyTest {
CountDownLatch disconnected = new CountDownLatch(1);
LocalApplicationProxy.startAndRun(context, applicationRequest, -1, disconnected::countDown, LocalApplicationProxy.ConnectionListener.VOID);
assertTrue(disconnected.await(30, TimeUnit.SECONDS));
assertLatch(disconnected);
mockBackend.close();
}
@ -89,7 +88,7 @@ public class LocalApplicationProxyTest {
}, parameter -> backendCreated.countDown());
assertTrue(backendCreated.await(30, TimeUnit.SECONDS));
assertLatch(backendCreated);
SessionDetails sessionDetails = TestHelper.createTestSession(TEST_TOKEN_1, Fields.TS_SIGNATURE);
ApplicationRequest applicationRequest = new ApplicationRequest(sessionDetails, createTestUserResolver().apply(TEST_TOKEN_1));
@ -98,10 +97,10 @@ public class LocalApplicationProxyTest {
LocalApplicationProxy.startAndRun(context, applicationRequest, -1, disconnected::countDown, LocalApplicationProxy.ConnectionListener.VOID);
// wait for three output requests to take place
assertTrue("gaugePokes", gaugePokes.await(30, TimeUnit.SECONDS));
assertLatch("gaugePokes", gaugePokes);
// but there must be a disconnect after some time
assertTrue("disconnected", disconnected.await(30, TimeUnit.SECONDS));
assertLatch("disconnected", disconnected);
mockBackend.close();
}