🚀 feat(test_cli.py): add tests for server functionality and command line options
🚀 feat(test_cli.py): add test for checking database URL option 🚀 feat(test_cli.py): add test for checking components path option
This commit is contained in:
parent
76362da42b
commit
36a7ba4ad5
1 changed files with 49 additions and 0 deletions
49
tests/test_cli.py
Normal file
49
tests/test_cli.py
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
from pathlib import Path
|
||||
from langflow.__main__ import app
|
||||
import pytest
|
||||
|
||||
import requests
|
||||
import multiprocessing
|
||||
import time
|
||||
from langflow.services import utils
|
||||
|
||||
|
||||
@pytest.fixture(scope="module")
|
||||
def default_settings():
|
||||
return [
|
||||
"--backend-only",
|
||||
"--no-open-browser",
|
||||
]
|
||||
|
||||
|
||||
def test_server(default_settings):
|
||||
p = multiprocessing.Process(
|
||||
target=app,
|
||||
args=(["--host", "localhost", "--port", "8982", *default_settings],),
|
||||
)
|
||||
p.start()
|
||||
time.sleep(5) # allow some time for the server to start
|
||||
|
||||
response = requests.get(
|
||||
"http://localhost:8982/health"
|
||||
) # assuming a /health endpoint exists
|
||||
assert response.status_code == 200
|
||||
|
||||
p.terminate()
|
||||
|
||||
|
||||
def test_database_url(runner):
|
||||
result = runner.invoke(app, ["--database-url", "sqlite:///test.db"])
|
||||
assert result.exit_code == 2, result.stdout
|
||||
assert "No such option: --database-url" in result.output
|
||||
|
||||
|
||||
def test_components_path(runner, client, default_settings):
|
||||
result = runner.invoke(
|
||||
app,
|
||||
["--components-path", "./", *default_settings],
|
||||
)
|
||||
assert result.exit_code == 0, result.stdout
|
||||
settings_manager = utils.get_settings_manager()
|
||||
path = Path("./")
|
||||
assert path in settings_manager.settings.COMPONENTS_PATH
|
||||
Loading…
Add table
Add a link
Reference in a new issue