From 84c04d4930f60a2248f9a8100754002eafdb540e Mon Sep 17 00:00:00 2001 From: Andrea Peruffo Date: Mon, 17 Mar 2025 14:09:03 +0000 Subject: [PATCH] Minor improvements --- .../java/io/roastedroot/proxywasm/ProxyWasm.java | 10 +++++++--- .../proxywasm/examples/DispatchCallOnTickTest.java | 11 +++++++---- .../proxywasm/examples/EchoHttpBodyTest.java | 4 +++- .../proxywasm/examples/ForeignCallOnTickTest.java | 4 +++- .../proxywasm/examples/HttpAuthRandomTest.java | 4 +++- .../proxywasm/examples/HttpBodyChunkTest.java | 4 +++- .../roastedroot/proxywasm/examples/HttpBodyTest.java | 4 +++- .../proxywasm/examples/HttpHeadersTest.java | 4 +++- .../proxywasm/examples/HttpRoutingTest.java | 4 +++- .../proxywasm/examples/JsonValidationTest.java | 5 +++-- .../roastedroot/proxywasm/examples/MetricsTest.java | 5 +++-- .../proxywasm/examples/MultipleDispatchesTest.java | 6 +++--- .../roastedroot/proxywasm/examples/NetworkTest.java | 4 +++- .../proxywasm/examples/OnRequestHeadersTest.java | 5 +++-- .../proxywasm/examples/PostponeRequestsTest.java | 4 +++- .../proxywasm/examples/PropertiesTest.java | 4 +++- .../proxywasm/examples/SharedDataTest.java | 5 +++-- .../proxywasm/examples/SharedQueueTest.java | 12 +++++------- .../proxywasm/examples/TimersClocksRandomTest.java | 5 +++-- .../examples/VmPluginConfigurationTest.java | 9 ++++----- 20 files changed, 71 insertions(+), 42 deletions(-) diff --git a/src/main/java/io/roastedroot/proxywasm/ProxyWasm.java b/src/main/java/io/roastedroot/proxywasm/ProxyWasm.java index 3d71687..54a8cd8 100644 --- a/src/main/java/io/roastedroot/proxywasm/ProxyWasm.java +++ b/src/main/java/io/roastedroot/proxywasm/ProxyWasm.java @@ -2,7 +2,7 @@ import static io.roastedroot.proxywasm.Helpers.len; -import com.dylibso.chicory.runtime.ByteBufferMemory; +import com.dylibso.chicory.runtime.ByteArrayMemory; import com.dylibso.chicory.runtime.HostFunction; import com.dylibso.chicory.runtime.ImportMemory; import com.dylibso.chicory.runtime.ImportValues; @@ -327,6 +327,10 @@ public ProxyWasm build(Instance instance) throws StartException { } public ProxyWasm build(WasmModule module) throws StartException { + return this.build(Instance.builder(module)); + } + + public ProxyWasm build(Instance.Builder instanceBuilder) throws StartException { var imports = ImportValues.builder(); imports.addMemory(Objects.requireNonNullElseGet(memory, this::defaultImportMemory)); @@ -351,7 +355,7 @@ public ProxyWasm build(WasmModule module) throws StartException { imports.addFunction(Helpers.withModuleName(wasi.toHostFunctions(), "wasi_unstable")); var instance = - Instance.builder(module) + instanceBuilder .withStart(false) // we will start it manually .withImportValues(imports.build()) .build(); @@ -363,7 +367,7 @@ ImportMemory defaultImportMemory() { return new ImportMemory( "env", "memory", - new ByteBufferMemory(new MemoryLimits(2, MemoryLimits.MAX_PAGES))); + new ByteArrayMemory(new MemoryLimits(2, MemoryLimits.MAX_PAGES))); } WasiOptions defaultWasiOptions() { diff --git a/src/test/java/io/roastedroot/proxywasm/examples/DispatchCallOnTickTest.java b/src/test/java/io/roastedroot/proxywasm/examples/DispatchCallOnTickTest.java index e935880..b98d383 100644 --- a/src/test/java/io/roastedroot/proxywasm/examples/DispatchCallOnTickTest.java +++ b/src/test/java/io/roastedroot/proxywasm/examples/DispatchCallOnTickTest.java @@ -2,7 +2,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals; +import com.dylibso.chicory.experimental.aot.AotMachine; +import com.dylibso.chicory.runtime.Instance; import com.dylibso.chicory.wasm.Parser; +import com.dylibso.chicory.wasm.WasmModule; import io.roastedroot.proxywasm.ProxyWasm; import io.roastedroot.proxywasm.StartException; import java.nio.file.Path; @@ -13,17 +16,17 @@ * Java port of https://github.com/proxy-wasm/proxy-wasm-go-sdk/blob/ab4161dcf9246a828008b539a82a1556cf0f2e24/examples/dispatch_call_on_tick/main_test.go */ public class DispatchCallOnTickTest { + private static final WasmModule module = + Parser.parse(Path.of("./src/test/go-examples/dispatch_call_on_tick/main.wasm")); static int tickMilliseconds = 100; @Test public void testOnTick() throws StartException { - var handler = new MockHandler(); - var module = - Parser.parse(Path.of("./src/test/go-examples/dispatch_call_on_tick/main.wasm")); ProxyWasm.Builder builder = ProxyWasm.builder().withPluginHandler(handler); - try (var host = builder.build(module)) { + var instanceBuilder = Instance.builder(module).withMachineFactory(AotMachine::new); + try (var host = builder.build(instanceBuilder)) { assertEquals(tickMilliseconds, handler.getTickPeriodMilliseconds()); for (int i = 1; i <= 10; i++) { diff --git a/src/test/java/io/roastedroot/proxywasm/examples/EchoHttpBodyTest.java b/src/test/java/io/roastedroot/proxywasm/examples/EchoHttpBodyTest.java index c867e18..6d61e8a 100644 --- a/src/test/java/io/roastedroot/proxywasm/examples/EchoHttpBodyTest.java +++ b/src/test/java/io/roastedroot/proxywasm/examples/EchoHttpBodyTest.java @@ -6,6 +6,7 @@ import static org.junit.jupiter.api.Assertions.assertNotNull; import com.dylibso.chicory.wasm.Parser; +import com.dylibso.chicory.wasm.WasmModule; import io.roastedroot.proxywasm.Action; import io.roastedroot.proxywasm.HttpContext; import io.roastedroot.proxywasm.ProxyWasm; @@ -20,6 +21,8 @@ * Java port of https://github.com/proxy-wasm/proxy-wasm-go-sdk/blob/ab4161dcf9246a828008b539a82a1556cf0f2e24/examples/http_body/main_test.go */ public class EchoHttpBodyTest { + private static final WasmModule module = + Parser.parse(Path.of("./src/test/go-examples/http_body/main.wasm")); private MockHandler handler; private ProxyWasm proxyWasm; @@ -30,7 +33,6 @@ void setUp() throws StartException { this.handler = new MockHandler(); ProxyWasm.Builder builder = ProxyWasm.builder(); builder.withPluginConfig("echo"); - var module = Parser.parse(Path.of("./src/test/go-examples/http_body/main.wasm")); this.proxyWasm = builder.build(module); this.httpContext = proxyWasm.createHttpContext(handler); } diff --git a/src/test/java/io/roastedroot/proxywasm/examples/ForeignCallOnTickTest.java b/src/test/java/io/roastedroot/proxywasm/examples/ForeignCallOnTickTest.java index 809ba1c..6bfc7c4 100644 --- a/src/test/java/io/roastedroot/proxywasm/examples/ForeignCallOnTickTest.java +++ b/src/test/java/io/roastedroot/proxywasm/examples/ForeignCallOnTickTest.java @@ -3,6 +3,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import com.dylibso.chicory.wasm.Parser; +import com.dylibso.chicory.wasm.WasmModule; import io.roastedroot.proxywasm.ProxyWasm; import io.roastedroot.proxywasm.StartException; import java.nio.file.Path; @@ -12,6 +13,8 @@ * Java port of https://github.com/proxy-wasm/proxy-wasm-go-sdk/blob/ab4161dcf9246a828008b539a82a1556cf0f2e24/examples/foreign_call_on_tick/main_test.go */ public class ForeignCallOnTickTest { + private static final WasmModule module = + Parser.parse(Path.of("./src/test/go-examples/foreign_call_on_tick/main.wasm")); static int tickMilliseconds = 1; @@ -19,7 +22,6 @@ public class ForeignCallOnTickTest { public void testOnTick() throws StartException { var handler = new MockHandler(); - var module = Parser.parse(Path.of("./src/test/go-examples/foreign_call_on_tick/main.wasm")); ProxyWasm.Builder builder = ProxyWasm.builder().withPluginHandler(handler); try (var host = builder.build(module)) { assertEquals(tickMilliseconds, handler.getTickPeriodMilliseconds()); diff --git a/src/test/java/io/roastedroot/proxywasm/examples/HttpAuthRandomTest.java b/src/test/java/io/roastedroot/proxywasm/examples/HttpAuthRandomTest.java index 821d780..aa6e737 100644 --- a/src/test/java/io/roastedroot/proxywasm/examples/HttpAuthRandomTest.java +++ b/src/test/java/io/roastedroot/proxywasm/examples/HttpAuthRandomTest.java @@ -7,6 +7,7 @@ import static org.junit.jupiter.api.Assertions.assertNull; import com.dylibso.chicory.wasm.Parser; +import com.dylibso.chicory.wasm.WasmModule; import io.roastedroot.proxywasm.Action; import io.roastedroot.proxywasm.ProxyWasm; import io.roastedroot.proxywasm.StartException; @@ -21,6 +22,8 @@ * Java port of https://github.com/proxy-wasm/proxy-wasm-go-sdk/blob/ab4161dcf9246a828008b539a82a1556cf0f2e24/examples/http_auth_random/main_test.go */ public class HttpAuthRandomTest { + private static WasmModule module = + Parser.parse(Path.of("./src/test/go-examples/http_auth_random/main.wasm")); private static String clusterName = "httpbin"; @@ -31,7 +34,6 @@ public class HttpAuthRandomTest { void setUp() throws StartException { this.handler = new MockHandler(); ProxyWasm.Builder builder = ProxyWasm.builder(); - var module = Parser.parse(Path.of("./src/test/go-examples/http_auth_random/main.wasm")); this.host = builder.build(module); } diff --git a/src/test/java/io/roastedroot/proxywasm/examples/HttpBodyChunkTest.java b/src/test/java/io/roastedroot/proxywasm/examples/HttpBodyChunkTest.java index 9c53a7e..5b6e270 100644 --- a/src/test/java/io/roastedroot/proxywasm/examples/HttpBodyChunkTest.java +++ b/src/test/java/io/roastedroot/proxywasm/examples/HttpBodyChunkTest.java @@ -5,6 +5,7 @@ import static org.junit.jupiter.api.Assertions.assertNotNull; import com.dylibso.chicory.wasm.Parser; +import com.dylibso.chicory.wasm.WasmModule; import io.roastedroot.proxywasm.Action; import io.roastedroot.proxywasm.HttpContext; import io.roastedroot.proxywasm.ProxyWasm; @@ -20,6 +21,8 @@ * Java port of https://github.com/proxy-wasm/proxy-wasm-go-sdk/blob/ab4161dcf9246a828008b539a82a1556cf0f2e24/examples/http_body_chunk/main_test.go */ public class HttpBodyChunkTest { + private static final WasmModule module = + Parser.parse(Path.of("./src/test/go-examples/http_body_chunk/main.wasm")); private MockHandler handler; private ProxyWasm proxyWasm; @@ -29,7 +32,6 @@ public class HttpBodyChunkTest { void setUp() throws StartException { this.handler = new MockHandler(); ProxyWasm.Builder builder = ProxyWasm.builder(); - var module = Parser.parse(Path.of("./src/test/go-examples/http_body_chunk/main.wasm")); this.proxyWasm = builder.build(module); this.host = proxyWasm.createHttpContext(handler); } diff --git a/src/test/java/io/roastedroot/proxywasm/examples/HttpBodyTest.java b/src/test/java/io/roastedroot/proxywasm/examples/HttpBodyTest.java index 817500c..014d227 100644 --- a/src/test/java/io/roastedroot/proxywasm/examples/HttpBodyTest.java +++ b/src/test/java/io/roastedroot/proxywasm/examples/HttpBodyTest.java @@ -6,6 +6,7 @@ import static org.junit.jupiter.api.Assertions.assertNotNull; import com.dylibso.chicory.wasm.Parser; +import com.dylibso.chicory.wasm.WasmModule; import io.roastedroot.proxywasm.Action; import io.roastedroot.proxywasm.HttpContext; import io.roastedroot.proxywasm.ProxyWasm; @@ -22,6 +23,8 @@ * Java port of https://github.com/proxy-wasm/proxy-wasm-go-sdk/blob/ab4161dcf9246a828008b539a82a1556cf0f2e24/examples/http_body/main_test.go */ public class HttpBodyTest { + private static final WasmModule module = + Parser.parse(Path.of("./src/test/go-examples/http_body/main.wasm")); private MockHandler handler; private ProxyWasm proxyWasm; @@ -31,7 +34,6 @@ public class HttpBodyTest { void setUp() throws StartException { this.handler = new MockHandler(); ProxyWasm.Builder builder = ProxyWasm.builder(); - var module = Parser.parse(Path.of("./src/test/go-examples/http_body/main.wasm")); this.proxyWasm = builder.build(module); this.httpContext = proxyWasm.createHttpContext(handler); } diff --git a/src/test/java/io/roastedroot/proxywasm/examples/HttpHeadersTest.java b/src/test/java/io/roastedroot/proxywasm/examples/HttpHeadersTest.java index f423b97..13a2855 100644 --- a/src/test/java/io/roastedroot/proxywasm/examples/HttpHeadersTest.java +++ b/src/test/java/io/roastedroot/proxywasm/examples/HttpHeadersTest.java @@ -4,6 +4,7 @@ import static org.junit.jupiter.api.Assertions.assertNotNull; import com.dylibso.chicory.wasm.Parser; +import com.dylibso.chicory.wasm.WasmModule; import io.roastedroot.proxywasm.Action; import io.roastedroot.proxywasm.ProxyWasm; import io.roastedroot.proxywasm.StartException; @@ -16,12 +17,13 @@ * Java port of https://github.com/proxy-wasm/proxy-wasm-go-sdk/blob/ab4161dcf9246a828008b539a82a1556cf0f2e24/examples/http_headers/main_test.go */ public class HttpHeadersTest { + private static final WasmModule module = + Parser.parse(Path.of("./src/test/go-examples/http_headers/main.wasm")); private MockHandler handler = new MockHandler(); @Test public void onHttpRequestHeaders() throws StartException { - var module = Parser.parse(Path.of("./src/test/go-examples/http_headers/main.wasm")); try (var proxyWasm = ProxyWasm.builder().build(module)) { int id = 0; diff --git a/src/test/java/io/roastedroot/proxywasm/examples/HttpRoutingTest.java b/src/test/java/io/roastedroot/proxywasm/examples/HttpRoutingTest.java index 4015662..fe653f3 100644 --- a/src/test/java/io/roastedroot/proxywasm/examples/HttpRoutingTest.java +++ b/src/test/java/io/roastedroot/proxywasm/examples/HttpRoutingTest.java @@ -3,6 +3,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import com.dylibso.chicory.wasm.Parser; +import com.dylibso.chicory.wasm.WasmModule; import io.roastedroot.proxywasm.Action; import io.roastedroot.proxywasm.ProxyWasm; import io.roastedroot.proxywasm.StartException; @@ -14,11 +15,12 @@ * Java port of https://github.com/proxy-wasm/proxy-wasm-go-sdk/blob/ab4161dcf9246a828008b539a82a1556cf0f2e24/examples/http_routing/main_test.go */ public class HttpRoutingTest { + private static final WasmModule module = + Parser.parse(Path.of("./src/test/go-examples/http_routing/main.wasm")); @Test public void canary() throws StartException { var handler = new MockHandler(); - var module = Parser.parse(Path.of("./src/test/go-examples/http_routing/main.wasm")); ProxyWasm.Builder builder = ProxyWasm.builder().withPluginHandler(handler).withPluginConfig(new byte[] {2}); try (var host = builder.build(module)) { diff --git a/src/test/java/io/roastedroot/proxywasm/examples/JsonValidationTest.java b/src/test/java/io/roastedroot/proxywasm/examples/JsonValidationTest.java index b86f0d1..9d13575 100644 --- a/src/test/java/io/roastedroot/proxywasm/examples/JsonValidationTest.java +++ b/src/test/java/io/roastedroot/proxywasm/examples/JsonValidationTest.java @@ -4,6 +4,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import com.dylibso.chicory.wasm.Parser; +import com.dylibso.chicory.wasm.WasmModule; import io.roastedroot.proxywasm.Action; import io.roastedroot.proxywasm.HttpContext; import io.roastedroot.proxywasm.ProxyWasm; @@ -97,6 +98,8 @@ */ public class JsonValidationTest { private final MockHandler handler = new MockHandler(); + private static final WasmModule module = + Parser.parse(Path.of("./src/test/go-examples/json_validation/main.wasm")); @Nested class OnHttpRequestHeaders { @@ -105,7 +108,6 @@ class OnHttpRequestHeaders { @BeforeEach void setUp() throws StartException { - var module = Parser.parse(Path.of("./src/test/go-examples/json_validation/main.wasm")); this.host = ProxyWasm.builder().build(module); this.context = host.createHttpContext(handler); } @@ -145,7 +147,6 @@ class OnHttpRequestBody { @BeforeEach void setUp() throws StartException { var config = "{\"requiredKeys\": [\"my_key\"]}"; - var module = Parser.parse(Path.of("./src/test/go-examples/json_validation/main.wasm")); this.host = ProxyWasm.builder().withPluginConfig(config).build(module); this.context = host.createHttpContext(handler); } diff --git a/src/test/java/io/roastedroot/proxywasm/examples/MetricsTest.java b/src/test/java/io/roastedroot/proxywasm/examples/MetricsTest.java index 5ad4680..65683b4 100644 --- a/src/test/java/io/roastedroot/proxywasm/examples/MetricsTest.java +++ b/src/test/java/io/roastedroot/proxywasm/examples/MetricsTest.java @@ -4,6 +4,7 @@ import static org.junit.jupiter.api.Assertions.assertNotNull; import com.dylibso.chicory.wasm.Parser; +import com.dylibso.chicory.wasm.WasmModule; import io.roastedroot.proxywasm.Action; import io.roastedroot.proxywasm.MetricType; import io.roastedroot.proxywasm.ProxyWasm; @@ -17,13 +18,13 @@ * Java port of https://github.com/proxy-wasm/proxy-wasm-go-sdk/blob/ab4161dcf9246a828008b539a82a1556cf0f2e24/examples/metrics/main_test.go */ public class MetricsTest { + private static final WasmModule module = + Parser.parse(Path.of("./src/test/go-examples/metrics/main.wasm")); @Test public void testMetric() throws StartException { var handler = new MockHandler(); - var module = Parser.parse(Path.of("./src/test/go-examples/metrics/main.wasm")); ProxyWasm.Builder builder = ProxyWasm.builder().withPluginHandler(handler); - try (var host = builder.build(module)) { try (var context = host.createHttpContext(handler)) { // Create headers with custom header diff --git a/src/test/java/io/roastedroot/proxywasm/examples/MultipleDispatchesTest.java b/src/test/java/io/roastedroot/proxywasm/examples/MultipleDispatchesTest.java index 63a67d1..9bae17c 100644 --- a/src/test/java/io/roastedroot/proxywasm/examples/MultipleDispatchesTest.java +++ b/src/test/java/io/roastedroot/proxywasm/examples/MultipleDispatchesTest.java @@ -3,6 +3,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import com.dylibso.chicory.wasm.Parser; +import com.dylibso.chicory.wasm.WasmModule; import io.roastedroot.proxywasm.Action; import io.roastedroot.proxywasm.ProxyWasm; import io.roastedroot.proxywasm.StartException; @@ -15,13 +16,12 @@ * Java port of https://github.com/proxy-wasm/proxy-wasm-go-sdk/blob/master/examples/multiple_dispatches/main_test.go */ public class MultipleDispatchesTest { + private static final WasmModule module = + Parser.parse(Path.of("./src/test/go-examples/multiple_dispatches/main.wasm")); private final MockHandler handler = new MockHandler(); @Test public void testHttpContextOnHttpRequestHeaders() throws StartException { - // Load the WASM module - var module = Parser.parse(Path.of("./src/test/go-examples/multiple_dispatches/main.wasm")); - // Create and configure the ProxyWasm instance try (var host = ProxyWasm.builder().withPluginHandler(handler).build(module)) { diff --git a/src/test/java/io/roastedroot/proxywasm/examples/NetworkTest.java b/src/test/java/io/roastedroot/proxywasm/examples/NetworkTest.java index 443246d..a015d5e 100644 --- a/src/test/java/io/roastedroot/proxywasm/examples/NetworkTest.java +++ b/src/test/java/io/roastedroot/proxywasm/examples/NetworkTest.java @@ -4,6 +4,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import com.dylibso.chicory.wasm.Parser; +import com.dylibso.chicory.wasm.WasmModule; import io.roastedroot.proxywasm.Action; import io.roastedroot.proxywasm.MetricType; import io.roastedroot.proxywasm.NetworkContext; @@ -19,13 +20,14 @@ * Java port of https://github.com/proxy-wasm/proxy-wasm-go-sdk/blob/ab4161dcf9246a828008b539a82a1556cf0f2e24/examples/network/main_test.go */ public class NetworkTest { + private static final WasmModule module = + Parser.parse(Path.of("./src/test/go-examples/network/main.wasm")); private final MockHandler handler = new MockHandler(); private ProxyWasm host; private NetworkContext context; @BeforeEach void setUp() throws StartException { - var module = Parser.parse(Path.of("./src/test/go-examples/network/main.wasm")); this.host = ProxyWasm.builder().withPluginHandler(handler).build(module); this.context = host.createNetworkContext(handler); } diff --git a/src/test/java/io/roastedroot/proxywasm/examples/OnRequestHeadersTest.java b/src/test/java/io/roastedroot/proxywasm/examples/OnRequestHeadersTest.java index 92fd65f..2b09a29 100644 --- a/src/test/java/io/roastedroot/proxywasm/examples/OnRequestHeadersTest.java +++ b/src/test/java/io/roastedroot/proxywasm/examples/OnRequestHeadersTest.java @@ -3,6 +3,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import com.dylibso.chicory.wasm.Parser; +import com.dylibso.chicory.wasm.WasmModule; import io.roastedroot.proxywasm.ProxyWasm; import io.roastedroot.proxywasm.StartException; import java.nio.file.Path; @@ -14,12 +15,12 @@ * Java port of https://github.com/mosn/proxy-wasm-go-host/blob/25a9e133320ed52aee6ef87f6dcbed77f526550e/example/main_test.go */ public class OnRequestHeadersTest { + private static final WasmModule module = + Parser.parse(Path.of("./src/test/cc-examples/on_request_headers/http.wasm")); @Test public void test() throws StartException { - // This module uses the 0_1_0 ABI - var module = Parser.parse(Path.of("./src/test/cc-examples/on_request_headers/http.wasm")); var handler = new MockHandler(); ProxyWasm.Builder builder = ProxyWasm.builder() diff --git a/src/test/java/io/roastedroot/proxywasm/examples/PostponeRequestsTest.java b/src/test/java/io/roastedroot/proxywasm/examples/PostponeRequestsTest.java index b4d63e5..8d9b416 100644 --- a/src/test/java/io/roastedroot/proxywasm/examples/PostponeRequestsTest.java +++ b/src/test/java/io/roastedroot/proxywasm/examples/PostponeRequestsTest.java @@ -3,6 +3,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import com.dylibso.chicory.wasm.Parser; +import com.dylibso.chicory.wasm.WasmModule; import io.roastedroot.proxywasm.Action; import io.roastedroot.proxywasm.ProxyWasm; import io.roastedroot.proxywasm.StartException; @@ -13,13 +14,14 @@ * Java port of https://github.com/proxy-wasm/proxy-wasm-go-sdk/blob/master/examples/postpone_requests/main_test.go */ public class PostponeRequestsTest { + private static final WasmModule module = + Parser.parse(Path.of("./src/test/go-examples/postpone_requests/main.wasm")); @Test public void testSetEffectiveContext() throws StartException { var handler = new MockHandler(); // Load the WASM module - var module = Parser.parse(Path.of("./src/test/go-examples/postpone_requests/main.wasm")); // Create and configure the ProxyWasm instance try (var host = ProxyWasm.builder().withPluginHandler(handler).build(module)) { diff --git a/src/test/java/io/roastedroot/proxywasm/examples/PropertiesTest.java b/src/test/java/io/roastedroot/proxywasm/examples/PropertiesTest.java index 0aaccca..13be5ba 100644 --- a/src/test/java/io/roastedroot/proxywasm/examples/PropertiesTest.java +++ b/src/test/java/io/roastedroot/proxywasm/examples/PropertiesTest.java @@ -6,6 +6,7 @@ import static org.junit.jupiter.api.Assertions.assertNotNull; import com.dylibso.chicory.wasm.Parser; +import com.dylibso.chicory.wasm.WasmModule; import io.roastedroot.proxywasm.Action; import io.roastedroot.proxywasm.ProxyWasm; import io.roastedroot.proxywasm.StartException; @@ -20,6 +21,8 @@ * Java port of https://github.com/proxy-wasm/proxy-wasm-go-sdk/blob/ab4161dcf9246a828008b539a82a1556cf0f2e24/examples/properties/main_test.go */ public class PropertiesTest { + private static final WasmModule module = + Parser.parse(Path.of("./src/test/go-examples/properties/main.wasm")); static String[] propertyPrefix = new String[] {"route_metadata", "filter_metadata", "envoy.filters.http.wasm"}; @@ -31,7 +34,6 @@ public class PropertiesTest { void setUp() throws StartException { this.handler = new MockHandler(); ProxyWasm.Builder builder = ProxyWasm.builder(); - var module = Parser.parse(Path.of("./src/test/go-examples/properties/main.wasm")); this.proxyWasm = builder.build(module); } diff --git a/src/test/java/io/roastedroot/proxywasm/examples/SharedDataTest.java b/src/test/java/io/roastedroot/proxywasm/examples/SharedDataTest.java index d4e299a..4ea7b7a 100644 --- a/src/test/java/io/roastedroot/proxywasm/examples/SharedDataTest.java +++ b/src/test/java/io/roastedroot/proxywasm/examples/SharedDataTest.java @@ -3,6 +3,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import com.dylibso.chicory.wasm.Parser; +import com.dylibso.chicory.wasm.WasmModule; import io.roastedroot.proxywasm.Action; import io.roastedroot.proxywasm.ProxyWasm; import io.roastedroot.proxywasm.StartException; @@ -13,13 +14,13 @@ * Java port of https://github.com/proxy-wasm/proxy-wasm-go-sdk/blob/master/examples/shared_data/main_test.go */ public class SharedDataTest { + private static final WasmModule module = + Parser.parse(Path.of("./src/test/go-examples/shared_data/main.wasm")); @Test public void testSetEffectiveContext() throws StartException { var sharedData = new MockSharedHandler(); var handler = new MockHandler(sharedData); - // Load the WASM module - var module = Parser.parse(Path.of("./src/test/go-examples/shared_data/main.wasm")); // Create and configure the ProxyWasm instance try (var host = ProxyWasm.builder().withPluginHandler(handler).build(module)) { diff --git a/src/test/java/io/roastedroot/proxywasm/examples/SharedQueueTest.java b/src/test/java/io/roastedroot/proxywasm/examples/SharedQueueTest.java index 2a10dc1..08452bc 100644 --- a/src/test/java/io/roastedroot/proxywasm/examples/SharedQueueTest.java +++ b/src/test/java/io/roastedroot/proxywasm/examples/SharedQueueTest.java @@ -4,6 +4,7 @@ import static org.junit.jupiter.api.Assertions.assertNotNull; import com.dylibso.chicory.wasm.Parser; +import com.dylibso.chicory.wasm.WasmModule; import io.roastedroot.proxywasm.Action; import io.roastedroot.proxywasm.ProxyWasm; import io.roastedroot.proxywasm.QueueName; @@ -22,6 +23,10 @@ * Test case to verify src/test/go-examples/shared_queue example. */ public class SharedQueueTest { + private static final WasmModule receiverModule = + Parser.parse(Path.of("./src/test/go-examples/shared_queue/receiver/main.wasm")); + private static final WasmModule senderModule = + Parser.parse(Path.of("./src/test/go-examples/shared_queue/sender/main.wasm")); ArrayList closeList = new ArrayList<>(); @@ -44,9 +49,6 @@ T deferClose(T x) { @Test public void testOnPluginStart() throws StartException, WasmException { - // Load the WASM module - var receiverModule = - Parser.parse(Path.of("./src/test/go-examples/shared_queue/receiver/main.wasm")); var sharedData = new MockSharedHandler(); var receiverVmId = "receiver"; @@ -91,10 +93,6 @@ public void testOnPluginStart() throws StartException, WasmException { var responseHeadersQueue = sharedData.getSharedQueue(responseHeadersQueueId); assertNotNull(responseHeadersQueue); - // Load the WASM module - var senderModule = - Parser.parse(Path.of("./src/test/go-examples/shared_queue/sender/main.wasm")); - // Create and configure the sender instance var senderHandler = new MockHandler(sharedData); var senderVmId = "sender"; diff --git a/src/test/java/io/roastedroot/proxywasm/examples/TimersClocksRandomTest.java b/src/test/java/io/roastedroot/proxywasm/examples/TimersClocksRandomTest.java index c4c534d..403dfa7 100644 --- a/src/test/java/io/roastedroot/proxywasm/examples/TimersClocksRandomTest.java +++ b/src/test/java/io/roastedroot/proxywasm/examples/TimersClocksRandomTest.java @@ -4,6 +4,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue; import com.dylibso.chicory.wasm.Parser; +import com.dylibso.chicory.wasm.WasmModule; import io.roastedroot.proxywasm.ProxyWasm; import io.roastedroot.proxywasm.StartException; import io.roastedroot.proxywasm.WasmResult; @@ -16,6 +17,8 @@ * Java port of https://github.com/proxy-wasm/proxy-wasm-go-sdk/blob/ab4161dcf9246a828008b539a82a1556cf0f2e24/examples/helloworld/main_test.go */ public class TimersClocksRandomTest { + private static final WasmModule module = + Parser.parse(Path.of("./src/test/go-examples/helloworld/main.wasm")); @Test public void test() throws StartException { @@ -33,9 +36,7 @@ public WasmResult setTickPeriodMilliseconds(int tick_period) { ProxyWasm.Builder builder = ProxyWasm.builder().withPluginHandler(handler); - var module = Parser.parse(Path.of("./src/test/go-examples/helloworld/main.wasm")); try (var proxyWasm = builder.build(module)) { - var loggedMessages = handler.loggedMessages(); assertEquals(List.of("OnPluginStart from Go!"), loggedMessages); loggedMessages.clear(); diff --git a/src/test/java/io/roastedroot/proxywasm/examples/VmPluginConfigurationTest.java b/src/test/java/io/roastedroot/proxywasm/examples/VmPluginConfigurationTest.java index 8939a94..28fd4b4 100644 --- a/src/test/java/io/roastedroot/proxywasm/examples/VmPluginConfigurationTest.java +++ b/src/test/java/io/roastedroot/proxywasm/examples/VmPluginConfigurationTest.java @@ -3,6 +3,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import com.dylibso.chicory.wasm.Parser; +import com.dylibso.chicory.wasm.WasmModule; import io.roastedroot.proxywasm.ProxyWasm; import io.roastedroot.proxywasm.StartException; import java.nio.file.Path; @@ -14,14 +15,12 @@ * Java port of https://github.com/proxy-wasm/proxy-wasm-go-sdk/blob/ab4161dcf9246a828008b539a82a1556cf0f2e24/examples/vm_plugin_configuration/main_test.go */ public class VmPluginConfigurationTest { + // This module uses the 0_2_0 ABI + private static final WasmModule module = + Parser.parse(Path.of("./src/test/go-examples/vm_plugin_configuration/main.wasm")); @Test public void test() throws StartException { - - // This module uses the 0_2_0 ABI - var module = - Parser.parse(Path.of("./src/test/go-examples/vm_plugin_configuration/main.wasm")); - var handler = new MockHandler(); ProxyWasm.Builder builder = ProxyWasm.builder()