This is an automated email from the ASF dual-hosted git repository.
wenjin272 pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/flink-agents.git
The following commit(s) were added to refs/heads/main by this push:
new 618777288 [hotfix][api][java] Move ResourceContext lookup factory to
test utilities (#1349)
618777288 is described below
commit 618777288baecc4519f8410c98be332b0c4499d1
Author: Wenjin Xie <[email protected]>
AuthorDate: Mon Nov 2 14:33:40 2026 +0800
[hotfix][api][java] Move ResourceContext lookup factory to test utilities
(#1349)
Generated-by: Codex CLI 0.153.4 (GPT-6)
Co-authored-by: Codex <[email protected]>
---
.../flink/agents/api/resource/ResourceContext.java | 29 --------------
.../agents/api/resource/TestResourceContexts.java} | 46 +++-------------------
.../pom.xml | 9 ++++-
.../test/VectorStoreIntegrationTest.java | 4 +-
.../AnthropicChatModelConnectionTest.java | 4 +-
.../anthropic/AnthropicChatModelSetupTest.java | 4 +-
.../anthropic/AnthropicMultimodalTest.java | 4 +-
.../bedrock/BedrockChatModelConnectionTest.java | 4 +-
.../bedrock/BedrockChatModelSetupTest.java | 4 +-
.../gemini/GeminiChatModelConnectionTest.java | 4 +-
.../gemini/GeminiChatModelSetupTest.java | 4 +-
.../chatmodels/gemini/GeminiMultimodalTest.java | 4 +-
.../ollama/OllamaChatModelConnectionTest.java | 4 +-
.../ollama/OllamaChatModelSetupTest.java | 4 +-
.../ollama/OllamaMultimodalLiveTest.java | 4 +-
.../chatmodels/ollama/OllamaMultimodalTest.java | 6 +--
.../openai/AzureOpenAIChatModelConnectionTest.java | 4 +-
.../openai/AzureOpenAIChatModelSetupTest.java | 4 +-
.../OpenAIChatCompletionsMultimodalLiveTest.java | 5 ++-
.../openai/OpenAICompletionsConnectionTest.java | 4 +-
.../openai/OpenAICompletionsSetupTest.java | 4 +-
.../openai/OpenAIModelAttributionTest.java | 3 +-
.../openai/OpenAIResponsesModelConnectionTest.java | 4 +-
.../openai/OpenAIResponsesModelSetupTest.java | 4 +-
.../openai/OpenAIResponsesMultimodalTest.java | 4 +-
.../openai/VLLMChatModelConnectionTest.java | 4 +-
.../chatmodels/openai/VLLMChatModelSetupTest.java | 4 +-
.../watsonx/WatsonxChatModelConnectionTest.java | 4 +-
.../watsonx/WatsonxChatModelLiveTest.java | 4 +-
.../watsonx/WatsonxChatModelSetupTest.java | 4 +-
.../bedrock/BedrockEmbeddingModelTest.java | 4 +-
.../ollama/OllamaEmbeddingModelConnectionTest.java | 4 +-
.../openai/OpenAIEmbeddingModelTest.java | 4 +-
.../agents/integrations/mcp/MCPServerTest.java | 4 +-
integrations/pom.xml | 11 ++++++
...ElasticsearchVectorStoreKNumCandidatesTest.java | 4 +-
.../ElasticsearchVectorStoreTest.java | 8 ++--
.../vectorstores/milvus/MilvusVectorStoreTest.java | 9 +++--
.../opensearch/OpenSearchVectorStoreTest.java | 7 +++-
.../pgvector/PgVectorVectorStoreTest.java | 8 ++--
.../s3vectors/S3VectorsVectorStoreTest.java | 7 +++-
.../agents/plan/AgentPlanDeclareChatModelTest.java | 7 ++--
.../plan/AgentPlanDeclareDecisionModelTest.java | 3 +-
.../agents/plan/AgentPlanDeclareMCPServerTest.java | 4 +-
.../agents/plan/AgentPlanDeclareSkillsTest.java | 5 +--
.../agents/plan/AgentPlanDeclareToolFieldTest.java | 4 +-
.../plan/AgentPlanDeclareToolMethodTest.java | 18 ++++-----
.../flink/agents/plan/FunctionToolPlanTest.java | 6 +--
.../plan/actions/DecisionModelActionTest.java | 4 +-
.../serializer/AgentPlanJsonDeserializerTest.java | 5 ++-
.../flink/agents/plan/tools/bash/BashToolTest.java | 4 +-
51 files changed, 170 insertions(+), 154 deletions(-)
diff --git
a/api/src/main/java/org/apache/flink/agents/api/resource/ResourceContext.java
b/api/src/main/java/org/apache/flink/agents/api/resource/ResourceContext.java
index 6e2ad8242..5b3b300d9 100644
---
a/api/src/main/java/org/apache/flink/agents/api/resource/ResourceContext.java
+++
b/api/src/main/java/org/apache/flink/agents/api/resource/ResourceContext.java
@@ -22,7 +22,6 @@ import org.apache.flink.agents.api.skills.SkillSourceSpec;
import java.util.Collections;
import java.util.List;
-import java.util.function.BiFunction;
/**
* Capabilities available to a {@link Resource} during execution.
@@ -62,32 +61,4 @@ public interface ResourceContext {
throws Exception {
return Collections.emptyList();
}
-
- /**
- * Create a {@link ResourceContext} backed by the given resource lookup
function. The skill
- * methods return empty defaults — convenient for tests or for runtimes
without skills support.
- */
- static ResourceContext fromGetResource(BiFunction<String, ResourceType,
Resource> getResource) {
- return new ResourceContext() {
- @Override
- public Resource getResource(String name, ResourceType type) {
- return getResource.apply(name, type);
- }
-
- @Override
- public String generateAvailableSkillsPrompt(List<String>
skillNames) {
- return "";
- }
-
- @Override
- public List<String> getSkillDirs(List<String> skillNames) {
- return Collections.emptyList();
- }
-
- @Override
- public List<String>
resolveSkillNamesForSources(List<SkillSourceSpec> sources) {
- return Collections.emptyList();
- }
- };
- }
}
diff --git
a/api/src/main/java/org/apache/flink/agents/api/resource/ResourceContext.java
b/api/src/test/java/org/apache/flink/agents/api/resource/TestResourceContexts.java
similarity index 51%
copy from
api/src/main/java/org/apache/flink/agents/api/resource/ResourceContext.java
copy to
api/src/test/java/org/apache/flink/agents/api/resource/TestResourceContexts.java
index 6e2ad8242..637eed559 100644
---
a/api/src/main/java/org/apache/flink/agents/api/resource/ResourceContext.java
+++
b/api/src/test/java/org/apache/flink/agents/api/resource/TestResourceContexts.java
@@ -24,50 +24,16 @@ import java.util.Collections;
import java.util.List;
import java.util.function.BiFunction;
-/**
- * Capabilities available to a {@link Resource} during execution.
- *
- * <p>Mirrors the Python {@code
flink_agents.api.resource_context.ResourceContext}.
- */
-public interface ResourceContext {
-
- /** Get another resource declared in the same Agent. */
- Resource getResource(String name, ResourceType type) throws Exception;
-
- /**
- * Generate the available skills prompt for the given skill names.
- *
- * <p>Returns an empty string if no skills are configured.
- */
- String generateAvailableSkillsPrompt(List<String> skillNames) throws
Exception;
-
- /**
- * Return absolute directory paths for the given skill names.
- *
- * <p>Returns an empty list if no skills are configured or none of the
requested skills are
- * filesystem-backed.
- */
- List<String> getSkillDirs(List<String> skillNames) throws Exception;
-
- /**
- * Resolve skill names from the given source specifications.
- *
- * <p>At plan time, a descriptor may record a set of {@link
SkillSourceSpec} entries as a marker
- * meaning "all skills from these sources." At runtime, this method
resolves the marker into
- * actual skill names by looking up the sources in the agent's {@code
SkillManager}.
- *
- * <p>Returns an empty list if no skills are configured or the sources are
not loaded.
- */
- default List<String> resolveSkillNamesForSources(List<SkillSourceSpec>
sources)
- throws Exception {
- return Collections.emptyList();
- }
+/** Resource context factories for tests that only need resource lookup. */
+public final class TestResourceContexts {
+ private TestResourceContexts() {}
/**
* Create a {@link ResourceContext} backed by the given resource lookup
function. The skill
- * methods return empty defaults — convenient for tests or for runtimes
without skills support.
+ * methods return empty defaults.
*/
- static ResourceContext fromGetResource(BiFunction<String, ResourceType,
Resource> getResource) {
+ public static ResourceContext fromGetResource(
+ BiFunction<String, ResourceType, Resource> getResource) {
return new ResourceContext() {
@Override
public Resource getResource(String name, ResourceType type) {
diff --git a/e2e-test/flink-agents-end-to-end-tests-integration/pom.xml
b/e2e-test/flink-agents-end-to-end-tests-integration/pom.xml
index 54ff65760..070e9ab6b 100644
--- a/e2e-test/flink-agents-end-to-end-tests-integration/pom.xml
+++ b/e2e-test/flink-agents-end-to-end-tests-integration/pom.xml
@@ -40,6 +40,13 @@ under the License.
</properties>
<dependencies>
+ <dependency>
+ <groupId>org.apache.flink</groupId>
+ <artifactId>flink-agents-api</artifactId>
+ <version>${project.version}</version>
+ <type>test-jar</type>
+ <scope>test</scope>
+ </dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>${flink.agents.dist.artifactId}</artifactId>
@@ -245,4 +252,4 @@ under the License.
</profile>
</profiles>
-</project>
\ No newline at end of file
+</project>
diff --git
a/e2e-test/flink-agents-end-to-end-tests-integration/src/test/java/org/apache/flink/agents/integration/test/VectorStoreIntegrationTest.java
b/e2e-test/flink-agents-end-to-end-tests-integration/src/test/java/org/apache/flink/agents/integration/test/VectorStoreIntegrationTest.java
index 444e2bb39..fdf8ee35d 100644
---
a/e2e-test/flink-agents-end-to-end-tests-integration/src/test/java/org/apache/flink/agents/integration/test/VectorStoreIntegrationTest.java
+++
b/e2e-test/flink-agents-end-to-end-tests-integration/src/test/java/org/apache/flink/agents/integration/test/VectorStoreIntegrationTest.java
@@ -19,7 +19,7 @@
package org.apache.flink.agents.integration.test;
import org.apache.flink.agents.api.AgentsExecutionEnvironment;
-import org.apache.flink.agents.api.resource.ResourceContext;
+import org.apache.flink.agents.api.resource.TestResourceContexts;
import org.apache.flink.agents.api.vectorstores.Document;
import
org.apache.flink.agents.integrations.vectorstores.pgvector.PgVectorVectorStore;
import org.apache.flink.api.java.functions.KeySelector;
@@ -129,7 +129,7 @@ public class VectorStoreIntegrationTest {
store =
new PgVectorVectorStore(
VectorStoreIntegrationAgent.vectorStore(),
- ResourceContext.fromGetResource((name, type) ->
null));
+ TestResourceContexts.fromGetResource((name, type)
-> null));
store.createCollectionIfNotExists(table, Map.of());
store.addEmbedding(
pgVectorSeed(Integer.parseInt(envOr("PGVECTOR_DIMS",
"768"))), table, Map.of());
diff --git
a/integrations/chat-models/anthropic/src/test/java/org/apache/flink/agents/integrations/chatmodels/anthropic/AnthropicChatModelConnectionTest.java
b/integrations/chat-models/anthropic/src/test/java/org/apache/flink/agents/integrations/chatmodels/anthropic/AnthropicChatModelConnectionTest.java
index 46d10c63a..7f348c38b 100644
---
a/integrations/chat-models/anthropic/src/test/java/org/apache/flink/agents/integrations/chatmodels/anthropic/AnthropicChatModelConnectionTest.java
+++
b/integrations/chat-models/anthropic/src/test/java/org/apache/flink/agents/integrations/chatmodels/anthropic/AnthropicChatModelConnectionTest.java
@@ -42,6 +42,7 @@ import
org.apache.flink.agents.api.chat.messages.ReasoningBlock;
import org.apache.flink.agents.api.chat.model.NativeStructuredOutputSupport;
import org.apache.flink.agents.api.resource.ResourceContext;
import org.apache.flink.agents.api.resource.ResourceDescriptor;
+import org.apache.flink.agents.api.resource.TestResourceContexts;
import org.apache.flink.agents.api.tools.Tool;
import org.apache.flink.agents.api.tools.ToolMetadata;
import org.apache.flink.agents.api.tools.ToolParameters;
@@ -78,7 +79,8 @@ import static
org.assertj.core.api.InstanceOfAssertFactories.STRING;
*/
class AnthropicChatModelConnectionTest {
- private static final ResourceContext NOOP =
ResourceContext.fromGetResource((a, b) -> null);
+ private static final ResourceContext NOOP =
+ TestResourceContexts.fromGetResource((a, b) -> null);
private static final ObjectMapper MAPPER = new ObjectMapper();
diff --git
a/integrations/chat-models/anthropic/src/test/java/org/apache/flink/agents/integrations/chatmodels/anthropic/AnthropicChatModelSetupTest.java
b/integrations/chat-models/anthropic/src/test/java/org/apache/flink/agents/integrations/chatmodels/anthropic/AnthropicChatModelSetupTest.java
index 081837100..5b86d368c 100644
---
a/integrations/chat-models/anthropic/src/test/java/org/apache/flink/agents/integrations/chatmodels/anthropic/AnthropicChatModelSetupTest.java
+++
b/integrations/chat-models/anthropic/src/test/java/org/apache/flink/agents/integrations/chatmodels/anthropic/AnthropicChatModelSetupTest.java
@@ -20,6 +20,7 @@ package
org.apache.flink.agents.integrations.chatmodels.anthropic;
import org.apache.flink.agents.api.resource.ResourceContext;
import org.apache.flink.agents.api.resource.ResourceDescriptor;
+import org.apache.flink.agents.api.resource.TestResourceContexts;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
@@ -33,7 +34,8 @@ import static
org.assertj.core.api.Assertions.assertThatThrownBy;
/** Tests for {@link AnthropicChatModelSetup}. */
class AnthropicChatModelSetupTest {
- private static final ResourceContext NOOP =
ResourceContext.fromGetResource((a, b) -> null);
+ private static final ResourceContext NOOP =
+ TestResourceContexts.fromGetResource((a, b) -> null);
private static ResourceDescriptor.Builder base() {
return
ResourceDescriptor.Builder.newBuilder(AnthropicChatModelSetup.class.getName())
diff --git
a/integrations/chat-models/anthropic/src/test/java/org/apache/flink/agents/integrations/chatmodels/anthropic/AnthropicMultimodalTest.java
b/integrations/chat-models/anthropic/src/test/java/org/apache/flink/agents/integrations/chatmodels/anthropic/AnthropicMultimodalTest.java
index 6a20d0ba3..897146482 100644
---
a/integrations/chat-models/anthropic/src/test/java/org/apache/flink/agents/integrations/chatmodels/anthropic/AnthropicMultimodalTest.java
+++
b/integrations/chat-models/anthropic/src/test/java/org/apache/flink/agents/integrations/chatmodels/anthropic/AnthropicMultimodalTest.java
@@ -32,8 +32,8 @@ import
org.apache.flink.agents.api.chat.messages.ToolCallBlock;
import org.apache.flink.agents.api.chat.messages.ToolResultBlock;
import
org.apache.flink.agents.api.chat.messages.UnsupportedContentBlockException;
import org.apache.flink.agents.api.chat.messages.VideoBlock;
-import org.apache.flink.agents.api.resource.ResourceContext;
import org.apache.flink.agents.api.resource.ResourceDescriptor;
+import org.apache.flink.agents.api.resource.TestResourceContexts;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
@@ -67,7 +67,7 @@ class AnthropicMultimodalTest {
.addInitialArgument("model",
"claude-sonnet-4-20250514")
.build();
return new AnthropicChatModelConnection(
- descriptor, ResourceContext.fromGetResource((a, b) -> null));
+ descriptor, TestResourceContexts.fromGetResource((a, b) ->
null));
}
private static Map<String, Object> params() {
diff --git
a/integrations/chat-models/bedrock/src/test/java/org/apache/flink/agents/integrations/chatmodels/bedrock/BedrockChatModelConnectionTest.java
b/integrations/chat-models/bedrock/src/test/java/org/apache/flink/agents/integrations/chatmodels/bedrock/BedrockChatModelConnectionTest.java
index cd457fce7..528323f87 100644
---
a/integrations/chat-models/bedrock/src/test/java/org/apache/flink/agents/integrations/chatmodels/bedrock/BedrockChatModelConnectionTest.java
+++
b/integrations/chat-models/bedrock/src/test/java/org/apache/flink/agents/integrations/chatmodels/bedrock/BedrockChatModelConnectionTest.java
@@ -32,6 +32,7 @@ import
org.apache.flink.agents.api.chat.model.BaseChatModelConnection;
import org.apache.flink.agents.api.chat.model.NativeStructuredOutputSupport;
import org.apache.flink.agents.api.resource.ResourceContext;
import org.apache.flink.agents.api.resource.ResourceDescriptor;
+import org.apache.flink.agents.api.resource.TestResourceContexts;
import org.apache.flink.agents.api.tools.Tool;
import org.apache.flink.agents.api.tools.ToolMetadata;
import org.apache.flink.agents.api.tools.ToolParameters;
@@ -69,7 +70,8 @@ import static org.junit.jupiter.api.Assertions.assertNotNull;
/** Tests for {@link BedrockChatModelConnection}. */
class BedrockChatModelConnectionTest {
- private static final ResourceContext NOOP =
ResourceContext.fromGetResource((a, b) -> null);
+ private static final ResourceContext NOOP =
+ TestResourceContexts.fromGetResource((a, b) -> null);
private static ResourceDescriptor descriptor(String region, String model) {
ResourceDescriptor.Builder b =
diff --git
a/integrations/chat-models/bedrock/src/test/java/org/apache/flink/agents/integrations/chatmodels/bedrock/BedrockChatModelSetupTest.java
b/integrations/chat-models/bedrock/src/test/java/org/apache/flink/agents/integrations/chatmodels/bedrock/BedrockChatModelSetupTest.java
index d7153588b..e8e100e6f 100644
---
a/integrations/chat-models/bedrock/src/test/java/org/apache/flink/agents/integrations/chatmodels/bedrock/BedrockChatModelSetupTest.java
+++
b/integrations/chat-models/bedrock/src/test/java/org/apache/flink/agents/integrations/chatmodels/bedrock/BedrockChatModelSetupTest.java
@@ -21,6 +21,7 @@ package
org.apache.flink.agents.integrations.chatmodels.bedrock;
import org.apache.flink.agents.api.chat.model.BaseChatModelSetup;
import org.apache.flink.agents.api.resource.ResourceContext;
import org.apache.flink.agents.api.resource.ResourceDescriptor;
+import org.apache.flink.agents.api.resource.TestResourceContexts;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
@@ -34,7 +35,8 @@ import static
org.assertj.core.api.Assertions.assertThatThrownBy;
/** Tests for {@link BedrockChatModelSetup}. */
class BedrockChatModelSetupTest {
- private static final ResourceContext NOOP =
ResourceContext.fromGetResource((a, b) -> null);
+ private static final ResourceContext NOOP =
+ TestResourceContexts.fromGetResource((a, b) -> null);
@Test
@DisplayName("getParameters includes model and default temperature")
diff --git
a/integrations/chat-models/gemini/src/test/java/org/apache/flink/agents/integrations/chatmodels/gemini/GeminiChatModelConnectionTest.java
b/integrations/chat-models/gemini/src/test/java/org/apache/flink/agents/integrations/chatmodels/gemini/GeminiChatModelConnectionTest.java
index 21f439ae6..893bbb35a 100644
---
a/integrations/chat-models/gemini/src/test/java/org/apache/flink/agents/integrations/chatmodels/gemini/GeminiChatModelConnectionTest.java
+++
b/integrations/chat-models/gemini/src/test/java/org/apache/flink/agents/integrations/chatmodels/gemini/GeminiChatModelConnectionTest.java
@@ -39,6 +39,7 @@ import
org.apache.flink.agents.api.chat.model.BaseChatModelConnection;
import org.apache.flink.agents.api.chat.model.NativeStructuredOutputSupport;
import org.apache.flink.agents.api.resource.ResourceContext;
import org.apache.flink.agents.api.resource.ResourceDescriptor;
+import org.apache.flink.agents.api.resource.TestResourceContexts;
import org.apache.flink.agents.api.tools.Tool;
import org.apache.flink.agents.api.tools.ToolMetadata;
import org.apache.flink.agents.api.tools.ToolParameters;
@@ -71,7 +72,8 @@ import static
org.assertj.core.api.Assertions.assertThatThrownBy;
*/
class GeminiChatModelConnectionTest {
- private static final ResourceContext NOOP =
ResourceContext.fromGetResource((a, b) -> null);
+ private static final ResourceContext NOOP =
+ TestResourceContexts.fromGetResource((a, b) -> null);
/** A model Google documents native structured-output support for. */
private static final String CAPABLE_MODEL = "gemini-2.5-flash";
diff --git
a/integrations/chat-models/gemini/src/test/java/org/apache/flink/agents/integrations/chatmodels/gemini/GeminiChatModelSetupTest.java
b/integrations/chat-models/gemini/src/test/java/org/apache/flink/agents/integrations/chatmodels/gemini/GeminiChatModelSetupTest.java
index bc2f0de97..5c00185ab 100644
---
a/integrations/chat-models/gemini/src/test/java/org/apache/flink/agents/integrations/chatmodels/gemini/GeminiChatModelSetupTest.java
+++
b/integrations/chat-models/gemini/src/test/java/org/apache/flink/agents/integrations/chatmodels/gemini/GeminiChatModelSetupTest.java
@@ -21,6 +21,7 @@ package
org.apache.flink.agents.integrations.chatmodels.gemini;
import org.apache.flink.agents.api.chat.model.BaseChatModelSetup;
import org.apache.flink.agents.api.resource.ResourceContext;
import org.apache.flink.agents.api.resource.ResourceDescriptor;
+import org.apache.flink.agents.api.resource.TestResourceContexts;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
@@ -34,7 +35,8 @@ import static
org.assertj.core.api.Assertions.assertThatThrownBy;
/** Tests for {@link GeminiChatModelSetup}. */
class GeminiChatModelSetupTest {
- private static final ResourceContext NOOP =
ResourceContext.fromGetResource((a, b) -> null);
+ private static final ResourceContext NOOP =
+ TestResourceContexts.fromGetResource((a, b) -> null);
private static ResourceDescriptor.Builder base() {
return
ResourceDescriptor.Builder.newBuilder(GeminiChatModelSetup.class.getName())
diff --git
a/integrations/chat-models/gemini/src/test/java/org/apache/flink/agents/integrations/chatmodels/gemini/GeminiMultimodalTest.java
b/integrations/chat-models/gemini/src/test/java/org/apache/flink/agents/integrations/chatmodels/gemini/GeminiMultimodalTest.java
index 8ed6e7e7f..fd6227a0c 100644
---
a/integrations/chat-models/gemini/src/test/java/org/apache/flink/agents/integrations/chatmodels/gemini/GeminiMultimodalTest.java
+++
b/integrations/chat-models/gemini/src/test/java/org/apache/flink/agents/integrations/chatmodels/gemini/GeminiMultimodalTest.java
@@ -30,8 +30,8 @@ import org.apache.flink.agents.api.chat.messages.TextBlock;
import org.apache.flink.agents.api.chat.messages.ToolResultBlock;
import
org.apache.flink.agents.api.chat.messages.UnsupportedContentBlockException;
import org.apache.flink.agents.api.chat.messages.VideoBlock;
-import org.apache.flink.agents.api.resource.ResourceContext;
import org.apache.flink.agents.api.resource.ResourceDescriptor;
+import org.apache.flink.agents.api.resource.TestResourceContexts;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
@@ -167,7 +167,7 @@ class GeminiMultimodalTest {
.build();
GeminiChatModelConnection connection =
new GeminiChatModelConnection(
- descriptor, ResourceContext.fromGetResource((a, b) ->
null));
+ descriptor, TestResourceContexts.fromGetResource((a,
b) -> null));
ChatMessage assistant =
ChatMessage.assistant(
List.of(TextBlock.of("hi"),
AudioBlock.fromBase64("audio/wav", BASE64)));
diff --git
a/integrations/chat-models/ollama/src/test/java/org/apache/flink/agents/integrations/chatmodels/ollama/OllamaChatModelConnectionTest.java
b/integrations/chat-models/ollama/src/test/java/org/apache/flink/agents/integrations/chatmodels/ollama/OllamaChatModelConnectionTest.java
index 41ac8c947..d074ec951 100644
---
a/integrations/chat-models/ollama/src/test/java/org/apache/flink/agents/integrations/chatmodels/ollama/OllamaChatModelConnectionTest.java
+++
b/integrations/chat-models/ollama/src/test/java/org/apache/flink/agents/integrations/chatmodels/ollama/OllamaChatModelConnectionTest.java
@@ -31,6 +31,7 @@ import
org.apache.flink.agents.api.chat.messages.ToolCallBlock;
import org.apache.flink.agents.api.chat.model.NativeStructuredOutputSupport;
import org.apache.flink.agents.api.resource.ResourceContext;
import org.apache.flink.agents.api.resource.ResourceDescriptor;
+import org.apache.flink.agents.api.resource.TestResourceContexts;
import org.apache.flink.agents.api.tools.Tool;
import org.apache.flink.agents.api.tools.ToolMetadata;
import org.apache.flink.agents.api.tools.ToolParameters;
@@ -57,7 +58,8 @@ import static org.assertj.core.api.Assertions.assertThat;
*/
class OllamaChatModelConnectionTest {
- private static final ResourceContext NOOP =
ResourceContext.fromGetResource((a, b) -> null);
+ private static final ResourceContext NOOP =
+ TestResourceContexts.fromGetResource((a, b) -> null);
private static final ObjectMapper MAPPER = new ObjectMapper();
diff --git
a/integrations/chat-models/ollama/src/test/java/org/apache/flink/agents/integrations/chatmodels/ollama/OllamaChatModelSetupTest.java
b/integrations/chat-models/ollama/src/test/java/org/apache/flink/agents/integrations/chatmodels/ollama/OllamaChatModelSetupTest.java
index f379c1824..bf4130a31 100644
---
a/integrations/chat-models/ollama/src/test/java/org/apache/flink/agents/integrations/chatmodels/ollama/OllamaChatModelSetupTest.java
+++
b/integrations/chat-models/ollama/src/test/java/org/apache/flink/agents/integrations/chatmodels/ollama/OllamaChatModelSetupTest.java
@@ -20,6 +20,7 @@ package
org.apache.flink.agents.integrations.chatmodels.ollama;
import org.apache.flink.agents.api.resource.ResourceContext;
import org.apache.flink.agents.api.resource.ResourceDescriptor;
+import org.apache.flink.agents.api.resource.TestResourceContexts;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.ValueSource;
@@ -30,7 +31,8 @@ import static
org.assertj.core.api.Assertions.assertThatThrownBy;
/** Tests for {@link OllamaChatModelSetup}. */
class OllamaChatModelSetupTest {
- private static final ResourceContext NOOP =
ResourceContext.fromGetResource((a, b) -> null);
+ private static final ResourceContext NOOP =
+ TestResourceContexts.fromGetResource((a, b) -> null);
@Test
void getModel_returnsValueFromDescriptor() {
diff --git
a/integrations/chat-models/ollama/src/test/java/org/apache/flink/agents/integrations/chatmodels/ollama/OllamaMultimodalLiveTest.java
b/integrations/chat-models/ollama/src/test/java/org/apache/flink/agents/integrations/chatmodels/ollama/OllamaMultimodalLiveTest.java
index 504932986..f878e5182 100644
---
a/integrations/chat-models/ollama/src/test/java/org/apache/flink/agents/integrations/chatmodels/ollama/OllamaMultimodalLiveTest.java
+++
b/integrations/chat-models/ollama/src/test/java/org/apache/flink/agents/integrations/chatmodels/ollama/OllamaMultimodalLiveTest.java
@@ -22,8 +22,8 @@ import org.apache.flink.agents.api.chat.messages.ChatMessage;
import org.apache.flink.agents.api.chat.messages.ChatResult;
import org.apache.flink.agents.api.chat.messages.ImageBlock;
import org.apache.flink.agents.api.chat.messages.TextBlock;
-import org.apache.flink.agents.api.resource.ResourceContext;
import org.apache.flink.agents.api.resource.ResourceDescriptor;
+import org.apache.flink.agents.api.resource.TestResourceContexts;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
@@ -73,7 +73,7 @@ class OllamaMultimodalLiveTest {
.build();
OllamaChatModelConnection connection =
new OllamaChatModelConnection(
- descriptor, ResourceContext.fromGetResource((name,
type) -> null));
+ descriptor,
TestResourceContexts.fromGetResource((name, type) -> null));
Map<String, Object> params = new HashMap<>();
params.put("model", MODEL);
// Not every vision model supports thinking (qwen2.5vl does not).
diff --git
a/integrations/chat-models/ollama/src/test/java/org/apache/flink/agents/integrations/chatmodels/ollama/OllamaMultimodalTest.java
b/integrations/chat-models/ollama/src/test/java/org/apache/flink/agents/integrations/chatmodels/ollama/OllamaMultimodalTest.java
index 82f07edfc..fe2ed75b4 100644
---
a/integrations/chat-models/ollama/src/test/java/org/apache/flink/agents/integrations/chatmodels/ollama/OllamaMultimodalTest.java
+++
b/integrations/chat-models/ollama/src/test/java/org/apache/flink/agents/integrations/chatmodels/ollama/OllamaMultimodalTest.java
@@ -34,8 +34,8 @@ import org.apache.flink.agents.api.chat.messages.TextBlock;
import org.apache.flink.agents.api.chat.messages.ToolResultBlock;
import
org.apache.flink.agents.api.chat.messages.UnsupportedContentBlockException;
import org.apache.flink.agents.api.chat.messages.VideoBlock;
-import org.apache.flink.agents.api.resource.ResourceContext;
import org.apache.flink.agents.api.resource.ResourceDescriptor;
+import org.apache.flink.agents.api.resource.TestResourceContexts;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
@@ -61,7 +61,7 @@ class OllamaMultimodalTest {
.addInitialArgument("endpoint",
"http://localhost:11434")
.build();
return new OllamaChatModelConnection(
- descriptor, ResourceContext.fromGetResource((a, b) ->
null))
+ descriptor, TestResourceContexts.fromGetResource((a,
b) -> null))
.buildRequest(List.of(message), List.of(), Map.of("model",
"llava"), null);
}
@@ -180,7 +180,7 @@ class OllamaMultimodalTest {
.addInitialArgument("endpoint",
"http://localhost:11434")
.build();
return new OllamaChatModelConnection(
- descriptor, ResourceContext.fromGetResource((a, b) ->
null))
+ descriptor, TestResourceContexts.fromGetResource((a,
b) -> null))
.chat(List.of(message), List.of(), Map.of("model", "llava"));
}
}
diff --git
a/integrations/chat-models/openai/src/test/java/org/apache/flink/agents/integrations/chatmodels/openai/AzureOpenAIChatModelConnectionTest.java
b/integrations/chat-models/openai/src/test/java/org/apache/flink/agents/integrations/chatmodels/openai/AzureOpenAIChatModelConnectionTest.java
index 2f0ffd404..1e93fd3da 100644
---
a/integrations/chat-models/openai/src/test/java/org/apache/flink/agents/integrations/chatmodels/openai/AzureOpenAIChatModelConnectionTest.java
+++
b/integrations/chat-models/openai/src/test/java/org/apache/flink/agents/integrations/chatmodels/openai/AzureOpenAIChatModelConnectionTest.java
@@ -42,6 +42,7 @@ import
org.apache.flink.agents.api.chat.model.BaseChatModelConnection;
import org.apache.flink.agents.api.chat.model.NativeStructuredOutputSupport;
import org.apache.flink.agents.api.resource.ResourceContext;
import org.apache.flink.agents.api.resource.ResourceDescriptor;
+import org.apache.flink.agents.api.resource.TestResourceContexts;
import org.apache.flink.agents.api.tools.Tool;
import org.apache.flink.agents.api.tools.ToolMetadata;
import org.apache.flink.agents.api.tools.ToolParameters;
@@ -78,7 +79,8 @@ import static
org.assertj.core.api.Assertions.assertThatThrownBy;
*/
class AzureOpenAIChatModelConnectionTest {
- private static final ResourceContext NOOP =
ResourceContext.fromGetResource((a, b) -> null);
+ private static final ResourceContext NOOP =
+ TestResourceContexts.fromGetResource((a, b) -> null);
/** A deployment name is chosen by the user and carries no capability
information. */
private static final String DEPLOYMENT = "my-deployment";
diff --git
a/integrations/chat-models/openai/src/test/java/org/apache/flink/agents/integrations/chatmodels/openai/AzureOpenAIChatModelSetupTest.java
b/integrations/chat-models/openai/src/test/java/org/apache/flink/agents/integrations/chatmodels/openai/AzureOpenAIChatModelSetupTest.java
index bc83a7423..4b1fdaa7b 100644
---
a/integrations/chat-models/openai/src/test/java/org/apache/flink/agents/integrations/chatmodels/openai/AzureOpenAIChatModelSetupTest.java
+++
b/integrations/chat-models/openai/src/test/java/org/apache/flink/agents/integrations/chatmodels/openai/AzureOpenAIChatModelSetupTest.java
@@ -21,6 +21,7 @@ package
org.apache.flink.agents.integrations.chatmodels.openai;
import org.apache.flink.agents.api.chat.model.BaseChatModelSetup;
import org.apache.flink.agents.api.resource.ResourceContext;
import org.apache.flink.agents.api.resource.ResourceDescriptor;
+import org.apache.flink.agents.api.resource.TestResourceContexts;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
@@ -34,7 +35,8 @@ import static
org.assertj.core.api.Assertions.assertThatThrownBy;
/** Tests for {@link AzureOpenAIChatModelSetup}. */
class AzureOpenAIChatModelSetupTest {
- private static final ResourceContext NOOP =
ResourceContext.fromGetResource((a, b) -> null);
+ private static final ResourceContext NOOP =
+ TestResourceContexts.fromGetResource((a, b) -> null);
private static ResourceDescriptor.Builder descriptorBuilder() {
return
ResourceDescriptor.Builder.newBuilder(AzureOpenAIChatModelSetup.class.getName());
diff --git
a/integrations/chat-models/openai/src/test/java/org/apache/flink/agents/integrations/chatmodels/openai/OpenAIChatCompletionsMultimodalLiveTest.java
b/integrations/chat-models/openai/src/test/java/org/apache/flink/agents/integrations/chatmodels/openai/OpenAIChatCompletionsMultimodalLiveTest.java
index f40c0d358..cf1f0e898 100644
---
a/integrations/chat-models/openai/src/test/java/org/apache/flink/agents/integrations/chatmodels/openai/OpenAIChatCompletionsMultimodalLiveTest.java
+++
b/integrations/chat-models/openai/src/test/java/org/apache/flink/agents/integrations/chatmodels/openai/OpenAIChatCompletionsMultimodalLiveTest.java
@@ -25,8 +25,8 @@ import org.apache.flink.agents.api.chat.messages.ContentBlock;
import org.apache.flink.agents.api.chat.messages.DocumentBlock;
import org.apache.flink.agents.api.chat.messages.ImageBlock;
import org.apache.flink.agents.api.chat.messages.TextBlock;
-import org.apache.flink.agents.api.resource.ResourceContext;
import org.apache.flink.agents.api.resource.ResourceDescriptor;
+import org.apache.flink.agents.api.resource.TestResourceContexts;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
@@ -124,7 +124,8 @@ class OpenAIChatCompletionsMultimodalLiveTest {
}
OpenAICompletionsConnection connection =
new OpenAICompletionsConnection(
- descriptor.build(),
ResourceContext.fromGetResource((name, type) -> null));
+ descriptor.build(),
+ TestResourceContexts.fromGetResource((name, type) ->
null));
Map<String, Object> params = new HashMap<>();
params.put("model", model);
return connection
diff --git
a/integrations/chat-models/openai/src/test/java/org/apache/flink/agents/integrations/chatmodels/openai/OpenAICompletionsConnectionTest.java
b/integrations/chat-models/openai/src/test/java/org/apache/flink/agents/integrations/chatmodels/openai/OpenAICompletionsConnectionTest.java
index 7dfb88ce2..d8d6b8851 100644
---
a/integrations/chat-models/openai/src/test/java/org/apache/flink/agents/integrations/chatmodels/openai/OpenAICompletionsConnectionTest.java
+++
b/integrations/chat-models/openai/src/test/java/org/apache/flink/agents/integrations/chatmodels/openai/OpenAICompletionsConnectionTest.java
@@ -36,6 +36,7 @@ import
org.apache.flink.agents.api.chat.model.BaseChatModelConnection;
import org.apache.flink.agents.api.chat.model.NativeStructuredOutputSupport;
import org.apache.flink.agents.api.resource.ResourceContext;
import org.apache.flink.agents.api.resource.ResourceDescriptor;
+import org.apache.flink.agents.api.resource.TestResourceContexts;
import org.apache.flink.agents.api.tools.Tool;
import org.apache.flink.agents.api.tools.ToolMetadata;
import org.apache.flink.agents.api.tools.ToolParameters;
@@ -65,7 +66,8 @@ import static
org.assertj.core.api.Assertions.assertThatThrownBy;
*/
class OpenAICompletionsConnectionTest {
- private static final ResourceContext NOOP =
ResourceContext.fromGetResource((a, b) -> null);
+ private static final ResourceContext NOOP =
+ TestResourceContexts.fromGetResource((a, b) -> null);
private static final ObjectMapper MAPPER = new ObjectMapper();
diff --git
a/integrations/chat-models/openai/src/test/java/org/apache/flink/agents/integrations/chatmodels/openai/OpenAICompletionsSetupTest.java
b/integrations/chat-models/openai/src/test/java/org/apache/flink/agents/integrations/chatmodels/openai/OpenAICompletionsSetupTest.java
index 0eaede03d..c281ddcdd 100644
---
a/integrations/chat-models/openai/src/test/java/org/apache/flink/agents/integrations/chatmodels/openai/OpenAICompletionsSetupTest.java
+++
b/integrations/chat-models/openai/src/test/java/org/apache/flink/agents/integrations/chatmodels/openai/OpenAICompletionsSetupTest.java
@@ -20,6 +20,7 @@ package
org.apache.flink.agents.integrations.chatmodels.openai;
import org.apache.flink.agents.api.resource.ResourceContext;
import org.apache.flink.agents.api.resource.ResourceDescriptor;
+import org.apache.flink.agents.api.resource.TestResourceContexts;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
@@ -31,7 +32,8 @@ import static
org.assertj.core.api.Assertions.assertThatThrownBy;
/** Tests for {@link OpenAICompletionsSetup}. */
class OpenAICompletionsSetupTest {
- private static final ResourceContext NOOP =
ResourceContext.fromGetResource((a, b) -> null);
+ private static final ResourceContext NOOP =
+ TestResourceContexts.fromGetResource((a, b) -> null);
private static ResourceDescriptor.Builder base() {
return
ResourceDescriptor.Builder.newBuilder(OpenAICompletionsSetup.class.getName())
diff --git
a/integrations/chat-models/openai/src/test/java/org/apache/flink/agents/integrations/chatmodels/openai/OpenAIModelAttributionTest.java
b/integrations/chat-models/openai/src/test/java/org/apache/flink/agents/integrations/chatmodels/openai/OpenAIModelAttributionTest.java
index 906b2047f..a98c8d976 100644
---
a/integrations/chat-models/openai/src/test/java/org/apache/flink/agents/integrations/chatmodels/openai/OpenAIModelAttributionTest.java
+++
b/integrations/chat-models/openai/src/test/java/org/apache/flink/agents/integrations/chatmodels/openai/OpenAIModelAttributionTest.java
@@ -23,6 +23,7 @@ import org.apache.flink.agents.api.chat.messages.ChatMessage;
import org.apache.flink.agents.api.chat.messages.ChatResult;
import org.apache.flink.agents.api.resource.ResourceContext;
import org.apache.flink.agents.api.resource.ResourceDescriptor;
+import org.apache.flink.agents.api.resource.TestResourceContexts;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.MethodSource;
@@ -77,7 +78,7 @@ class OpenAIModelAttributionTest {
.addInitialArgument("api_base_url",
endpoint.baseUrl())
.addInitialArgument("model", DEFAULT_MODEL)
.build();
- ResourceContext context = ResourceContext.fromGetResource((a, b)
-> null);
+ ResourceContext context = TestResourceContexts.fromGetResource((a,
b) -> null);
OpenAICompletionsConnection connection =
vllm
? new VLLMChatModelConnection(descriptor, context)
diff --git
a/integrations/chat-models/openai/src/test/java/org/apache/flink/agents/integrations/chatmodels/openai/OpenAIResponsesModelConnectionTest.java
b/integrations/chat-models/openai/src/test/java/org/apache/flink/agents/integrations/chatmodels/openai/OpenAIResponsesModelConnectionTest.java
index 2651d5b5d..bebc66ad1 100644
---
a/integrations/chat-models/openai/src/test/java/org/apache/flink/agents/integrations/chatmodels/openai/OpenAIResponsesModelConnectionTest.java
+++
b/integrations/chat-models/openai/src/test/java/org/apache/flink/agents/integrations/chatmodels/openai/OpenAIResponsesModelConnectionTest.java
@@ -33,6 +33,7 @@ import
org.apache.flink.agents.api.chat.messages.ReasoningBlock;
import org.apache.flink.agents.api.chat.model.BaseChatModelConnection;
import org.apache.flink.agents.api.resource.ResourceContext;
import org.apache.flink.agents.api.resource.ResourceDescriptor;
+import org.apache.flink.agents.api.resource.TestResourceContexts;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
@@ -51,7 +52,8 @@ import static
org.assertj.core.api.Assertions.assertThatThrownBy;
*/
class OpenAIResponsesModelConnectionTest {
- private static final ResourceContext NOOP =
ResourceContext.fromGetResource((a, b) -> null);
+ private static final ResourceContext NOOP =
+ TestResourceContexts.fromGetResource((a, b) -> null);
private static ResourceDescriptor.Builder connectionDescriptor() {
return ResourceDescriptor.Builder.newBuilder(
diff --git
a/integrations/chat-models/openai/src/test/java/org/apache/flink/agents/integrations/chatmodels/openai/OpenAIResponsesModelSetupTest.java
b/integrations/chat-models/openai/src/test/java/org/apache/flink/agents/integrations/chatmodels/openai/OpenAIResponsesModelSetupTest.java
index 0284be27c..ffda6b419 100644
---
a/integrations/chat-models/openai/src/test/java/org/apache/flink/agents/integrations/chatmodels/openai/OpenAIResponsesModelSetupTest.java
+++
b/integrations/chat-models/openai/src/test/java/org/apache/flink/agents/integrations/chatmodels/openai/OpenAIResponsesModelSetupTest.java
@@ -20,6 +20,7 @@ package
org.apache.flink.agents.integrations.chatmodels.openai;
import org.apache.flink.agents.api.resource.ResourceContext;
import org.apache.flink.agents.api.resource.ResourceDescriptor;
+import org.apache.flink.agents.api.resource.TestResourceContexts;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
@@ -31,7 +32,8 @@ import static
org.assertj.core.api.Assertions.assertThatThrownBy;
/** Tests for {@link OpenAIResponsesModelSetup}. */
class OpenAIResponsesModelSetupTest {
- private static final ResourceContext NOOP =
ResourceContext.fromGetResource((a, b) -> null);
+ private static final ResourceContext NOOP =
+ TestResourceContexts.fromGetResource((a, b) -> null);
private static ResourceDescriptor.Builder base() {
return
ResourceDescriptor.Builder.newBuilder(OpenAIResponsesModelSetup.class.getName())
diff --git
a/integrations/chat-models/openai/src/test/java/org/apache/flink/agents/integrations/chatmodels/openai/OpenAIResponsesMultimodalTest.java
b/integrations/chat-models/openai/src/test/java/org/apache/flink/agents/integrations/chatmodels/openai/OpenAIResponsesMultimodalTest.java
index cf8469b1a..4eacaacc2 100644
---
a/integrations/chat-models/openai/src/test/java/org/apache/flink/agents/integrations/chatmodels/openai/OpenAIResponsesMultimodalTest.java
+++
b/integrations/chat-models/openai/src/test/java/org/apache/flink/agents/integrations/chatmodels/openai/OpenAIResponsesMultimodalTest.java
@@ -31,8 +31,8 @@ import
org.apache.flink.agents.api.chat.messages.ToolResultBlock;
import
org.apache.flink.agents.api.chat.messages.UnsupportedContentBlockException;
import org.apache.flink.agents.api.chat.messages.UrlSource;
import org.apache.flink.agents.api.chat.messages.VideoBlock;
-import org.apache.flink.agents.api.resource.ResourceContext;
import org.apache.flink.agents.api.resource.ResourceDescriptor;
+import org.apache.flink.agents.api.resource.TestResourceContexts;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
@@ -170,7 +170,7 @@ class OpenAIResponsesMultimodalTest {
.build();
OpenAIResponsesModelConnection connection =
new OpenAIResponsesModelConnection(
- descriptor, ResourceContext.fromGetResource((a, b) ->
null));
+ descriptor, TestResourceContexts.fromGetResource((a,
b) -> null));
ChatMessage message =
ChatMessage.user(List.of(AudioBlock.fromBase64("audio/wav", BASE64)));
assertThatThrownBy(() -> connection.chat(List.of(message), List.of(),
Map.of()))
diff --git
a/integrations/chat-models/openai/src/test/java/org/apache/flink/agents/integrations/chatmodels/openai/VLLMChatModelConnectionTest.java
b/integrations/chat-models/openai/src/test/java/org/apache/flink/agents/integrations/chatmodels/openai/VLLMChatModelConnectionTest.java
index e8727f325..413ad773c 100644
---
a/integrations/chat-models/openai/src/test/java/org/apache/flink/agents/integrations/chatmodels/openai/VLLMChatModelConnectionTest.java
+++
b/integrations/chat-models/openai/src/test/java/org/apache/flink/agents/integrations/chatmodels/openai/VLLMChatModelConnectionTest.java
@@ -22,6 +22,7 @@ import org.apache.flink.agents.api.chat.messages.ChatMessage;
import org.apache.flink.agents.api.chat.model.NativeStructuredOutputSupport;
import org.apache.flink.agents.api.resource.ResourceContext;
import org.apache.flink.agents.api.resource.ResourceDescriptor;
+import org.apache.flink.agents.api.resource.TestResourceContexts;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
@@ -38,7 +39,8 @@ import static org.assertj.core.api.Assertions.assertThatCode;
*/
class VLLMChatModelConnectionTest {
- private static final ResourceContext NOOP =
ResourceContext.fromGetResource((a, b) -> null);
+ private static final ResourceContext NOOP =
+ TestResourceContexts.fromGetResource((a, b) -> null);
private static ResourceDescriptor.Builder connectionDescriptor() {
return
ResourceDescriptor.Builder.newBuilder(VLLMChatModelConnection.class.getName());
diff --git
a/integrations/chat-models/openai/src/test/java/org/apache/flink/agents/integrations/chatmodels/openai/VLLMChatModelSetupTest.java
b/integrations/chat-models/openai/src/test/java/org/apache/flink/agents/integrations/chatmodels/openai/VLLMChatModelSetupTest.java
index 19c7be5fa..0d7f310c1 100644
---
a/integrations/chat-models/openai/src/test/java/org/apache/flink/agents/integrations/chatmodels/openai/VLLMChatModelSetupTest.java
+++
b/integrations/chat-models/openai/src/test/java/org/apache/flink/agents/integrations/chatmodels/openai/VLLMChatModelSetupTest.java
@@ -19,6 +19,7 @@ package
org.apache.flink.agents.integrations.chatmodels.openai;
import org.apache.flink.agents.api.resource.ResourceContext;
import org.apache.flink.agents.api.resource.ResourceDescriptor;
+import org.apache.flink.agents.api.resource.TestResourceContexts;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
@@ -32,7 +33,8 @@ import static
org.assertj.core.api.Assertions.assertThatThrownBy;
/** Tests for {@link VLLMChatModelSetup}. */
class VLLMChatModelSetupTest {
- private static final ResourceContext NOOP =
ResourceContext.fromGetResource((a, b) -> null);
+ private static final ResourceContext NOOP =
+ TestResourceContexts.fromGetResource((a, b) -> null);
private static ResourceDescriptor.Builder descriptorBuilder() {
return
ResourceDescriptor.Builder.newBuilder(VLLMChatModelSetup.class.getName());
diff --git
a/integrations/chat-models/watsonx/src/test/java/org/apache/flink/agents/integrations/chatmodels/watsonx/WatsonxChatModelConnectionTest.java
b/integrations/chat-models/watsonx/src/test/java/org/apache/flink/agents/integrations/chatmodels/watsonx/WatsonxChatModelConnectionTest.java
index fa8041c7e..6865e010a 100644
---
a/integrations/chat-models/watsonx/src/test/java/org/apache/flink/agents/integrations/chatmodels/watsonx/WatsonxChatModelConnectionTest.java
+++
b/integrations/chat-models/watsonx/src/test/java/org/apache/flink/agents/integrations/chatmodels/watsonx/WatsonxChatModelConnectionTest.java
@@ -37,6 +37,7 @@ import
org.apache.flink.agents.api.chat.model.BaseChatModelConnection;
import org.apache.flink.agents.api.chat.model.NativeStructuredOutputSupport;
import org.apache.flink.agents.api.resource.ResourceContext;
import org.apache.flink.agents.api.resource.ResourceDescriptor;
+import org.apache.flink.agents.api.resource.TestResourceContexts;
import org.apache.flink.agents.api.tools.Tool;
import org.apache.flink.agents.api.tools.ToolMetadata;
import org.apache.flink.agents.api.tools.ToolParameters;
@@ -73,7 +74,8 @@ import static
org.assertj.core.api.Assertions.assertThatThrownBy;
*/
class WatsonxChatModelConnectionTest {
- private static final ResourceContext NOOP =
ResourceContext.fromGetResource((a, b) -> null);
+ private static final ResourceContext NOOP =
+ TestResourceContexts.fromGetResource((a, b) -> null);
private static final Function<String, String> NO_ENVIRONMENT = ignored ->
null;
private static final ObjectMapper MAPPER = new ObjectMapper();
private static final String CHAT_RESPONSE =
diff --git
a/integrations/chat-models/watsonx/src/test/java/org/apache/flink/agents/integrations/chatmodels/watsonx/WatsonxChatModelLiveTest.java
b/integrations/chat-models/watsonx/src/test/java/org/apache/flink/agents/integrations/chatmodels/watsonx/WatsonxChatModelLiveTest.java
index 536efb7be..754bc650a 100644
---
a/integrations/chat-models/watsonx/src/test/java/org/apache/flink/agents/integrations/chatmodels/watsonx/WatsonxChatModelLiveTest.java
+++
b/integrations/chat-models/watsonx/src/test/java/org/apache/flink/agents/integrations/chatmodels/watsonx/WatsonxChatModelLiveTest.java
@@ -23,6 +23,7 @@ import org.apache.flink.agents.api.chat.messages.ChatResult;
import org.apache.flink.agents.api.chat.messages.MessageRole;
import org.apache.flink.agents.api.resource.ResourceContext;
import org.apache.flink.agents.api.resource.ResourceDescriptor;
+import org.apache.flink.agents.api.resource.TestResourceContexts;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.condition.EnabledIf;
@@ -42,7 +43,8 @@ import static org.assertj.core.api.Assertions.assertThat;
@EnabledIf("credentialsAvailable")
class WatsonxChatModelLiveTest {
- private static final ResourceContext NOOP =
ResourceContext.fromGetResource((a, b) -> null);
+ private static final ResourceContext NOOP =
+ TestResourceContexts.fromGetResource((a, b) -> null);
/** Flat output schema for the live structured-output call. */
public static class Answer {
diff --git
a/integrations/chat-models/watsonx/src/test/java/org/apache/flink/agents/integrations/chatmodels/watsonx/WatsonxChatModelSetupTest.java
b/integrations/chat-models/watsonx/src/test/java/org/apache/flink/agents/integrations/chatmodels/watsonx/WatsonxChatModelSetupTest.java
index be0cdffef..9f6534581 100644
---
a/integrations/chat-models/watsonx/src/test/java/org/apache/flink/agents/integrations/chatmodels/watsonx/WatsonxChatModelSetupTest.java
+++
b/integrations/chat-models/watsonx/src/test/java/org/apache/flink/agents/integrations/chatmodels/watsonx/WatsonxChatModelSetupTest.java
@@ -19,6 +19,7 @@ package
org.apache.flink.agents.integrations.chatmodels.watsonx;
import org.apache.flink.agents.api.resource.ResourceContext;
import org.apache.flink.agents.api.resource.ResourceDescriptor;
+import org.apache.flink.agents.api.resource.TestResourceContexts;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
@@ -32,7 +33,8 @@ import static
org.assertj.core.api.Assertions.assertThatThrownBy;
/** Unit tests for {@link WatsonxChatModelSetup}. */
class WatsonxChatModelSetupTest {
- private static final ResourceContext NOOP =
ResourceContext.fromGetResource((a, b) -> null);
+ private static final ResourceContext NOOP =
+ TestResourceContexts.fromGetResource((a, b) -> null);
@Test
@DisplayName("Default model applies when the model argument is omitted")
diff --git
a/integrations/embedding-models/bedrock/src/test/java/org/apache/flink/agents/integrations/embeddingmodels/bedrock/BedrockEmbeddingModelTest.java
b/integrations/embedding-models/bedrock/src/test/java/org/apache/flink/agents/integrations/embeddingmodels/bedrock/BedrockEmbeddingModelTest.java
index 99c8e9b81..e3a3835d2 100644
---
a/integrations/embedding-models/bedrock/src/test/java/org/apache/flink/agents/integrations/embeddingmodels/bedrock/BedrockEmbeddingModelTest.java
+++
b/integrations/embedding-models/bedrock/src/test/java/org/apache/flink/agents/integrations/embeddingmodels/bedrock/BedrockEmbeddingModelTest.java
@@ -24,6 +24,7 @@ import
org.apache.flink.agents.api.embedding.model.BaseEmbeddingModelSetup;
import org.apache.flink.agents.api.embedding.model.EmbeddingResult;
import org.apache.flink.agents.api.resource.ResourceContext;
import org.apache.flink.agents.api.resource.ResourceDescriptor;
+import org.apache.flink.agents.api.resource.TestResourceContexts;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import software.amazon.awssdk.core.SdkBytes;
@@ -47,7 +48,8 @@ import static org.mockito.Mockito.when;
/** Tests for {@link BedrockEmbeddingModelConnection} and {@link
BedrockEmbeddingModelSetup}. */
class BedrockEmbeddingModelTest {
- private static final ResourceContext NOOP =
ResourceContext.fromGetResource((a, b) -> null);
+ private static final ResourceContext NOOP =
+ TestResourceContexts.fromGetResource((a, b) -> null);
private static ResourceDescriptor connDescriptor(String region) {
ResourceDescriptor.Builder b =
diff --git
a/integrations/embedding-models/ollama/src/test/java/org/apache/flink/agents/integrations/embeddingmodels/ollama/OllamaEmbeddingModelConnectionTest.java
b/integrations/embedding-models/ollama/src/test/java/org/apache/flink/agents/integrations/embeddingmodels/ollama/OllamaEmbeddingModelConnectionTest.java
index 167ffecb0..c7aabe7de 100644
---
a/integrations/embedding-models/ollama/src/test/java/org/apache/flink/agents/integrations/embeddingmodels/ollama/OllamaEmbeddingModelConnectionTest.java
+++
b/integrations/embedding-models/ollama/src/test/java/org/apache/flink/agents/integrations/embeddingmodels/ollama/OllamaEmbeddingModelConnectionTest.java
@@ -22,6 +22,7 @@ import
org.apache.flink.agents.api.annotation.EmbeddingModelConnection;
import org.apache.flink.agents.api.embedding.model.BaseEmbeddingModelSetup;
import org.apache.flink.agents.api.resource.ResourceContext;
import org.apache.flink.agents.api.resource.ResourceDescriptor;
+import org.apache.flink.agents.api.resource.TestResourceContexts;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
@@ -39,7 +40,8 @@ class OllamaEmbeddingModelConnectionTest {
.build();
}
- private static ResourceContext dummyResource =
ResourceContext.fromGetResource((a, b) -> null);
+ private static ResourceContext dummyResource =
+ TestResourceContexts.fromGetResource((a, b) -> null);
@Test
@DisplayName("Create OllamaEmbeddingModelConnection and check embed
method")
diff --git
a/integrations/embedding-models/openai/src/test/java/org/apache/flink/agents/integrations/embeddingmodels/openai/OpenAIEmbeddingModelTest.java
b/integrations/embedding-models/openai/src/test/java/org/apache/flink/agents/integrations/embeddingmodels/openai/OpenAIEmbeddingModelTest.java
index 892e721f0..9d249d9a6 100644
---
a/integrations/embedding-models/openai/src/test/java/org/apache/flink/agents/integrations/embeddingmodels/openai/OpenAIEmbeddingModelTest.java
+++
b/integrations/embedding-models/openai/src/test/java/org/apache/flink/agents/integrations/embeddingmodels/openai/OpenAIEmbeddingModelTest.java
@@ -31,6 +31,7 @@ import
org.apache.flink.agents.api.embedding.model.BaseEmbeddingModelSetup;
import org.apache.flink.agents.api.embedding.model.EmbeddingResult;
import org.apache.flink.agents.api.resource.ResourceContext;
import org.apache.flink.agents.api.resource.ResourceDescriptor;
+import org.apache.flink.agents.api.resource.TestResourceContexts;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.mockito.ArgumentCaptor;
@@ -52,7 +53,8 @@ import static org.mockito.Mockito.when;
class OpenAIEmbeddingModelTest {
- private static final ResourceContext NOOP =
ResourceContext.fromGetResource((a, b) -> null);
+ private static final ResourceContext NOOP =
+ TestResourceContexts.fromGetResource((a, b) -> null);
private static ResourceDescriptor connDescriptor() {
return
ResourceDescriptor.Builder.newBuilder(OpenAIEmbeddingModelConnection.class.getName())
diff --git
a/integrations/mcp/src/test/java/org/apache/flink/agents/integrations/mcp/MCPServerTest.java
b/integrations/mcp/src/test/java/org/apache/flink/agents/integrations/mcp/MCPServerTest.java
index 847fd2248..5397f707e 100644
---
a/integrations/mcp/src/test/java/org/apache/flink/agents/integrations/mcp/MCPServerTest.java
+++
b/integrations/mcp/src/test/java/org/apache/flink/agents/integrations/mcp/MCPServerTest.java
@@ -20,10 +20,10 @@ package org.apache.flink.agents.integrations.mcp;
import com.fasterxml.jackson.databind.ObjectMapper;
import io.modelcontextprotocol.spec.McpSchema;
-import org.apache.flink.agents.api.resource.ResourceContext;
import org.apache.flink.agents.api.resource.ResourceDescriptor;
import org.apache.flink.agents.api.resource.ResourceName;
import org.apache.flink.agents.api.resource.ResourceType;
+import org.apache.flink.agents.api.resource.TestResourceContexts;
import org.apache.flink.agents.integrations.mcp.auth.ApiKeyAuth;
import org.apache.flink.agents.integrations.mcp.auth.BasicAuth;
import org.apache.flink.agents.integrations.mcp.auth.BearerTokenAuth;
@@ -88,7 +88,7 @@ class MCPServerTest {
MCPServer server =
new MCPServer(
descriptor,
- ResourceContext.fromGetResource(
+ TestResourceContexts.fromGetResource(
(name, type) -> {
throw new UnsupportedOperationException(
"No dependencies expected");
diff --git a/integrations/pom.xml b/integrations/pom.xml
index 77ec1d066..269fe185b 100644
--- a/integrations/pom.xml
+++ b/integrations/pom.xml
@@ -42,6 +42,17 @@ under the License.
<opentelemetry.version>1.51.0</opentelemetry.version>
</properties>
+ <dependencies>
+ <!-- Shared fixtures from the API module are available only to
integration tests. -->
+ <dependency>
+ <groupId>org.apache.flink</groupId>
+ <artifactId>flink-agents-api</artifactId>
+ <version>${project.version}</version>
+ <type>test-jar</type>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
<modules>
<module>chat-models</module>
<module>embedding-models</module>
diff --git
a/integrations/vector-stores/elasticsearch/src/test/java/org/apache/flink/agents/integrations/vectorstores/elasticsearch/ElasticsearchVectorStoreKNumCandidatesTest.java
b/integrations/vector-stores/elasticsearch/src/test/java/org/apache/flink/agents/integrations/vectorstores/elasticsearch/ElasticsearchVectorStoreKNumCandidatesTest.java
index fb2c3f908..55ee2f771 100644
---
a/integrations/vector-stores/elasticsearch/src/test/java/org/apache/flink/agents/integrations/vectorstores/elasticsearch/ElasticsearchVectorStoreKNumCandidatesTest.java
+++
b/integrations/vector-stores/elasticsearch/src/test/java/org/apache/flink/agents/integrations/vectorstores/elasticsearch/ElasticsearchVectorStoreKNumCandidatesTest.java
@@ -18,8 +18,8 @@
package org.apache.flink.agents.integrations.vectorstores.elasticsearch;
-import org.apache.flink.agents.api.resource.ResourceContext;
import org.apache.flink.agents.api.resource.ResourceDescriptor;
+import org.apache.flink.agents.api.resource.TestResourceContexts;
import org.junit.jupiter.api.Test;
import static org.assertj.core.api.Assertions.assertThat;
@@ -45,7 +45,7 @@ class ElasticsearchVectorStoreKNumCandidatesTest {
.addInitialArgument("num_candidates", numCandidates)
.build();
return new ElasticsearchVectorStore(
- descriptor, ResourceContext.fromGetResource((name, type) ->
null));
+ descriptor, TestResourceContexts.fromGetResource((name, type)
-> null));
}
@Test
diff --git
a/integrations/vector-stores/elasticsearch/src/test/java/org/apache/flink/agents/integrations/vectorstores/elasticsearch/ElasticsearchVectorStoreTest.java
b/integrations/vector-stores/elasticsearch/src/test/java/org/apache/flink/agents/integrations/vectorstores/elasticsearch/ElasticsearchVectorStoreTest.java
index 21bb0f916..79d63d47f 100644
---
a/integrations/vector-stores/elasticsearch/src/test/java/org/apache/flink/agents/integrations/vectorstores/elasticsearch/ElasticsearchVectorStoreTest.java
+++
b/integrations/vector-stores/elasticsearch/src/test/java/org/apache/flink/agents/integrations/vectorstores/elasticsearch/ElasticsearchVectorStoreTest.java
@@ -20,9 +20,9 @@ package
org.apache.flink.agents.integrations.vectorstores.elasticsearch;
import org.apache.flink.agents.api.embedding.model.BaseEmbeddingModelSetup;
import org.apache.flink.agents.api.resource.Resource;
-import org.apache.flink.agents.api.resource.ResourceContext;
import org.apache.flink.agents.api.resource.ResourceDescriptor;
import org.apache.flink.agents.api.resource.ResourceType;
+import org.apache.flink.agents.api.resource.TestResourceContexts;
import org.apache.flink.agents.api.vectorstores.BaseVectorStore;
import
org.apache.flink.agents.api.vectorstores.CollectionManageableVectorStore;
import org.apache.flink.agents.api.vectorstores.Document;
@@ -77,7 +77,8 @@ public class ElasticsearchVectorStoreTest {
store =
new ElasticsearchVectorStore(
builder.build(),
-
ResourceContext.fromGetResource(ElasticsearchVectorStoreTest::getResource));
+ TestResourceContexts.fromGetResource(
+ ElasticsearchVectorStoreTest::getResource));
store.open();
}
@@ -330,7 +331,8 @@ public class ElasticsearchVectorStoreTest {
BaseVectorStore kStore =
new ElasticsearchVectorStore(
descriptor,
-
ResourceContext.fromGetResource(ElasticsearchVectorStoreTest::getResource));
+ TestResourceContexts.fromGetResource(
+ ElasticsearchVectorStoreTest::getResource));
kStore.open();
return kStore;
}
diff --git
a/integrations/vector-stores/milvus/src/test/java/org/apache/flink/agents/integrations/vectorstores/milvus/MilvusVectorStoreTest.java
b/integrations/vector-stores/milvus/src/test/java/org/apache/flink/agents/integrations/vectorstores/milvus/MilvusVectorStoreTest.java
index bfd44ceb7..555c3e26f 100644
---
a/integrations/vector-stores/milvus/src/test/java/org/apache/flink/agents/integrations/vectorstores/milvus/MilvusVectorStoreTest.java
+++
b/integrations/vector-stores/milvus/src/test/java/org/apache/flink/agents/integrations/vectorstores/milvus/MilvusVectorStoreTest.java
@@ -33,6 +33,7 @@ import org.apache.flink.agents.api.resource.Resource;
import org.apache.flink.agents.api.resource.ResourceContext;
import org.apache.flink.agents.api.resource.ResourceDescriptor;
import org.apache.flink.agents.api.resource.ResourceType;
+import org.apache.flink.agents.api.resource.TestResourceContexts;
import org.apache.flink.agents.api.vectorstores.BaseVectorStore;
import
org.apache.flink.agents.api.vectorstores.CollectionManageableVectorStore;
import org.apache.flink.agents.api.vectorstores.Document;
@@ -52,7 +53,8 @@ import static org.assertj.core.api.Assertions.assertThat;
/** Tests for {@link MilvusVectorStore}. */
public class MilvusVectorStoreTest {
- private static final ResourceContext NOOP =
ResourceContext.fromGetResource((a, b) -> null);
+ private static final ResourceContext NOOP =
+ TestResourceContexts.fromGetResource((a, b) -> null);
@Test
void testConstructorAndStoreKwargs() {
@@ -141,7 +143,8 @@ public class MilvusVectorStoreTest {
.build();
MilvusVectorStore store =
new MilvusVectorStore(
- desc,
ResourceContext.fromGetResource(MilvusVectorStoreTest::getResource));
+ desc,
+
TestResourceContexts.fromGetResource(MilvusVectorStoreTest::getResource));
store.open();
MilvusClientV2 client =
new MilvusClientV2(
@@ -571,7 +574,7 @@ public class MilvusVectorStoreTest {
MilvusVectorStore store =
new MilvusVectorStore(
descriptor(collection),
-
ResourceContext.fromGetResource(MilvusVectorStoreTest::getResource));
+
TestResourceContexts.fromGetResource(MilvusVectorStoreTest::getResource));
store.open();
return store;
}
diff --git
a/integrations/vector-stores/opensearch/src/test/java/org/apache/flink/agents/integrations/vectorstores/opensearch/OpenSearchVectorStoreTest.java
b/integrations/vector-stores/opensearch/src/test/java/org/apache/flink/agents/integrations/vectorstores/opensearch/OpenSearchVectorStoreTest.java
index 43ee586ad..9e89c878f 100644
---
a/integrations/vector-stores/opensearch/src/test/java/org/apache/flink/agents/integrations/vectorstores/opensearch/OpenSearchVectorStoreTest.java
+++
b/integrations/vector-stores/opensearch/src/test/java/org/apache/flink/agents/integrations/vectorstores/opensearch/OpenSearchVectorStoreTest.java
@@ -23,6 +23,7 @@ import org.apache.flink.agents.api.resource.Resource;
import org.apache.flink.agents.api.resource.ResourceContext;
import org.apache.flink.agents.api.resource.ResourceDescriptor;
import org.apache.flink.agents.api.resource.ResourceType;
+import org.apache.flink.agents.api.resource.TestResourceContexts;
import org.apache.flink.agents.api.vectorstores.BaseVectorStore;
import
org.apache.flink.agents.api.vectorstores.CollectionManageableVectorStore;
import org.apache.flink.agents.api.vectorstores.Document;
@@ -49,7 +50,8 @@ import static org.assertj.core.api.Assertions.assertThat;
*/
public class OpenSearchVectorStoreTest {
- private static final ResourceContext NOOP =
ResourceContext.fromGetResource((a, b) -> null);
+ private static final ResourceContext NOOP =
+ TestResourceContexts.fromGetResource((a, b) -> null);
@Test
@DisplayName("Constructor creates store with IAM auth")
@@ -167,7 +169,8 @@ public class OpenSearchVectorStoreTest {
store =
new OpenSearchVectorStore(
builder.build(),
-
ResourceContext.fromGetResource(OpenSearchVectorStoreTest::getResource));
+ TestResourceContexts.fromGetResource(
+ OpenSearchVectorStoreTest::getResource));
}
@Test
diff --git
a/integrations/vector-stores/pgvector/src/test/java/org/apache/flink/agents/integrations/vectorstores/pgvector/PgVectorVectorStoreTest.java
b/integrations/vector-stores/pgvector/src/test/java/org/apache/flink/agents/integrations/vectorstores/pgvector/PgVectorVectorStoreTest.java
index fba180f51..77326bb34 100644
---
a/integrations/vector-stores/pgvector/src/test/java/org/apache/flink/agents/integrations/vectorstores/pgvector/PgVectorVectorStoreTest.java
+++
b/integrations/vector-stores/pgvector/src/test/java/org/apache/flink/agents/integrations/vectorstores/pgvector/PgVectorVectorStoreTest.java
@@ -22,6 +22,7 @@ import org.apache.flink.agents.api.resource.Resource;
import org.apache.flink.agents.api.resource.ResourceContext;
import org.apache.flink.agents.api.resource.ResourceDescriptor;
import org.apache.flink.agents.api.resource.ResourceType;
+import org.apache.flink.agents.api.resource.TestResourceContexts;
import org.apache.flink.agents.api.vectorstores.BaseVectorStore;
import
org.apache.flink.agents.api.vectorstores.CollectionManageableVectorStore;
import org.apache.flink.agents.api.vectorstores.Document;
@@ -55,7 +56,8 @@ import static org.assertj.core.api.Assertions.within;
*/
public class PgVectorVectorStoreTest {
- private static final ResourceContext NOOP =
ResourceContext.fromGetResource((a, b) -> null);
+ private static final ResourceContext NOOP =
+ TestResourceContexts.fromGetResource((a, b) -> null);
private static final String LIVE = "PGVECTOR_URI";
@Test
@@ -1151,14 +1153,14 @@ public class PgVectorVectorStoreTest {
private static PgVectorVectorStore openForcedIndexStore(String collection)
throws Exception {
return new PgVectorVectorStore(
descriptor(collection, forcedIndexUri()),
-
ResourceContext.fromGetResource(PgVectorVectorStoreTest::getResource));
+
TestResourceContexts.fromGetResource(PgVectorVectorStoreTest::getResource));
}
private static PgVectorVectorStore openStore(String collection) throws
Exception {
PgVectorVectorStore store =
new PgVectorVectorStore(
descriptor(collection),
-
ResourceContext.fromGetResource(PgVectorVectorStoreTest::getResource));
+
TestResourceContexts.fromGetResource(PgVectorVectorStoreTest::getResource));
store.open();
return store;
}
diff --git
a/integrations/vector-stores/s3vectors/src/test/java/org/apache/flink/agents/integrations/vectorstores/s3vectors/S3VectorsVectorStoreTest.java
b/integrations/vector-stores/s3vectors/src/test/java/org/apache/flink/agents/integrations/vectorstores/s3vectors/S3VectorsVectorStoreTest.java
index 311cb3bec..82a475abc 100644
---
a/integrations/vector-stores/s3vectors/src/test/java/org/apache/flink/agents/integrations/vectorstores/s3vectors/S3VectorsVectorStoreTest.java
+++
b/integrations/vector-stores/s3vectors/src/test/java/org/apache/flink/agents/integrations/vectorstores/s3vectors/S3VectorsVectorStoreTest.java
@@ -23,6 +23,7 @@ import org.apache.flink.agents.api.resource.Resource;
import org.apache.flink.agents.api.resource.ResourceContext;
import org.apache.flink.agents.api.resource.ResourceDescriptor;
import org.apache.flink.agents.api.resource.ResourceType;
+import org.apache.flink.agents.api.resource.TestResourceContexts;
import org.apache.flink.agents.api.vectorstores.BaseVectorStore;
import org.apache.flink.agents.api.vectorstores.Document;
import org.junit.jupiter.api.Assertions;
@@ -46,7 +47,8 @@ import static org.assertj.core.api.Assertions.assertThat;
*/
public class S3VectorsVectorStoreTest {
- private static final ResourceContext NOOP =
ResourceContext.fromGetResource((a, b) -> null);
+ private static final ResourceContext NOOP =
+ TestResourceContexts.fromGetResource((a, b) -> null);
@Test
@DisplayName("Constructor creates store")
@@ -117,7 +119,8 @@ public class S3VectorsVectorStoreTest {
store =
new S3VectorsVectorStore(
desc,
-
ResourceContext.fromGetResource(S3VectorsVectorStoreTest::getResource));
+ TestResourceContexts.fromGetResource(
+ S3VectorsVectorStoreTest::getResource));
}
@Test
diff --git
a/plan/src/test/java/org/apache/flink/agents/plan/AgentPlanDeclareChatModelTest.java
b/plan/src/test/java/org/apache/flink/agents/plan/AgentPlanDeclareChatModelTest.java
index aa3dae9bd..83463908b 100644
---
a/plan/src/test/java/org/apache/flink/agents/plan/AgentPlanDeclareChatModelTest.java
+++
b/plan/src/test/java/org/apache/flink/agents/plan/AgentPlanDeclareChatModelTest.java
@@ -36,6 +36,7 @@ import org.apache.flink.agents.api.resource.Resource;
import org.apache.flink.agents.api.resource.ResourceContext;
import org.apache.flink.agents.api.resource.ResourceDescriptor;
import org.apache.flink.agents.api.resource.ResourceType;
+import org.apache.flink.agents.api.resource.TestResourceContexts;
import org.apache.flink.agents.plan.resourceprovider.ResourceProvider;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
@@ -107,7 +108,7 @@ class AgentPlanDeclareChatModelTest {
.get(type)
.get(name)
.provide(
- ResourceContext.fromGetResource(
+ TestResourceContexts.fromGetResource(
(n, t) -> {
throw new UnsupportedOperationException(
"No dependencies expected");
@@ -151,7 +152,7 @@ class AgentPlanDeclareChatModelTest {
.get(ResourceType.CHAT_MODEL)
.get("testChatModel")
.provide(
- ResourceContext.fromGetResource(
+ TestResourceContexts.fromGetResource(
(n, t) -> {
throw new
UnsupportedOperationException(
"No dependencies
expected");
@@ -182,7 +183,7 @@ class AgentPlanDeclareChatModelTest {
.get(ResourceType.CHAT_MODEL)
.get("testChatModel")
.provide(
- ResourceContext.fromGetResource(
+ TestResourceContexts.fromGetResource(
(n, t) -> {
throw new
UnsupportedOperationException(
"No dependencies
expected");
diff --git
a/plan/src/test/java/org/apache/flink/agents/plan/AgentPlanDeclareDecisionModelTest.java
b/plan/src/test/java/org/apache/flink/agents/plan/AgentPlanDeclareDecisionModelTest.java
index ecc18328a..7ddc5044e 100644
---
a/plan/src/test/java/org/apache/flink/agents/plan/AgentPlanDeclareDecisionModelTest.java
+++
b/plan/src/test/java/org/apache/flink/agents/plan/AgentPlanDeclareDecisionModelTest.java
@@ -31,6 +31,7 @@ import
org.apache.flink.agents.api.decision.DecisionResult.PredicateAnswer;
import org.apache.flink.agents.api.resource.ResourceContext;
import org.apache.flink.agents.api.resource.ResourceDescriptor;
import org.apache.flink.agents.api.resource.ResourceType;
+import org.apache.flink.agents.api.resource.TestResourceContexts;
import org.apache.flink.agents.plan.resourceprovider.JavaResourceProvider;
import org.apache.flink.agents.plan.resourceprovider.ResourceProvider;
import org.junit.jupiter.params.ParameterizedTest;
@@ -105,7 +106,7 @@ public class AgentPlanDeclareDecisionModelTest {
.get("connection")
.provide(null);
ResourceContext context =
- ResourceContext.fromGetResource(
+ TestResourceContexts.fromGetResource(
(name, type) -> {
assertThat(name).isEqualTo("connection");
assertThat(type).isEqualTo(ResourceType.DECISION_MODEL_CONNECTION);
diff --git
a/plan/src/test/java/org/apache/flink/agents/plan/AgentPlanDeclareMCPServerTest.java
b/plan/src/test/java/org/apache/flink/agents/plan/AgentPlanDeclareMCPServerTest.java
index 501bfd4d6..4f47952e8 100644
---
a/plan/src/test/java/org/apache/flink/agents/plan/AgentPlanDeclareMCPServerTest.java
+++
b/plan/src/test/java/org/apache/flink/agents/plan/AgentPlanDeclareMCPServerTest.java
@@ -26,10 +26,10 @@ import org.apache.flink.agents.api.annotation.Action;
import org.apache.flink.agents.api.context.RunnerContext;
import org.apache.flink.agents.api.prompt.Prompt;
import org.apache.flink.agents.api.resource.Resource;
-import org.apache.flink.agents.api.resource.ResourceContext;
import org.apache.flink.agents.api.resource.ResourceDescriptor;
import org.apache.flink.agents.api.resource.ResourceName;
import org.apache.flink.agents.api.resource.ResourceType;
+import org.apache.flink.agents.api.resource.TestResourceContexts;
import org.apache.flink.agents.api.tools.Tool;
import org.apache.flink.agents.api.tools.ToolMetadata;
import org.apache.flink.agents.integrations.mcp.MCPPrompt;
@@ -193,7 +193,7 @@ class AgentPlanDeclareMCPServerTest {
.get(type)
.get(name)
.provide(
- ResourceContext.fromGetResource(
+ TestResourceContexts.fromGetResource(
(n, t) -> {
throw new UnsupportedOperationException(
"No dependencies expected");
diff --git
a/plan/src/test/java/org/apache/flink/agents/plan/AgentPlanDeclareSkillsTest.java
b/plan/src/test/java/org/apache/flink/agents/plan/AgentPlanDeclareSkillsTest.java
index 8f25968e0..9bda9b099 100644
---
a/plan/src/test/java/org/apache/flink/agents/plan/AgentPlanDeclareSkillsTest.java
+++
b/plan/src/test/java/org/apache/flink/agents/plan/AgentPlanDeclareSkillsTest.java
@@ -20,6 +20,7 @@ package org.apache.flink.agents.plan;
import org.apache.flink.agents.api.agents.Agent;
import org.apache.flink.agents.api.resource.ResourceType;
+import org.apache.flink.agents.api.resource.TestResourceContexts;
import org.apache.flink.agents.api.skills.SkillSourceSpec;
import org.apache.flink.agents.api.skills.Skills;
import org.apache.flink.agents.plan.resourceprovider.JavaResourceProvider;
@@ -326,8 +327,6 @@ class AgentPlanDeclareSkillsTest {
plan.getResourceProviders().get(ResourceType.SKILLS).get(Skills.SKILLS_CONFIG);
return (Skills)
((JavaSerializableResourceProvider) configProvider)
- .provide(
-
org.apache.flink.agents.api.resource.ResourceContext
- .fromGetResource((n, t) -> null));
+ .provide(TestResourceContexts.fromGetResource((n, t)
-> null));
}
}
diff --git
a/plan/src/test/java/org/apache/flink/agents/plan/AgentPlanDeclareToolFieldTest.java
b/plan/src/test/java/org/apache/flink/agents/plan/AgentPlanDeclareToolFieldTest.java
index 081bb178c..48b472762 100644
---
a/plan/src/test/java/org/apache/flink/agents/plan/AgentPlanDeclareToolFieldTest.java
+++
b/plan/src/test/java/org/apache/flink/agents/plan/AgentPlanDeclareToolFieldTest.java
@@ -27,8 +27,8 @@ import org.apache.flink.agents.api.annotation.Action;
import org.apache.flink.agents.api.annotation.ToolParam;
import org.apache.flink.agents.api.context.RunnerContext;
import org.apache.flink.agents.api.resource.Resource;
-import org.apache.flink.agents.api.resource.ResourceContext;
import org.apache.flink.agents.api.resource.ResourceType;
+import org.apache.flink.agents.api.resource.TestResourceContexts;
import org.apache.flink.agents.api.tools.Tool;
import org.apache.flink.agents.api.tools.ToolMetadata;
import org.apache.flink.agents.api.tools.ToolParameters;
@@ -126,7 +126,7 @@ class AgentPlanDeclareToolFieldTest {
.get(type)
.get(name)
.provide(
- ResourceContext.fromGetResource(
+ TestResourceContexts.fromGetResource(
(n, t) -> {
throw new UnsupportedOperationException(
"No dependencies expected");
diff --git
a/plan/src/test/java/org/apache/flink/agents/plan/AgentPlanDeclareToolMethodTest.java
b/plan/src/test/java/org/apache/flink/agents/plan/AgentPlanDeclareToolMethodTest.java
index 4d68c8d3f..3d648c478 100644
---
a/plan/src/test/java/org/apache/flink/agents/plan/AgentPlanDeclareToolMethodTest.java
+++
b/plan/src/test/java/org/apache/flink/agents/plan/AgentPlanDeclareToolMethodTest.java
@@ -29,8 +29,8 @@ import org.apache.flink.agents.api.annotation.Action;
import org.apache.flink.agents.api.annotation.ToolParam;
import org.apache.flink.agents.api.context.RunnerContext;
import org.apache.flink.agents.api.resource.Resource;
-import org.apache.flink.agents.api.resource.ResourceContext;
import org.apache.flink.agents.api.resource.ResourceType;
+import org.apache.flink.agents.api.resource.TestResourceContexts;
import org.apache.flink.agents.api.tools.Tool;
import org.apache.flink.agents.api.tools.ToolMetadata;
import org.apache.flink.agents.api.tools.ToolParameterInjection;
@@ -123,7 +123,7 @@ class AgentPlanDeclareToolMethodTest {
.get(type)
.get(name)
.provide(
- ResourceContext.fromGetResource(
+ TestResourceContexts.fromGetResource(
(n, t) -> {
throw new UnsupportedOperationException(
"No dependencies expected");
@@ -148,7 +148,7 @@ class AgentPlanDeclareToolMethodTest {
.get(ResourceType.TOOL)
.get("calculate")
.provide(
- ResourceContext.fromGetResource(
+ TestResourceContexts.fromGetResource(
(n, t) -> {
throw new
UnsupportedOperationException(
"No dependencies
expected");
@@ -170,7 +170,7 @@ class AgentPlanDeclareToolMethodTest {
.get(ResourceType.TOOL)
.get("getWeather")
.provide(
- ResourceContext.fromGetResource(
+ TestResourceContexts.fromGetResource(
(n, t) -> {
throw new
UnsupportedOperationException(
"No dependencies
expected");
@@ -252,7 +252,7 @@ class AgentPlanDeclareToolMethodTest {
.get(ResourceType.TOOL)
.get("getWeather")
.provide(
- ResourceContext.fromGetResource(
+ TestResourceContexts.fromGetResource(
(n, t) -> {
throw new
UnsupportedOperationException(
"No dependencies
expected");
@@ -283,7 +283,7 @@ class AgentPlanDeclareToolMethodTest {
.get(ResourceType.TOOL)
.get("queryOrder")
.provide(
- ResourceContext.fromGetResource(
+ TestResourceContexts.fromGetResource(
(n, t) -> {
throw new
UnsupportedOperationException(
"No dependencies
expected");
@@ -318,7 +318,7 @@ class AgentPlanDeclareToolMethodTest {
.get(ResourceType.TOOL)
.get("queryOrder")
.provide(
- ResourceContext.fromGetResource(
+ TestResourceContexts.fromGetResource(
(n, t) -> {
throw new
UnsupportedOperationException(
"No dependencies
expected");
@@ -378,7 +378,7 @@ class AgentPlanDeclareToolMethodTest {
.get(ResourceType.TOOL)
.get("getWeather")
.provide(
- ResourceContext.fromGetResource(
+ TestResourceContexts.fromGetResource(
(n, t) -> {
throw new
UnsupportedOperationException(
"No dependencies
expected");
@@ -473,7 +473,7 @@ class AgentPlanDeclareToolMethodTest {
.get(ResourceType.TOOL)
.get("calculate")
.provide(
- ResourceContext.fromGetResource(
+ TestResourceContexts.fromGetResource(
(n, t) -> {
throw new
UnsupportedOperationException(
"No dependencies
expected");
diff --git
a/plan/src/test/java/org/apache/flink/agents/plan/FunctionToolPlanTest.java
b/plan/src/test/java/org/apache/flink/agents/plan/FunctionToolPlanTest.java
index 67d4ca0dd..efeb8ef91 100644
--- a/plan/src/test/java/org/apache/flink/agents/plan/FunctionToolPlanTest.java
+++ b/plan/src/test/java/org/apache/flink/agents/plan/FunctionToolPlanTest.java
@@ -26,8 +26,8 @@ import com.fasterxml.jackson.databind.node.ObjectNode;
import org.apache.flink.agents.api.agents.Agent;
import org.apache.flink.agents.api.annotation.Tool;
import org.apache.flink.agents.api.annotation.ToolParam;
-import org.apache.flink.agents.api.resource.ResourceContext;
import org.apache.flink.agents.api.resource.ResourceType;
+import org.apache.flink.agents.api.resource.TestResourceContexts;
import org.apache.flink.agents.api.tools.ToolMetadata;
import org.apache.flink.agents.api.tools.ToolParameterInjection;
import org.apache.flink.agents.api.tools.ToolParameters;
@@ -105,7 +105,7 @@ class FunctionToolPlanTest {
.get(ResourceType.TOOL)
.get("javaTool")
.provide(
- ResourceContext.fromGetResource(
+ TestResourceContexts.fromGetResource(
(n, t) -> {
throw new
UnsupportedOperationException(
"No dependencies
expected");
@@ -127,7 +127,7 @@ class FunctionToolPlanTest {
.get(ResourceType.TOOL)
.get("pyTool")
.provide(
- ResourceContext.fromGetResource(
+ TestResourceContexts.fromGetResource(
(n, t) -> {
throw new
UnsupportedOperationException(
"No dependencies
expected");
diff --git
a/plan/src/test/java/org/apache/flink/agents/plan/actions/DecisionModelActionTest.java
b/plan/src/test/java/org/apache/flink/agents/plan/actions/DecisionModelActionTest.java
index 8da69b784..c5595d4f4 100644
---
a/plan/src/test/java/org/apache/flink/agents/plan/actions/DecisionModelActionTest.java
+++
b/plan/src/test/java/org/apache/flink/agents/plan/actions/DecisionModelActionTest.java
@@ -30,9 +30,9 @@ import org.apache.flink.agents.api.decision.DecisionResult;
import org.apache.flink.agents.api.event.DecisionRequestEvent;
import org.apache.flink.agents.api.event.DecisionResponseEvent;
import org.apache.flink.agents.api.metrics.FlinkAgentsMetricGroup;
-import org.apache.flink.agents.api.resource.ResourceContext;
import org.apache.flink.agents.api.resource.ResourceDescriptor;
import org.apache.flink.agents.api.resource.ResourceType;
+import org.apache.flink.agents.api.resource.TestResourceContexts;
import org.apache.flink.agents.api.trace.ExecutionReporter;
import
org.apache.flink.agents.plan.resource.python.PythonDecisionModelConnection;
import org.apache.flink.agents.plan.resource.python.PythonDecisionModelSetup;
@@ -475,7 +475,7 @@ class DecisionModelActionTest {
model =
new BaseDecisionModelSetup(
descriptor,
- ResourceContext.fromGetResource((name, type) ->
connection));
+ TestResourceContexts.fromGetResource((name, type)
-> connection));
} else {
model = new PythonDecisionModelSetup(adapter, pythonResource,
descriptor, null);
}
diff --git
a/plan/src/test/java/org/apache/flink/agents/plan/serializer/AgentPlanJsonDeserializerTest.java
b/plan/src/test/java/org/apache/flink/agents/plan/serializer/AgentPlanJsonDeserializerTest.java
index 867d1bb05..7864adb20 100644
---
a/plan/src/test/java/org/apache/flink/agents/plan/serializer/AgentPlanJsonDeserializerTest.java
+++
b/plan/src/test/java/org/apache/flink/agents/plan/serializer/AgentPlanJsonDeserializerTest.java
@@ -25,8 +25,8 @@ import com.fasterxml.jackson.databind.node.ArrayNode;
import org.apache.flink.agents.api.Event;
import org.apache.flink.agents.api.InputEvent;
import org.apache.flink.agents.api.context.RunnerContext;
-import org.apache.flink.agents.api.resource.ResourceContext;
import org.apache.flink.agents.api.resource.ResourceType;
+import org.apache.flink.agents.api.resource.TestResourceContexts;
import org.apache.flink.agents.api.tools.ToolMetadata;
import org.apache.flink.agents.api.tools.ToolParameterInjection;
import org.apache.flink.agents.plan.AgentPlan;
@@ -195,7 +195,8 @@ public class AgentPlanJsonDeserializerTest {
ResourceProvider provider =
agentPlan.getResourceProviders().get(ResourceType.TOOL).get("query_order");
FunctionTool deserializedTool =
- (FunctionTool)
provider.provide(ResourceContext.fromGetResource((n, t) -> null));
+ (FunctionTool)
+
provider.provide(TestResourceContexts.fromGetResource((n, t) -> null));
assertEquals(
Map.of("tenant_id",
ToolParameterInjection.fromSensoryMemory("request.tenant_id")),
deserializedTool.getInjectedArgs());
diff --git
a/plan/src/test/java/org/apache/flink/agents/plan/tools/bash/BashToolTest.java
b/plan/src/test/java/org/apache/flink/agents/plan/tools/bash/BashToolTest.java
index 6a0ca08c1..c2f03a7da 100644
---
a/plan/src/test/java/org/apache/flink/agents/plan/tools/bash/BashToolTest.java
+++
b/plan/src/test/java/org/apache/flink/agents/plan/tools/bash/BashToolTest.java
@@ -18,8 +18,8 @@
package org.apache.flink.agents.plan.tools.bash;
-import org.apache.flink.agents.api.resource.ResourceContext;
import org.apache.flink.agents.api.resource.ResourceDescriptor;
+import org.apache.flink.agents.api.resource.TestResourceContexts;
import org.apache.flink.agents.api.tools.ToolParameters;
import org.apache.flink.agents.api.tools.ToolResponse;
import org.junit.jupiter.api.Test;
@@ -41,7 +41,7 @@ class BashToolTest {
private static BashTool tool() {
return new BashTool(
new ResourceDescriptor(BashTool.class.getName(), Map.of()),
- ResourceContext.fromGetResource((n, t) -> null));
+ TestResourceContexts.fromGetResource((n, t) -> null));
}
private static ToolParameters args(