Skip to content

Commit 99b2652

Browse files
shawn-yang-googlecopybara-github
authored andcommitted
feat: Support Developer Connect in AE
FUTURE_COPYBARA_INTEGRATE_REVIEW=#6207 from googleapis:release-please--branches--main 95b8d4f PiperOrigin-RevId: 832480435
1 parent 64cc464 commit 99b2652

File tree

5 files changed

+431
-133
lines changed

5 files changed

+431
-133
lines changed

tests/unit/vertexai/genai/replays/test_create_agent_engine.py

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,43 @@ def test_create_with_identity_type(client):
170170
client.agent_engines.delete(name=agent_engine.api_resource.name, force=True)
171171

172172

173+
def test_create_with_developer_connect_source(client):
174+
"""Tests creating an agent engine with developer connect source."""
175+
developer_connect_source_config = types.ReasoningEngineSpecSourceCodeSpecDeveloperConnectConfig(
176+
git_repository_link="projects/reasoning-engine-test-1/locations/europe-west3/connections/shawn-develop-connect/gitRepositoryLinks/shawn-yang-google-adk-samples",
177+
revision="main",
178+
dir="test",
179+
)
180+
agent_engine = client.agent_engines.create(
181+
config={
182+
"display_name": "test-agent-engine-dev-connect",
183+
"developer_connect_source": developer_connect_source_config,
184+
"entrypoint_module": "my_agent",
185+
"entrypoint_object": "agent",
186+
"class_methods": _TEST_CLASS_METHODS,
187+
"http_options": {
188+
"base_url": "https://europe-west3-aiplatform.googleapis.com",
189+
"api_version": "v1beta1",
190+
},
191+
},
192+
)
193+
assert agent_engine.api_resource.display_name == "test-agent-engine-dev-connect"
194+
assert (
195+
agent_engine.api_resource.spec.source_code_spec.developer_connect_source.config.git_repository_link
196+
== developer_connect_source_config.git_repository_link
197+
)
198+
assert (
199+
agent_engine.api_resource.spec.source_code_spec.developer_connect_source.config.revision
200+
== developer_connect_source_config.revision
201+
)
202+
assert (
203+
agent_engine.api_resource.spec.source_code_spec.developer_connect_source.config.dir
204+
== developer_connect_source_config.dir
205+
)
206+
# Clean up resources.
207+
client.agent_engines.delete(name=agent_engine.api_resource.name, force=True)
208+
209+
173210
pytestmark = pytest_helper.setup(
174211
file=__file__,
175212
globals_for_file=globals(),

tests/unit/vertexai/genai/test_agent_engines.py

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1062,6 +1062,47 @@ def test_create_agent_engine_config_with_source_packages(
10621062
== _TEST_AGENT_ENGINE_IDENTITY_TYPE_SERVICE_ACCOUNT
10631063
)
10641064

1065+
def test_create_agent_engine_config_with_developer_connect_source(self):
1066+
with tempfile.TemporaryDirectory() as tmpdir:
1067+
requirements_file_path = os.path.join(tmpdir, "requirements.txt")
1068+
with open(requirements_file_path, "w") as f:
1069+
f.write("requests==2.0.0")
1070+
developer_connect_source = {
1071+
"git_repository_link": "projects/test-project/locations/us-central1/connections/test-connection/gitRepositoryLinks/test-repo",
1072+
"revision": "main",
1073+
"dir": "agent",
1074+
}
1075+
config = self.client.agent_engines._create_config(
1076+
mode="create",
1077+
display_name=_TEST_AGENT_ENGINE_DISPLAY_NAME,
1078+
description=_TEST_AGENT_ENGINE_DESCRIPTION,
1079+
developer_connect_source=developer_connect_source,
1080+
entrypoint_module="main",
1081+
entrypoint_object="app",
1082+
requirements_file=requirements_file_path,
1083+
class_methods=_TEST_AGENT_ENGINE_CLASS_METHODS,
1084+
agent_framework=_TEST_AGENT_FRAMEWORK,
1085+
identity_type=_TEST_AGENT_ENGINE_IDENTITY_TYPE_SERVICE_ACCOUNT,
1086+
python_version=_TEST_PYTHON_VERSION_OVERRIDE,
1087+
)
1088+
assert config["display_name"] == _TEST_AGENT_ENGINE_DISPLAY_NAME
1089+
assert config["description"] == _TEST_AGENT_ENGINE_DESCRIPTION
1090+
assert config["spec"]["agent_framework"] == _TEST_AGENT_FRAMEWORK
1091+
assert config["spec"]["source_code_spec"] == {
1092+
"developer_connect_source": {"config": developer_connect_source},
1093+
"python_spec": {
1094+
"version": _TEST_PYTHON_VERSION_OVERRIDE,
1095+
"entrypoint_module": "main",
1096+
"entrypoint_object": "app",
1097+
"requirements_file": requirements_file_path,
1098+
},
1099+
}
1100+
assert config["spec"]["class_methods"] == _TEST_AGENT_ENGINE_CLASS_METHODS
1101+
assert (
1102+
config["spec"]["identity_type"]
1103+
== _TEST_AGENT_ENGINE_IDENTITY_TYPE_SERVICE_ACCOUNT
1104+
)
1105+
10651106
@mock.patch.object(
10661107
_agent_engines_utils,
10671108
"_create_base64_encoded_tarball",
@@ -1824,6 +1865,7 @@ def test_create_agent_engine_with_env_vars_dict(
18241865
labels=None,
18251866
class_methods=None,
18261867
source_packages=None,
1868+
developer_connect_source=None,
18271869
entrypoint_module=None,
18281870
entrypoint_object=None,
18291871
requirements_file=None,
@@ -1924,6 +1966,7 @@ def test_create_agent_engine_with_custom_service_account(
19241966
agent_server_mode=None,
19251967
class_methods=None,
19261968
source_packages=None,
1969+
developer_connect_source=None,
19271970
entrypoint_module=None,
19281971
entrypoint_object=None,
19291972
requirements_file=None,
@@ -2023,6 +2066,7 @@ def test_create_agent_engine_with_experimental_mode(
20232066
agent_server_mode=_genai_types.AgentServerMode.EXPERIMENTAL,
20242067
class_methods=None,
20252068
source_packages=None,
2069+
developer_connect_source=None,
20262070
entrypoint_module=None,
20272071
entrypoint_object=None,
20282072
requirements_file=None,
@@ -2191,6 +2235,7 @@ def test_create_agent_engine_with_class_methods(
21912235
agent_server_mode=None,
21922236
class_methods=_TEST_AGENT_ENGINE_CLASS_METHODS,
21932237
source_packages=None,
2238+
developer_connect_source=None,
21942239
entrypoint_module=None,
21952240
entrypoint_object=None,
21962241
requirements_file=None,
@@ -2284,6 +2329,7 @@ def test_create_agent_engine_with_agent_framework(
22842329
agent_server_mode=None,
22852330
class_methods=None,
22862331
source_packages=None,
2332+
developer_connect_source=None,
22872333
entrypoint_module=None,
22882334
entrypoint_object=None,
22892335
requirements_file=None,

0 commit comments

Comments
 (0)