java-testinglisted
Install: claude install-skill MuHamza30/paypal-api-plugin
# Testing code that uses an APIMatic Java SDK
The SDK ships **no mocking helpers for consumers**. Its transport is OkHttp
(`io.apimatic:okhttp-client-adapter`), and the injection point is
`httpClientConfig(b -> b.httpClientInstance(okHttpClient))`. Supplying an `OkHttpClient` whose
interceptor returns canned responses is the in-process seam: no network, no global patching, and no
dependence on the SDK's internals.
> There is **no base-URL override**. The URL comes from the `Environment`/`Server` enums, so pointing the
> client at a local mock server is not a matter of setting a property — either intercept inside OkHttp
> (below) or, if you really want a live socket, run a mock server and rewrite the request URL in an
> interceptor.
The samples below use JUnit 5 for reference only — mirror whatever the project already uses.
## What you can substitute, and what you cannot
**This SDK ships no interfaces, so there is nothing for a mocking library to
substitute.** The client is `public final` with a private constructor, and every controller is a
`public final` class with no interface behind it — most mocking libraries cannot subclass either without
extra configuration.
So put a narrow interface of your own in front of the SDK, implement it over the client — calling
`client.get{Controller}().{operation}(...)` and returning whatever your callers need — and test *that*
against the stub interceptor below. See **java-client-initialization**.
## A reusable stub helper
```java
imp