@@ -30,6 +30,7 @@ async def test_my_async_flow(async_flow_runner):
3030
3131from __future__ import annotations
3232
33+ import contextlib
3334import os
3435from typing import TYPE_CHECKING , Any
3536
@@ -54,34 +55,39 @@ async def test_my_async_flow(async_flow_runner):
5455def pytest_addoption (parser : pytest .Parser ) -> None :
5556 """Register Langflow-specific CLI options."""
5657 group = parser .getgroup ("langflow" , "Langflow integration testing options" )
57- group .addoption (
58- "--langflow-env" ,
59- dest = "langflow_env" ,
60- default = None ,
61- metavar = "NAME" ,
62- help = "Environment name from langflow-environments.toml to use for integration tests." ,
63- )
64- group .addoption (
65- "--langflow-url" ,
66- dest = "langflow_url" ,
67- default = None ,
68- metavar = "URL" ,
69- help = "Base URL of the Langflow instance (overrides --langflow-env)." ,
70- )
71- group .addoption (
72- "--langflow-api-key" ,
73- dest = "langflow_api_key" ,
74- default = None ,
75- metavar = "KEY" ,
76- help = "API key for the Langflow instance (overrides environment config)." ,
77- )
78- group .addoption (
79- "--langflow-environments-file" ,
80- dest = "langflow_environments_file" ,
81- default = None ,
82- metavar = "PATH" ,
83- help = "Path to langflow-environments.toml (overrides default discovery)." ,
84- )
58+ options = {
59+ "--langflow-env" : {
60+ "dest" : "langflow_env" ,
61+ "default" : None ,
62+ "metavar" : "NAME" ,
63+ "help" : "Environment name from langflow-environments.toml to use for integration tests." ,
64+ },
65+ "--langflow-url" : {
66+ "dest" : "langflow_url" ,
67+ "default" : None ,
68+ "metavar" : "URL" ,
69+ "help" : "Base URL of the Langflow instance (overrides --langflow-env)." ,
70+ },
71+ "--langflow-api-key" : {
72+ "dest" : "langflow_api_key" ,
73+ "default" : None ,
74+ "metavar" : "KEY" ,
75+ "help" : "API key for the Langflow instance (overrides environment config)." ,
76+ },
77+ "--langflow-environments-file" : {
78+ "dest" : "langflow_environments_file" ,
79+ "default" : None ,
80+ "metavar" : "PATH" ,
81+ "help" : "Path to langflow-environments.toml (overrides default discovery)." ,
82+ },
83+ }
84+
85+ # langflow-sdk and lfx can both be installed in the same environment and
86+ # expose the same remote-testing flags. Keep registration idempotent so
87+ # pytest plugin auto-discovery can load both entry points safely.
88+ for flag , kwargs in options .items ():
89+ with contextlib .suppress (ValueError ):
90+ group .addoption (flag , ** kwargs )
8591
8692
8793# ---------------------------------------------------------------------------
0 commit comments