diff --git a/java_console/io/src/main/java/com/rusefi/binaryprotocol/BinaryProtocol.java b/java_console/io/src/main/java/com/rusefi/binaryprotocol/BinaryProtocol.java index 30606a54b3..ae05cb7227 100644 --- a/java_console/io/src/main/java/com/rusefi/binaryprotocol/BinaryProtocol.java +++ b/java_console/io/src/main/java/com/rusefi/binaryprotocol/BinaryProtocol.java @@ -11,7 +11,6 @@ import com.opensr5.io.DataListener; import com.rusefi.ConfigurationImageDiff; import com.rusefi.NamedThreadFactory; import com.rusefi.config.generated.Integration; -import com.rusefi.core.SignatureHelper; import com.rusefi.Timeouts; import com.rusefi.binaryprotocol.test.Bug3923; import com.rusefi.config.generated.Fields; @@ -76,6 +75,7 @@ public class BinaryProtocol { private final BinaryProtocolLogger binaryProtocolLogger; public static boolean DISABLE_LOCAL_CONFIGURATION_CACHE; + public static IniFileProvider iniFileProvider = new RealIniFileProvider(); public static String findCommand(byte command) { switch (command) { @@ -181,10 +181,7 @@ public class BinaryProtocol { } catch (IOException e) { return "Failed to read signature " + e; } - String localIniFile = SignatureHelper.downloadIfNotAvailable(SignatureHelper.getUrl(signature)); - if (localIniFile == null) - throw new IllegalStateException("Failed to download for " + signature); - iniFile = new IniFileModel().readIniFile(localIniFile); + iniFile = iniFileProvider.provide(signature); String errorMessage = validateConfigVersion(); if (errorMessage != null) diff --git a/java_console/io/src/main/java/com/rusefi/binaryprotocol/IniFileProvider.java b/java_console/io/src/main/java/com/rusefi/binaryprotocol/IniFileProvider.java new file mode 100644 index 0000000000..30487b62f6 --- /dev/null +++ b/java_console/io/src/main/java/com/rusefi/binaryprotocol/IniFileProvider.java @@ -0,0 +1,7 @@ +package com.rusefi.binaryprotocol; + +import com.opensr5.ini.IniFileModel; + +public interface IniFileProvider { + IniFileModel provide(String signature); +} diff --git a/java_console/io/src/main/java/com/rusefi/binaryprotocol/RealIniFileProvider.java b/java_console/io/src/main/java/com/rusefi/binaryprotocol/RealIniFileProvider.java new file mode 100644 index 0000000000..765b283eb5 --- /dev/null +++ b/java_console/io/src/main/java/com/rusefi/binaryprotocol/RealIniFileProvider.java @@ -0,0 +1,14 @@ +package com.rusefi.binaryprotocol; + +import com.opensr5.ini.IniFileModel; +import com.rusefi.core.SignatureHelper; + +public class RealIniFileProvider implements IniFileProvider { + @Override + public IniFileModel provide(String signature) { + String localIniFile = SignatureHelper.downloadIfNotAvailable(SignatureHelper.getUrl(signature)); + if (localIniFile == null) + throw new IllegalStateException("Failed to download for " + signature); + return new IniFileModel().readIniFile(localIniFile); + } +} diff --git a/java_tools/proxy_server/src/test/java/com/rusefi/proxy/MockIniFileProvider.java b/java_tools/proxy_server/src/test/java/com/rusefi/proxy/MockIniFileProvider.java new file mode 100644 index 0000000000..76c3ff2975 --- /dev/null +++ b/java_tools/proxy_server/src/test/java/com/rusefi/proxy/MockIniFileProvider.java @@ -0,0 +1,12 @@ +package com.rusefi.proxy; + +import com.rusefi.binaryprotocol.IniFileProvider; +import org.mockito.Mockito; + +public class MockIniFileProvider { + + public static IniFileProvider create() { + IniFileProvider mock = Mockito.mock(IniFileProvider.class); + return mock; + } +} diff --git a/java_tools/proxy_server/src/test/java/com/rusefi/proxy/NetworkConnectorTest.java b/java_tools/proxy_server/src/test/java/com/rusefi/proxy/NetworkConnectorTest.java index f746140e67..8518cbb30f 100644 --- a/java_tools/proxy_server/src/test/java/com/rusefi/proxy/NetworkConnectorTest.java +++ b/java_tools/proxy_server/src/test/java/com/rusefi/proxy/NetworkConnectorTest.java @@ -5,6 +5,7 @@ import com.opensr5.ConfigurationImage; import com.rusefi.BackendTestHelper; import com.rusefi.TestHelper; import com.rusefi.Timeouts; +import com.rusefi.binaryprotocol.BinaryProtocol; import com.rusefi.config.generated.Fields; import com.rusefi.io.tcp.BinaryProtocolServer; import com.rusefi.io.tcp.TcpConnector; @@ -25,6 +26,7 @@ public class NetworkConnectorTest { @BeforeEach public void setup() throws MalformedURLException { + //BinaryProtocol.iniFileProvider = MockIniFileProvider.create(); BackendTestHelper.commonServerTest(); }