From de14f5c91f4d3022181f8effaf5272ba5da2b8d6 Mon Sep 17 00:00:00 2001 From: xuhuafei <2508020102@qq.com> Date: Wed, 8 Apr 2026 19:47:35 +0800 Subject: [PATCH 1/8] fix issue #1154 --- .../core/a2a/server/AgentScopeA2aServer.java | 1 + .../transport/DeploymentProperties.java | 13 ++++- .../transport/DeploymentPropertiesTest.java | 58 +++++++++++++++++-- .../a2a/AgentscopeA2aAutoConfiguration.java | 5 ++ .../spring/boot/a2a/properties/Constants.java | 2 + .../AgentscopeA2aAutoConfigurationTest.java | 46 +++++++++++++++ 6 files changed, 116 insertions(+), 9 deletions(-) diff --git a/agentscope-extensions/agentscope-extensions-a2a/agentscope-extensions-a2a-server/src/main/java/io/agentscope/core/a2a/server/AgentScopeA2aServer.java b/agentscope-extensions/agentscope-extensions-a2a/agentscope-extensions-a2a-server/src/main/java/io/agentscope/core/a2a/server/AgentScopeA2aServer.java index 4ecf1f471..b0a9e89ea 100644 --- a/agentscope-extensions/agentscope-extensions-a2a/agentscope-extensions-a2a-server/src/main/java/io/agentscope/core/a2a/server/AgentScopeA2aServer.java +++ b/agentscope-extensions/agentscope-extensions-a2a/agentscope-extensions-a2a-server/src/main/java/io/agentscope/core/a2a/server/AgentScopeA2aServer.java @@ -395,6 +395,7 @@ public AgentScopeA2aServer build() { TransportProperties.builder(TransportProtocol.JSONRPC.asString()) .host(deploymentProperties.host()) .port(deploymentProperties.port()) + .path(deploymentProperties.path()) .build()); } Map allBuilders = loadTransportBuilders(); diff --git a/agentscope-extensions/agentscope-extensions-a2a/agentscope-extensions-a2a-server/src/main/java/io/agentscope/core/a2a/server/transport/DeploymentProperties.java b/agentscope-extensions/agentscope-extensions-a2a/agentscope-extensions-a2a-server/src/main/java/io/agentscope/core/a2a/server/transport/DeploymentProperties.java index 6251af125..ee8da195d 100644 --- a/agentscope-extensions/agentscope-extensions-a2a/agentscope-extensions-a2a-server/src/main/java/io/agentscope/core/a2a/server/transport/DeploymentProperties.java +++ b/agentscope-extensions/agentscope-extensions-a2a/agentscope-extensions-a2a-server/src/main/java/io/agentscope/core/a2a/server/transport/DeploymentProperties.java @@ -22,12 +22,12 @@ import org.slf4j.LoggerFactory; /** - * Some deployment relative properties, such as server default export port and host. + * Some deployment relative properties, such as server default export port and host and path. * *

