/** * Vitest fixture for tests that need to drive Java recipes via a spawned * `org.openrewrite.maven.rpc.JavaRewriteRpc` process. Provides a worker-scoped * JVM (one process per vitest worker) wrapped in a test-scoped fixture that * resets accumulated state before each test. * * Typical use: * ``` * import {testJavaRpc, describeJavaRpc} from "@openrewrite/rewrite/test/java-rpc"; * * describeJavaRpc("AddDependency", () => { * testJavaRpc("adds a dep to package.json", async ({javaRpc}) => { * const spec = new RecipeSpec(); * spec.recipe = await javaRpc.rpc.prepareRecipe( * "org.openrewrite.javascript.AddDependency", {name: "lodash", version: "^4.17.21"}, * ); * await spec.rewriteRun(packageJson(before, after)); * }); * }); * ``` * * The classpath is resolved via {@link findTestClasspath}; the suite is skipped * (via {@link describeJavaRpc}) when no classpath has been configured. */ import { type SuiteAPI } from "vitest"; import { JavaRpcTestServer } from "../rpc/java-rpc-client"; export { findTestClasspath, JavaRpcTestServer } from "../rpc/java-rpc-client"; export type { JavaRpcOptions } from "../rpc/java-rpc-client"; /** * Vitest test API extended with a {@link JavaRpcTestServer} fixture. The JVM * is spawned once per worker; state is reset before every test. */ export declare const testJavaRpc: import("vitest").TestAPI<{ _javaRpcServer: JavaRpcTestServer; javaRpc: JavaRpcTestServer; }>; /** * `describe` wrapper that skips the suite when the Java RPC test classpath has * not been configured (env var or generated file). Use in place of `describe` * for any suite that uses {@link testJavaRpc}. * * Run `./gradlew :rewrite-javascript:generateTestClasspath` to enable, or set * the `REWRITE_JAVASCRIPT_CLASSPATH` environment variable. */ export declare const describeJavaRpc: SuiteAPI; //# sourceMappingURL=java-rpc.d.ts.map