When developers don't specified target {@link TransportProperties}, and want to use default transport, developers * should create this class and input port at least to make sure AgentScope can generate the url for default transport. */ -public record DeploymentProperties(String host, int port) { +public record DeploymentProperties(String host, int port, String path) { private static final Logger log = LoggerFactory.getLogger(DeploymentProperties.class); @@ -37,6 +37,8 @@ public static class Builder { private Integer port; + private String path; + public Builder host(String host) { this.host = host; return this; @@ -47,6 +49,11 @@ public Builder port(Integer port) { return this; } + public Builder path(String path) { + this.path = path; + return this; + } + public DeploymentProperties build() { if (null == host) { log.info( @@ -61,7 +68,7 @@ public DeploymentProperties build() { if (null == port) { throw new IllegalArgumentException("port must be configured."); } - return new DeploymentProperties(host, port); + return new DeploymentProperties(host, port, path); } } } diff --git a/agentscope-extensions/agentscope-extensions-a2a/agentscope-extensions-a2a-server/src/test/java/io/agentscope/core/a2a/server/transport/DeploymentPropertiesTest.java b/agentscope-extensions/agentscope-extensions-a2a/agentscope-extensions-a2a-server/src/test/java/io/agentscope/core/a2a/server/transport/DeploymentPropertiesTest.java index a5e86dbce..87af380d4 100644 --- a/agentscope-extensions/agentscope-extensions-a2a/agentscope-extensions-a2a-server/src/test/java/io/agentscope/core/a2a/server/transport/DeploymentPropertiesTest.java +++ b/agentscope-extensions/agentscope-extensions-a2a/agentscope-extensions-a2a-server/src/test/java/io/agentscope/core/a2a/server/transport/DeploymentPropertiesTest.java @@ -71,13 +71,33 @@ class DeploymentPropertiesBuildingTests { void testBuildWithAllProperties() { String host = "localhost"; Integer port = 8080; + String path = "/api"; DeploymentProperties deploymentProperties = - new DeploymentProperties.Builder().host(host).port(port).build(); + new DeploymentProperties.Builder() + .host(host) + .port(port) + .path(path) + .build(); assertNotNull(deploymentProperties); assertEquals(host, deploymentProperties.host()); assertEquals(port, deploymentProperties.port()); + assertEquals(path, deploymentProperties.path()); + } + + @Test + @DisplayName("Should build DeploymentProperties with path only") + void testBuildWithPathOnly() { + Integer port = 8080; + String path = "/api/v1"; + + DeploymentProperties deploymentProperties = + new DeploymentProperties.Builder().port(port).path(path).build(); + + assertNotNull(deploymentProperties); + assertEquals(port, deploymentProperties.port()); + assertEquals(path, deploymentProperties.path()); } @Test @@ -126,9 +146,10 @@ void testThrowExceptionWhenPortNotSpecified() { void testBuilderMethodChaining() { String host = "localhost"; Integer port = 8080; + String path = "/api"; DeploymentProperties.Builder builder = new DeploymentProperties.Builder(); - DeploymentProperties.Builder result = builder.host(host).port(port); + DeploymentProperties.Builder result = builder.host(host).port(port).path(path); assertNotNull(result); assertSame(builder, result); @@ -138,6 +159,7 @@ void testBuilderMethodChaining() { assertNotNull(deploymentProperties); assertEquals(host, deploymentProperties.host()); assertEquals(port, deploymentProperties.port()); + assertEquals(path, deploymentProperties.path()); } } @@ -150,12 +172,30 @@ class RecordFunctionalityTests { void testRecordConstructor() { String host = "localhost"; Integer port = 8080; + String path = "/api"; + + DeploymentProperties deploymentProperties = + new DeploymentProperties(host, port, path); + + assertNotNull(deploymentProperties); + assertEquals(host, deploymentProperties.host()); + assertEquals(port, deploymentProperties.port()); + assertEquals(path, deploymentProperties.path()); + } + + @Test + @DisplayName("Should create record with null path") + void testRecordConstructorWithNullPath() { + String host = "localhost"; + Integer port = 8080; - DeploymentProperties deploymentProperties = new DeploymentProperties(host, port); + DeploymentProperties deploymentProperties = + new DeploymentProperties(host, port, null); assertNotNull(deploymentProperties); assertEquals(host, deploymentProperties.host()); assertEquals(port, deploymentProperties.port()); + assertNull(deploymentProperties.path()); } @Test @@ -163,9 +203,12 @@ void testRecordConstructor() { void testEqualsAndHashCode() { String host = "localhost"; int port = 8080; + String path = "/api"; - DeploymentProperties deploymentProperties1 = new DeploymentProperties(host, port); - DeploymentProperties deploymentProperties2 = new DeploymentProperties(host, port); + DeploymentProperties deploymentProperties1 = + new DeploymentProperties(host, port, path); + DeploymentProperties deploymentProperties2 = + new DeploymentProperties(host, port, path); assertEquals(deploymentProperties1, deploymentProperties2); assertEquals(deploymentProperties1.hashCode(), deploymentProperties2.hashCode()); @@ -176,13 +219,16 @@ void testEqualsAndHashCode() { void testToString() { String host = "localhost"; int port = 8080; + String path = "/api"; - DeploymentProperties deploymentProperties = new DeploymentProperties(host, port); + DeploymentProperties deploymentProperties = + new DeploymentProperties(host, port, path); String toStringResult = deploymentProperties.toString(); assertNotNull(toStringResult); assertTrue(toStringResult.contains(host)); assertTrue(toStringResult.contains(Integer.toString(port))); + assertTrue(toStringResult.contains(path)); } } } diff --git a/agentscope-extensions/agentscope-spring-boot-starters/agentscope-a2a-spring-boot-starter/src/main/java/io/agentscope/spring/boot/a2a/AgentscopeA2aAutoConfiguration.java b/agentscope-extensions/agentscope-spring-boot-starters/agentscope-a2a-spring-boot-starter/src/main/java/io/agentscope/spring/boot/a2a/AgentscopeA2aAutoConfiguration.java index 81ca92cb8..cccba4310 100644 --- a/agentscope-extensions/agentscope-spring-boot-starters/agentscope-a2a-spring-boot-starter/src/main/java/io/agentscope/spring/boot/a2a/AgentscopeA2aAutoConfiguration.java +++ b/agentscope-extensions/agentscope-spring-boot-starters/agentscope-a2a-spring-boot-starter/src/main/java/io/agentscope/spring/boot/a2a/AgentscopeA2aAutoConfiguration.java @@ -143,10 +143,15 @@ private DeploymentProperties buildDeploymentProperties(Environment environment) environment.getProperty(Constants.DEFAULT_SERVER_EXPORT_PORT, Integer.class, 8080); String defaultServerExportAddress = environment.getProperty(Constants.DEFAULT_SERVER_EXPORT_ADDRESS); + String defaultServerExportContextPath = + environment.getProperty(Constants.DEFAULT_SERVER_EXPORT_CONTEXT_PATH); result.port(defaultServerExportPort); if (null != defaultServerExportAddress) { result.host(defaultServerExportAddress); } + if (null != defaultServerExportContextPath) { + result.path(defaultServerExportContextPath); + } return result.build(); } diff --git a/agentscope-extensions/agentscope-spring-boot-starters/agentscope-a2a-spring-boot-starter/src/main/java/io/agentscope/spring/boot/a2a/properties/Constants.java b/agentscope-extensions/agentscope-spring-boot-starters/agentscope-a2a-spring-boot-starter/src/main/java/io/agentscope/spring/boot/a2a/properties/Constants.java index fe7c179cc..23b180bbc 100644 --- a/agentscope-extensions/agentscope-spring-boot-starters/agentscope-a2a-spring-boot-starter/src/main/java/io/agentscope/spring/boot/a2a/properties/Constants.java +++ b/agentscope-extensions/agentscope-spring-boot-starters/agentscope-a2a-spring-boot-starter/src/main/java/io/agentscope/spring/boot/a2a/properties/Constants.java @@ -32,4 +32,6 @@ public class Constants { public static final String DEFAULT_SERVER_EXPORT_PORT = "server.port"; public static final String DEFAULT_SERVER_EXPORT_ADDRESS = "server.address"; + + public static final String DEFAULT_SERVER_EXPORT_CONTEXT_PATH = "server.servlet.context-path"; } diff --git a/agentscope-extensions/agentscope-spring-boot-starters/agentscope-a2a-spring-boot-starter/src/test/java/io/agentscope/spring/boot/a2a/AgentscopeA2aAutoConfigurationTest.java b/agentscope-extensions/agentscope-spring-boot-starters/agentscope-a2a-spring-boot-starter/src/test/java/io/agentscope/spring/boot/a2a/AgentscopeA2aAutoConfigurationTest.java index adec114bb..06e38bfdb 100644 --- a/agentscope-extensions/agentscope-spring-boot-starters/agentscope-a2a-spring-boot-starter/src/test/java/io/agentscope/spring/boot/a2a/AgentscopeA2aAutoConfigurationTest.java +++ b/agentscope-extensions/agentscope-spring-boot-starters/agentscope-a2a-spring-boot-starter/src/test/java/io/agentscope/spring/boot/a2a/AgentscopeA2aAutoConfigurationTest.java @@ -170,6 +170,52 @@ void shouldStartSuccessWithAddressProperties() { }); } + @Test + void shouldIncludeContextPathInAgentCardUrl() { + WebApplicationContextRunner contextRunner = + new WebApplicationContextRunner() + .withConfiguration( + AutoConfigurations.of(AgentscopeA2aAutoConfiguration.class)) + .withBean( + ReActAgent.class, + () -> ReActAgent.builder().name("mockAgent").build()) + .withPropertyValues( + "server.address=192.168.1.100", + "server.port=8081", + "server.servlet.context-path=/api"); + contextRunner.run( + context -> { + assertThat(context).hasNotFailed(); + AgentScopeA2aServer server = context.getBean(AgentScopeA2aServer.class); + AgentCard agentCard = server.getAgentCard(); + Assertions.assertEquals("http://192.168.1.100:8081/api", agentCard.url()); + // Verify additional interfaces also contain the context-path + assertThat(agentCard.additionalInterfaces()).isNotEmpty(); + assertThat(agentCard.additionalInterfaces().get(0).url()) + .isEqualTo("http://192.168.1.100:8081/api"); + }); + } + + @Test + void shouldGenerateCorrectUrlWithContextPath() { + WebApplicationContextRunner contextRunner = + new WebApplicationContextRunner() + .withConfiguration( + AutoConfigurations.of(AgentscopeA2aAutoConfiguration.class)) + .withBean( + ReActAgent.class, + () -> ReActAgent.builder().name("mockAgent").build()) + .withPropertyValues("server.servlet.context-path=/myapp/v1"); + contextRunner.run( + context -> { + assertThat(context).hasNotFailed(); + AgentScopeA2aServer server = context.getBean(AgentScopeA2aServer.class); + AgentCard agentCard = server.getAgentCard(); + // URL should contain the context-path + assertThat(agentCard.url()).contains("/myapp/v1"); + }); + } + @Test void shouldCallbackServerReadyListener() { AgentScopeA2aServer mockServer = mock(AgentScopeA2aServer.class); From e2f53680e26dc874c5db46c8ff3d46c0f2bfe897 Mon Sep 17 00:00:00 2001 From: xuhuafei <2508020102@qq.com> Date: Wed, 8 Apr 2026 20:04:12 +0800 Subject: [PATCH 2/8] optimize code style --- .../transport/DeploymentPropertiesTest.java | 21 ++++++------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/agentscope-extensions/agentscope-extensions-a2a/agentscope-extensions-a2a-server/src/test/java/io/agentscope/core/a2a/server/transport/DeploymentPropertiesTest.java b/agentscope-extensions/agentscope-extensions-a2a/agentscope-extensions-a2a-server/src/test/java/io/agentscope/core/a2a/server/transport/DeploymentPropertiesTest.java index 87af380d4..a60ca1714 100644 --- a/agentscope-extensions/agentscope-extensions-a2a/agentscope-extensions-a2a-server/src/test/java/io/agentscope/core/a2a/server/transport/DeploymentPropertiesTest.java +++ b/agentscope-extensions/agentscope-extensions-a2a/agentscope-extensions-a2a-server/src/test/java/io/agentscope/core/a2a/server/transport/DeploymentPropertiesTest.java @@ -74,11 +74,7 @@ void testBuildWithAllProperties() { String path = "/api"; DeploymentProperties deploymentProperties = - new DeploymentProperties.Builder() - .host(host) - .port(port) - .path(path) - .build(); + new DeploymentProperties.Builder().host(host).port(port).path(path).build(); assertNotNull(deploymentProperties); assertEquals(host, deploymentProperties.host()); @@ -174,8 +170,7 @@ void testRecordConstructor() { Integer port = 8080; String path = "/api"; - DeploymentProperties deploymentProperties = - new DeploymentProperties(host, port, path); + DeploymentProperties deploymentProperties = new DeploymentProperties(host, port, path); assertNotNull(deploymentProperties); assertEquals(host, deploymentProperties.host()); @@ -189,8 +184,7 @@ void testRecordConstructorWithNullPath() { String host = "localhost"; Integer port = 8080; - DeploymentProperties deploymentProperties = - new DeploymentProperties(host, port, null); + DeploymentProperties deploymentProperties = new DeploymentProperties(host, port, null); assertNotNull(deploymentProperties); assertEquals(host, deploymentProperties.host()); @@ -205,10 +199,8 @@ void testEqualsAndHashCode() { int port = 8080; String path = "/api"; - DeploymentProperties deploymentProperties1 = - new DeploymentProperties(host, port, path); - DeploymentProperties deploymentProperties2 = - new DeploymentProperties(host, port, path); + DeploymentProperties deploymentProperties1 = new DeploymentProperties(host, port, path); + DeploymentProperties deploymentProperties2 = new DeploymentProperties(host, port, path); assertEquals(deploymentProperties1, deploymentProperties2); assertEquals(deploymentProperties1.hashCode(), deploymentProperties2.hashCode()); @@ -221,8 +213,7 @@ void testToString() { int port = 8080; String path = "/api"; - DeploymentProperties deploymentProperties = - new DeploymentProperties(host, port, path); + DeploymentProperties deploymentProperties = new DeploymentProperties(host, port, path); String toStringResult = deploymentProperties.toString(); assertNotNull(toStringResult); From 19fcc18ca90a73f057334098ae43fdccd5205db5 Mon Sep 17 00:00:00 2001 From: xuhuafei <2508020102@qq.com> Date: Wed, 8 Apr 2026 21:09:58 +0800 Subject: [PATCH 3/8] =?UTF-8?q?debug,=20=E6=9C=AC=E5=9C=B0=E7=8E=AF?= =?UTF-8?q?=E5=A2=83=E6=B5=8B=E8=AF=95=E9=80=9A=E8=BF=87,=20Workflow?= =?UTF-8?q?=E5=8D=B4=E5=A4=B1=E8=B4=A5,=20=E9=80=9A=E8=BF=87log=E6=89=93?= =?UTF-8?q?=E5=8D=B0=E6=98=AF=E5=90=A6=E8=8E=B7=E5=8F=96=E5=88=B0=E5=AF=B9?= =?UTF-8?q?=E5=BA=94=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../spring/boot/a2a/AgentscopeA2aAutoConfiguration.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/agentscope-extensions/agentscope-spring-boot-starters/agentscope-a2a-spring-boot-starter/src/main/java/io/agentscope/spring/boot/a2a/AgentscopeA2aAutoConfiguration.java b/agentscope-extensions/agentscope-spring-boot-starters/agentscope-a2a-spring-boot-starter/src/main/java/io/agentscope/spring/boot/a2a/AgentscopeA2aAutoConfiguration.java index cccba4310..e1de576dc 100644 --- a/agentscope-extensions/agentscope-spring-boot-starters/agentscope-a2a-spring-boot-starter/src/main/java/io/agentscope/spring/boot/a2a/AgentscopeA2aAutoConfiguration.java +++ b/agentscope-extensions/agentscope-spring-boot-starters/agentscope-a2a-spring-boot-starter/src/main/java/io/agentscope/spring/boot/a2a/AgentscopeA2aAutoConfiguration.java @@ -33,6 +33,9 @@ import io.agentscope.spring.boot.a2a.properties.Constants; import io.agentscope.spring.boot.a2a.runner.ReActAgentWithStarterRunner; import java.util.List; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.ObjectProvider; import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -61,6 +64,8 @@ matchIfMissing = true) public class AgentscopeA2aAutoConfiguration { + private static final Logger log = LoggerFactory.getLogger(AgentscopeA2aAutoConfiguration.class); + @Bean @ConditionalOnMissingBean @ConditionalOnBean(ReActAgent.class) @@ -145,6 +150,7 @@ private DeploymentProperties buildDeploymentProperties(Environment environment) environment.getProperty(Constants.DEFAULT_SERVER_EXPORT_ADDRESS); String defaultServerExportContextPath = environment.getProperty(Constants.DEFAULT_SERVER_EXPORT_CONTEXT_PATH); + log.info("defaultServerExportContextPath, {}", defaultServerExportContextPath); result.port(defaultServerExportPort); if (null != defaultServerExportAddress) { result.host(defaultServerExportAddress); From e830e058eb48a01b2dd018d40804f3f6ab146322 Mon Sep 17 00:00:00 2001 From: xuhuafei <2508020102@qq.com> Date: Wed, 8 Apr 2026 21:19:00 +0800 Subject: [PATCH 4/8] spotless apply --- .../spring/boot/a2a/AgentscopeA2aAutoConfiguration.java | 1 - 1 file changed, 1 deletion(-) diff --git a/agentscope-extensions/agentscope-spring-boot-starters/agentscope-a2a-spring-boot-starter/src/main/java/io/agentscope/spring/boot/a2a/AgentscopeA2aAutoConfiguration.java b/agentscope-extensions/agentscope-spring-boot-starters/agentscope-a2a-spring-boot-starter/src/main/java/io/agentscope/spring/boot/a2a/AgentscopeA2aAutoConfiguration.java index e1de576dc..3c2968e06 100644 --- a/agentscope-extensions/agentscope-spring-boot-starters/agentscope-a2a-spring-boot-starter/src/main/java/io/agentscope/spring/boot/a2a/AgentscopeA2aAutoConfiguration.java +++ b/agentscope-extensions/agentscope-spring-boot-starters/agentscope-a2a-spring-boot-starter/src/main/java/io/agentscope/spring/boot/a2a/AgentscopeA2aAutoConfiguration.java @@ -33,7 +33,6 @@ import io.agentscope.spring.boot.a2a.properties.Constants; import io.agentscope.spring.boot.a2a.runner.ReActAgentWithStarterRunner; import java.util.List; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.ObjectProvider; From 3d71d6780c11a6355987612f074b8b1a3a74eaad Mon Sep 17 00:00:00 2001 From: xuhuafei <2508020102@qq.com> Date: Wed, 8 Apr 2026 21:37:18 +0800 Subject: [PATCH 5/8] spotless apply --- .../boot/a2a/AgentscopeA2aAutoConfigurationTest.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/agentscope-extensions/agentscope-spring-boot-starters/agentscope-a2a-spring-boot-starter/src/test/java/io/agentscope/spring/boot/a2a/AgentscopeA2aAutoConfigurationTest.java b/agentscope-extensions/agentscope-spring-boot-starters/agentscope-a2a-spring-boot-starter/src/test/java/io/agentscope/spring/boot/a2a/AgentscopeA2aAutoConfigurationTest.java index 06e38bfdb..d2d2c9de9 100644 --- a/agentscope-extensions/agentscope-spring-boot-starters/agentscope-a2a-spring-boot-starter/src/test/java/io/agentscope/spring/boot/a2a/AgentscopeA2aAutoConfigurationTest.java +++ b/agentscope-extensions/agentscope-spring-boot-starters/agentscope-a2a-spring-boot-starter/src/test/java/io/agentscope/spring/boot/a2a/AgentscopeA2aAutoConfigurationTest.java @@ -32,6 +32,8 @@ import java.time.Duration; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.context.event.ApplicationReadyEvent; @@ -46,6 +48,8 @@ */ class AgentscopeA2aAutoConfigurationTest { + private static final Logger log = + LoggerFactory.getLogger(AgentscopeA2aAutoConfigurationTest.class); private final WebApplicationContextRunner contextRunner = new WebApplicationContextRunner() .withConfiguration(AutoConfigurations.of(AgentscopeA2aAutoConfiguration.class)) @@ -183,11 +187,13 @@ void shouldIncludeContextPathInAgentCardUrl() { "server.address=192.168.1.100", "server.port=8081", "server.servlet.context-path=/api"); + log.info("192.168.1.100/api"); contextRunner.run( context -> { assertThat(context).hasNotFailed(); AgentScopeA2aServer server = context.getBean(AgentScopeA2aServer.class); AgentCard agentCard = server.getAgentCard(); + log.info("agentCard {}", agentCard.url()); Assertions.assertEquals("http://192.168.1.100:8081/api", agentCard.url()); // Verify additional interfaces also contain the context-path assertThat(agentCard.additionalInterfaces()).isNotEmpty(); @@ -206,11 +212,13 @@ void shouldGenerateCorrectUrlWithContextPath() { ReActAgent.class, () -> ReActAgent.builder().name("mockAgent").build()) .withPropertyValues("server.servlet.context-path=/myapp/v1"); + log.info("server.servlet.context-path=/myapp/v1"); contextRunner.run( context -> { assertThat(context).hasNotFailed(); AgentScopeA2aServer server = context.getBean(AgentScopeA2aServer.class); AgentCard agentCard = server.getAgentCard(); + log.info(agentCard.url()); // URL should contain the context-path assertThat(agentCard.url()).contains("/myapp/v1"); }); From 9964303521502e82447ec41559e8416974cf355f Mon Sep 17 00:00:00 2001 From: xuhuafei <2508020102@qq.com> Date: Wed, 8 Apr 2026 22:11:43 +0800 Subject: [PATCH 6/8] debug --- .../core/a2a/server/AgentScopeA2aServer.java | 12 +++++ .../card/AgentScopeAgentCardConverter.java | 52 +++++++++++++------ .../a2a/AgentscopeA2aAutoConfiguration.java | 25 +++++++-- .../AgentscopeA2aAutoConfigurationTest.java | 3 ++ 4 files changed, 72 insertions(+), 20 deletions(-) diff --git a/agentscope-extensions/agentscope-extensions-a2a/agentscope-extensions-a2a-server/src/main/java/io/agentscope/core/a2a/server/AgentScopeA2aServer.java b/agentscope-extensions/agentscope-extensions-a2a/agentscope-extensions-a2a-server/src/main/java/io/agentscope/core/a2a/server/AgentScopeA2aServer.java index b0a9e89ea..17c4e1b98 100644 --- a/agentscope-extensions/agentscope-extensions-a2a/agentscope-extensions-a2a-server/src/main/java/io/agentscope/core/a2a/server/AgentScopeA2aServer.java +++ b/agentscope-extensions/agentscope-extensions-a2a/agentscope-extensions-a2a-server/src/main/java/io/agentscope/core/a2a/server/AgentScopeA2aServer.java @@ -383,6 +383,11 @@ public AgentScopeA2aServer build() { if (null == agentCard) { agentCard = new ConfigurableAgentCard.Builder().build(); } + log.info( + "Builder before default transport: supportedTransports.size={}," + + " deploymentProperties={}", + supportedTransports.size(), + deploymentProperties); if (supportedTransports.isEmpty()) { log.warn("Not found input supportedTransports, use default transport: `JSONRPC`"); if (null == deploymentProperties) { @@ -398,14 +403,21 @@ public AgentScopeA2aServer build() { .path(deploymentProperties.path()) .build()); } + log.info("Builder supportedTransports={}", supportedTransports); Map allBuilders = loadTransportBuilders(); Set availableTransports = getAvailableTransports(allBuilders); + log.info("Builder availableTransports={}", availableTransports); if (availableTransports.isEmpty()) { throw new IllegalArgumentException("No one available transport found."); } AgentCard a2aAgentCard = new AgentScopeAgentCardConverter() .createAgentCard(agentCard, agentRunner, availableTransports); + log.info( + "Built agent card: preferredTransport={}, url={}, additionalInterfaces={}", + a2aAgentCard.preferredTransport(), + a2aAgentCard.url(), + a2aAgentCard.additionalInterfaces()); Map transportWrappers = buildTransportWrappers( requestHandler, availableTransports, allBuilders, a2aAgentCard); diff --git a/agentscope-extensions/agentscope-extensions-a2a/agentscope-extensions-a2a-server/src/main/java/io/agentscope/core/a2a/server/card/AgentScopeAgentCardConverter.java b/agentscope-extensions/agentscope-extensions-a2a/agentscope-extensions-a2a-server/src/main/java/io/agentscope/core/a2a/server/card/AgentScopeAgentCardConverter.java index dd518938d..035b0910d 100644 --- a/agentscope-extensions/agentscope-extensions-a2a/agentscope-extensions-a2a-server/src/main/java/io/agentscope/core/a2a/server/card/AgentScopeAgentCardConverter.java +++ b/agentscope-extensions/agentscope-extensions-a2a/agentscope-extensions-a2a-server/src/main/java/io/agentscope/core/a2a/server/card/AgentScopeAgentCardConverter.java @@ -70,33 +70,51 @@ public AgentCard createAgentCard( ConfigurableAgentCard agentCard, AgentRunner agentRunner, Set availableTransports) { + log.info( + "createAgentCard input: configurable.url={}, configurable.preferredTransport={}," + + " configurable.additionalInterfaces={}", + agentCard.getUrl(), + agentCard.getPreferredTransport(), + agentCard.getAdditionalInterfaces()); + log.info("createAgentCard input: availableTransports={}", availableTransports); AgentCapabilities capabilities = createDefaultCapabilities(); List additionalInterfaces = createAdditionalInterfaces(agentCard, availableTransports); AgentInterface preferredTransportInterface = getPreferredTransport(agentCard, additionalInterfaces); + log.info("createAgentCard intermediate: additionalInterfaces={}", additionalInterfaces); + log.info( + "createAgentCard intermediate: preferredTransportInterface={}", + preferredTransportInterface); AgentCard.Builder agentCardBuilder = new AgentCard.Builder(); if (null != preferredTransportInterface) { agentCardBuilder.preferredTransport(preferredTransportInterface.transport()); agentCardBuilder.url(preferredTransportInterface.url()); } - return agentCardBuilder - .name(getName(agentCard, agentRunner)) - .description(getDescription(agentCard, agentRunner)) - .provider(agentCard.getProvider()) - .version(getVersion(agentCard)) - .documentationUrl(agentCard.getDocumentationUrl()) - .capabilities(capabilities) - .defaultInputModes(getModes(agentCard.getDefaultInputModes())) - .defaultOutputModes(getModes(agentCard.getDefaultOutputModes())) - .skills(null != agentCard.getSkills() ? agentCard.getSkills() : List.of()) - .supportsAuthenticatedExtendedCard(false) - .securitySchemes(agentCard.getSecuritySchemes()) - .security(agentCard.getSecurity()) - .iconUrl(agentCard.getIconUrl()) - .additionalInterfaces(additionalInterfaces) - .protocolVersion("0.3.0") - .build(); + AgentCard result = + agentCardBuilder + .name(getName(agentCard, agentRunner)) + .description(getDescription(agentCard, agentRunner)) + .provider(agentCard.getProvider()) + .version(getVersion(agentCard)) + .documentationUrl(agentCard.getDocumentationUrl()) + .capabilities(capabilities) + .defaultInputModes(getModes(agentCard.getDefaultInputModes())) + .defaultOutputModes(getModes(agentCard.getDefaultOutputModes())) + .skills(null != agentCard.getSkills() ? agentCard.getSkills() : List.of()) + .supportsAuthenticatedExtendedCard(false) + .securitySchemes(agentCard.getSecuritySchemes()) + .security(agentCard.getSecurity()) + .iconUrl(agentCard.getIconUrl()) + .additionalInterfaces(additionalInterfaces) + .protocolVersion("0.3.0") + .build(); + log.info( + "createAgentCard output: preferredTransport={}, url={}, additionalInterfaces={}", + result.preferredTransport(), + result.url(), + result.additionalInterfaces()); + return result; } private AgentCapabilities createDefaultCapabilities() { diff --git a/agentscope-extensions/agentscope-spring-boot-starters/agentscope-a2a-spring-boot-starter/src/main/java/io/agentscope/spring/boot/a2a/AgentscopeA2aAutoConfiguration.java b/agentscope-extensions/agentscope-spring-boot-starters/agentscope-a2a-spring-boot-starter/src/main/java/io/agentscope/spring/boot/a2a/AgentscopeA2aAutoConfiguration.java index 3c2968e06..c92917263 100644 --- a/agentscope-extensions/agentscope-spring-boot-starters/agentscope-a2a-spring-boot-starter/src/main/java/io/agentscope/spring/boot/a2a/AgentscopeA2aAutoConfiguration.java +++ b/agentscope-extensions/agentscope-spring-boot-starters/agentscope-a2a-spring-boot-starter/src/main/java/io/agentscope/spring/boot/a2a/AgentscopeA2aAutoConfiguration.java @@ -88,8 +88,22 @@ public AgentScopeA2aServer agentScopeA2aServer( Environment environment, List agentRegistries) { AgentScopeA2aServer.Builder builder = AgentScopeA2aServer.builder(agentRunner); - builder.agentCard(buildConfigurableAgentCard(agentCardProperties)); - builder.deploymentProperties(buildDeploymentProperties(environment)); + ConfigurableAgentCard configurableAgentCard = + buildConfigurableAgentCard(agentCardProperties); + DeploymentProperties deploymentProperties = buildDeploymentProperties(environment); + log.info( + "A2A auto config input: card.url={}, card.preferredTransport={}," + + " card.additionalInterfaces={}", + configurableAgentCard.getUrl(), + configurableAgentCard.getPreferredTransport(), + configurableAgentCard.getAdditionalInterfaces()); + log.info( + "A2A auto config input: deployment.host={}, deployment.port={}, deployment.path={}", + deploymentProperties.host(), + deploymentProperties.port(), + deploymentProperties.path()); + builder.agentCard(configurableAgentCard); + builder.deploymentProperties(deploymentProperties); builder.agentExecuteProperties(buildAgentExecuteProperties(commonProperties)); agentRegistries.forEach(builder::withAgentRegistry); return builder.build(); @@ -149,7 +163,12 @@ private DeploymentProperties buildDeploymentProperties(Environment environment) environment.getProperty(Constants.DEFAULT_SERVER_EXPORT_ADDRESS); String defaultServerExportContextPath = environment.getProperty(Constants.DEFAULT_SERVER_EXPORT_CONTEXT_PATH); - log.info("defaultServerExportContextPath, {}", defaultServerExportContextPath); + log.info( + "defaultServerExportAddress={}, defaultServerExportPort={}," + + " defaultServerExportContextPath={}", + defaultServerExportAddress, + defaultServerExportPort, + defaultServerExportContextPath); result.port(defaultServerExportPort); if (null != defaultServerExportAddress) { result.host(defaultServerExportAddress); diff --git a/agentscope-extensions/agentscope-spring-boot-starters/agentscope-a2a-spring-boot-starter/src/test/java/io/agentscope/spring/boot/a2a/AgentscopeA2aAutoConfigurationTest.java b/agentscope-extensions/agentscope-spring-boot-starters/agentscope-a2a-spring-boot-starter/src/test/java/io/agentscope/spring/boot/a2a/AgentscopeA2aAutoConfigurationTest.java index d2d2c9de9..46b6f0f8b 100644 --- a/agentscope-extensions/agentscope-spring-boot-starters/agentscope-a2a-spring-boot-starter/src/test/java/io/agentscope/spring/boot/a2a/AgentscopeA2aAutoConfigurationTest.java +++ b/agentscope-extensions/agentscope-spring-boot-starters/agentscope-a2a-spring-boot-starter/src/test/java/io/agentscope/spring/boot/a2a/AgentscopeA2aAutoConfigurationTest.java @@ -193,6 +193,9 @@ void shouldIncludeContextPathInAgentCardUrl() { assertThat(context).hasNotFailed(); AgentScopeA2aServer server = context.getBean(AgentScopeA2aServer.class); AgentCard agentCard = server.getAgentCard(); + log.info("preferredTransport={}", agentCard.preferredTransport()); + log.info("interfaces={}", agentCard.additionalInterfaces()); + log.info("finalUrl={}", agentCard.url()); log.info("agentCard {}", agentCard.url()); Assertions.assertEquals("http://192.168.1.100:8081/api", agentCard.url()); // Verify additional interfaces also contain the context-path From bca55942c7b1a11738486beb673c87058047bd7d Mon Sep 17 00:00:00 2001 From: xuhuafei <2508020102@qq.com> Date: Wed, 8 Apr 2026 22:33:24 +0800 Subject: [PATCH 7/8] debug --- .../io/agentscope/core/a2a/server/AgentScopeA2aServer.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/agentscope-extensions/agentscope-extensions-a2a/agentscope-extensions-a2a-server/src/main/java/io/agentscope/core/a2a/server/AgentScopeA2aServer.java b/agentscope-extensions/agentscope-extensions-a2a/agentscope-extensions-a2a-server/src/main/java/io/agentscope/core/a2a/server/AgentScopeA2aServer.java index 17c4e1b98..d9d7df642 100644 --- a/agentscope-extensions/agentscope-extensions-a2a/agentscope-extensions-a2a-server/src/main/java/io/agentscope/core/a2a/server/AgentScopeA2aServer.java +++ b/agentscope-extensions/agentscope-extensions-a2a/agentscope-extensions-a2a-server/src/main/java/io/agentscope/core/a2a/server/AgentScopeA2aServer.java @@ -233,6 +233,13 @@ public Builder agentCard(ConfigurableAgentCard agentCard) { * @return builder instance of {@link AgentScopeA2aServer} */ public Builder withTransport(TransportProperties transportProperties) { + log.info( + "withTransport called: transportProperties={}, callerStack={}", + transportProperties, + java.util.Arrays.stream(Thread.currentThread().getStackTrace()) + .skip(2) + .limit(12) + .toList()); supportedTransports.add(transportProperties); return this; } From 0cc131b4a5f5a44b2e64af8a55871116a41e31d9 Mon Sep 17 00:00:00 2001 From: xuhuafei <2508020102@qq.com> Date: Wed, 8 Apr 2026 23:12:55 +0800 Subject: [PATCH 8/8] bug fix and remove debug log --- .../core/a2a/server/AgentScopeA2aServer.java | 19 ------- .../card/AgentScopeAgentCardConverter.java | 52 ++++++------------- .../a2a/AgentscopeA2aAutoConfiguration.java | 21 -------- .../a2a/properties/JSONRPCProperties.java | 1 + .../AgentscopeA2aAutoConfigurationTest.java | 11 ---- 5 files changed, 18 insertions(+), 86 deletions(-) diff --git a/agentscope-extensions/agentscope-extensions-a2a/agentscope-extensions-a2a-server/src/main/java/io/agentscope/core/a2a/server/AgentScopeA2aServer.java b/agentscope-extensions/agentscope-extensions-a2a/agentscope-extensions-a2a-server/src/main/java/io/agentscope/core/a2a/server/AgentScopeA2aServer.java index d9d7df642..b0a9e89ea 100644 --- a/agentscope-extensions/agentscope-extensions-a2a/agentscope-extensions-a2a-server/src/main/java/io/agentscope/core/a2a/server/AgentScopeA2aServer.java +++ b/agentscope-extensions/agentscope-extensions-a2a/agentscope-extensions-a2a-server/src/main/java/io/agentscope/core/a2a/server/AgentScopeA2aServer.java @@ -233,13 +233,6 @@ public Builder agentCard(ConfigurableAgentCard agentCard) { * @return builder instance of {@link AgentScopeA2aServer} */ public Builder withTransport(TransportProperties transportProperties) { - log.info( - "withTransport called: transportProperties={}, callerStack={}", - transportProperties, - java.util.Arrays.stream(Thread.currentThread().getStackTrace()) - .skip(2) - .limit(12) - .toList()); supportedTransports.add(transportProperties); return this; } @@ -390,11 +383,6 @@ public AgentScopeA2aServer build() { if (null == agentCard) { agentCard = new ConfigurableAgentCard.Builder().build(); } - log.info( - "Builder before default transport: supportedTransports.size={}," - + " deploymentProperties={}", - supportedTransports.size(), - deploymentProperties); if (supportedTransports.isEmpty()) { log.warn("Not found input supportedTransports, use default transport: `JSONRPC`"); if (null == deploymentProperties) { @@ -410,21 +398,14 @@ public AgentScopeA2aServer build() { .path(deploymentProperties.path()) .build()); } - log.info("Builder supportedTransports={}", supportedTransports); Map allBuilders = loadTransportBuilders(); Set availableTransports = getAvailableTransports(allBuilders); - log.info("Builder availableTransports={}", availableTransports); if (availableTransports.isEmpty()) { throw new IllegalArgumentException("No one available transport found."); } AgentCard a2aAgentCard = new AgentScopeAgentCardConverter() .createAgentCard(agentCard, agentRunner, availableTransports); - log.info( - "Built agent card: preferredTransport={}, url={}, additionalInterfaces={}", - a2aAgentCard.preferredTransport(), - a2aAgentCard.url(), - a2aAgentCard.additionalInterfaces()); Map transportWrappers = buildTransportWrappers( requestHandler, availableTransports, allBuilders, a2aAgentCard); diff --git a/agentscope-extensions/agentscope-extensions-a2a/agentscope-extensions-a2a-server/src/main/java/io/agentscope/core/a2a/server/card/AgentScopeAgentCardConverter.java b/agentscope-extensions/agentscope-extensions-a2a/agentscope-extensions-a2a-server/src/main/java/io/agentscope/core/a2a/server/card/AgentScopeAgentCardConverter.java index 035b0910d..dd518938d 100644 --- a/agentscope-extensions/agentscope-extensions-a2a/agentscope-extensions-a2a-server/src/main/java/io/agentscope/core/a2a/server/card/AgentScopeAgentCardConverter.java +++ b/agentscope-extensions/agentscope-extensions-a2a/agentscope-extensions-a2a-server/src/main/java/io/agentscope/core/a2a/server/card/AgentScopeAgentCardConverter.java @@ -70,51 +70,33 @@ public AgentCard createAgentCard( ConfigurableAgentCard agentCard, AgentRunner agentRunner, Set availableTransports) { - log.info( - "createAgentCard input: configurable.url={}, configurable.preferredTransport={}," - + " configurable.additionalInterfaces={}", - agentCard.getUrl(), - agentCard.getPreferredTransport(), - agentCard.getAdditionalInterfaces()); - log.info("createAgentCard input: availableTransports={}", availableTransports); AgentCapabilities capabilities = createDefaultCapabilities(); List additionalInterfaces = createAdditionalInterfaces(agentCard, availableTransports); AgentInterface preferredTransportInterface = getPreferredTransport(agentCard, additionalInterfaces); - log.info("createAgentCard intermediate: additionalInterfaces={}", additionalInterfaces); - log.info( - "createAgentCard intermediate: preferredTransportInterface={}", - preferredTransportInterface); AgentCard.Builder agentCardBuilder = new AgentCard.Builder(); if (null != preferredTransportInterface) { agentCardBuilder.preferredTransport(preferredTransportInterface.transport()); agentCardBuilder.url(preferredTransportInterface.url()); } - AgentCard result = - agentCardBuilder - .name(getName(agentCard, agentRunner)) - .description(getDescription(agentCard, agentRunner)) - .provider(agentCard.getProvider()) - .version(getVersion(agentCard)) - .documentationUrl(agentCard.getDocumentationUrl()) - .capabilities(capabilities) - .defaultInputModes(getModes(agentCard.getDefaultInputModes())) - .defaultOutputModes(getModes(agentCard.getDefaultOutputModes())) - .skills(null != agentCard.getSkills() ? agentCard.getSkills() : List.of()) - .supportsAuthenticatedExtendedCard(false) - .securitySchemes(agentCard.getSecuritySchemes()) - .security(agentCard.getSecurity()) - .iconUrl(agentCard.getIconUrl()) - .additionalInterfaces(additionalInterfaces) - .protocolVersion("0.3.0") - .build(); - log.info( - "createAgentCard output: preferredTransport={}, url={}, additionalInterfaces={}", - result.preferredTransport(), - result.url(), - result.additionalInterfaces()); - return result; + return agentCardBuilder + .name(getName(agentCard, agentRunner)) + .description(getDescription(agentCard, agentRunner)) + .provider(agentCard.getProvider()) + .version(getVersion(agentCard)) + .documentationUrl(agentCard.getDocumentationUrl()) + .capabilities(capabilities) + .defaultInputModes(getModes(agentCard.getDefaultInputModes())) + .defaultOutputModes(getModes(agentCard.getDefaultOutputModes())) + .skills(null != agentCard.getSkills() ? agentCard.getSkills() : List.of()) + .supportsAuthenticatedExtendedCard(false) + .securitySchemes(agentCard.getSecuritySchemes()) + .security(agentCard.getSecurity()) + .iconUrl(agentCard.getIconUrl()) + .additionalInterfaces(additionalInterfaces) + .protocolVersion("0.3.0") + .build(); } private AgentCapabilities createDefaultCapabilities() { diff --git a/agentscope-extensions/agentscope-spring-boot-starters/agentscope-a2a-spring-boot-starter/src/main/java/io/agentscope/spring/boot/a2a/AgentscopeA2aAutoConfiguration.java b/agentscope-extensions/agentscope-spring-boot-starters/agentscope-a2a-spring-boot-starter/src/main/java/io/agentscope/spring/boot/a2a/AgentscopeA2aAutoConfiguration.java index fd3b8055a..6c2378767 100644 --- a/agentscope-extensions/agentscope-spring-boot-starters/agentscope-a2a-spring-boot-starter/src/main/java/io/agentscope/spring/boot/a2a/AgentscopeA2aAutoConfiguration.java +++ b/agentscope-extensions/agentscope-spring-boot-starters/agentscope-a2a-spring-boot-starter/src/main/java/io/agentscope/spring/boot/a2a/AgentscopeA2aAutoConfiguration.java @@ -38,8 +38,6 @@ import io.agentscope.spring.boot.a2a.properties.JSONRPCProperties; import io.agentscope.spring.boot.a2a.runner.ReActAgentWithStarterRunner; import java.util.List; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.beans.factory.ObjectProvider; import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -73,8 +71,6 @@ matchIfMissing = true) public class AgentscopeA2aAutoConfiguration { - private static final Logger log = LoggerFactory.getLogger(AgentscopeA2aAutoConfiguration.class); - @Bean @ConditionalOnMissingBean @ConditionalOnBean(ReActAgent.class) @@ -102,17 +98,6 @@ public AgentScopeA2aServer agentScopeA2aServer( ConfigurableAgentCard configurableAgentCard = buildConfigurableAgentCard(agentCardProperties); DeploymentProperties deploymentProperties = buildDeploymentProperties(environment); - log.info( - "A2A auto config input: card.url={}, card.preferredTransport={}," - + " card.additionalInterfaces={}", - configurableAgentCard.getUrl(), - configurableAgentCard.getPreferredTransport(), - configurableAgentCard.getAdditionalInterfaces()); - log.info( - "A2A auto config input: deployment.host={}, deployment.port={}, deployment.path={}", - deploymentProperties.host(), - deploymentProperties.port(), - deploymentProperties.path()); builder.agentCard(configurableAgentCard); builder.deploymentProperties(deploymentProperties); builder.agentExecuteProperties(buildAgentExecuteProperties(commonProperties)); @@ -207,12 +192,6 @@ private DeploymentProperties buildDeploymentProperties(Environment environment) environment.getProperty(Constants.DEFAULT_SERVER_EXPORT_ADDRESS); String defaultServerExportContextPath = environment.getProperty(Constants.DEFAULT_SERVER_EXPORT_CONTEXT_PATH); - log.info( - "defaultServerExportAddress={}, defaultServerExportPort={}," - + " defaultServerExportContextPath={}", - defaultServerExportAddress, - defaultServerExportPort, - defaultServerExportContextPath); result.port(defaultServerExportPort); if (null != defaultServerExportAddress) { result.host(defaultServerExportAddress); diff --git a/agentscope-extensions/agentscope-spring-boot-starters/agentscope-a2a-spring-boot-starter/src/main/java/io/agentscope/spring/boot/a2a/properties/JSONRPCProperties.java b/agentscope-extensions/agentscope-spring-boot-starters/agentscope-a2a-spring-boot-starter/src/main/java/io/agentscope/spring/boot/a2a/properties/JSONRPCProperties.java index 053b09354..44fce07be 100644 --- a/agentscope-extensions/agentscope-spring-boot-starters/agentscope-a2a-spring-boot-starter/src/main/java/io/agentscope/spring/boot/a2a/properties/JSONRPCProperties.java +++ b/agentscope-extensions/agentscope-spring-boot-starters/agentscope-a2a-spring-boot-starter/src/main/java/io/agentscope/spring/boot/a2a/properties/JSONRPCProperties.java @@ -46,6 +46,7 @@ public TransportProperties toTransportProperties() { return TransportProperties.builder(TransportProtocol.JSONRPC.asString()) .host(deploymentProperties.host()) .port(deploymentProperties.port()) + .path(deploymentProperties.path()) .build(); } diff --git a/agentscope-extensions/agentscope-spring-boot-starters/agentscope-a2a-spring-boot-starter/src/test/java/io/agentscope/spring/boot/a2a/AgentscopeA2aAutoConfigurationTest.java b/agentscope-extensions/agentscope-spring-boot-starters/agentscope-a2a-spring-boot-starter/src/test/java/io/agentscope/spring/boot/a2a/AgentscopeA2aAutoConfigurationTest.java index 46b6f0f8b..06e38bfdb 100644 --- a/agentscope-extensions/agentscope-spring-boot-starters/agentscope-a2a-spring-boot-starter/src/test/java/io/agentscope/spring/boot/a2a/AgentscopeA2aAutoConfigurationTest.java +++ b/agentscope-extensions/agentscope-spring-boot-starters/agentscope-a2a-spring-boot-starter/src/test/java/io/agentscope/spring/boot/a2a/AgentscopeA2aAutoConfigurationTest.java @@ -32,8 +32,6 @@ import java.time.Duration; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.context.event.ApplicationReadyEvent; @@ -48,8 +46,6 @@ */ class AgentscopeA2aAutoConfigurationTest { - private static final Logger log = - LoggerFactory.getLogger(AgentscopeA2aAutoConfigurationTest.class); private final WebApplicationContextRunner contextRunner = new WebApplicationContextRunner() .withConfiguration(AutoConfigurations.of(AgentscopeA2aAutoConfiguration.class)) @@ -187,16 +183,11 @@ void shouldIncludeContextPathInAgentCardUrl() { "server.address=192.168.1.100", "server.port=8081", "server.servlet.context-path=/api"); - log.info("192.168.1.100/api"); contextRunner.run( context -> { assertThat(context).hasNotFailed(); AgentScopeA2aServer server = context.getBean(AgentScopeA2aServer.class); AgentCard agentCard = server.getAgentCard(); - log.info("preferredTransport={}", agentCard.preferredTransport()); - log.info("interfaces={}", agentCard.additionalInterfaces()); - log.info("finalUrl={}", agentCard.url()); - log.info("agentCard {}", agentCard.url()); Assertions.assertEquals("http://192.168.1.100:8081/api", agentCard.url()); // Verify additional interfaces also contain the context-path assertThat(agentCard.additionalInterfaces()).isNotEmpty(); @@ -215,13 +206,11 @@ void shouldGenerateCorrectUrlWithContextPath() { ReActAgent.class, () -> ReActAgent.builder().name("mockAgent").build()) .withPropertyValues("server.servlet.context-path=/myapp/v1"); - log.info("server.servlet.context-path=/myapp/v1"); contextRunner.run( context -> { assertThat(context).hasNotFailed(); AgentScopeA2aServer server = context.getBean(AgentScopeA2aServer.class); AgentCard agentCard = server.getAgentCard(); - log.info(agentCard.url()); // URL should contain the context-path assertThat(agentCard.url()).contains("/myapp/v1"); });