lightning/tests/tests_examples_app/public/test_boring_app.py

35 lines
1.0 KiB
Python

import os
import pytest
from click.testing import CliRunner
from tests_examples_app.public import _PATH_EXAMPLES
from lightning_app.cli.lightning_cli import show
from lightning_app.testing.testing import run_app_in_cloud, wait_for
@pytest.mark.cloud
def test_boring_app_example_cloud() -> None:
with run_app_in_cloud(os.path.join(_PATH_EXAMPLES, "app_boring"), app_name="app_dynamic.py", debug=True) as (
_,
view_page,
_,
name,
):
def check_hello_there(*_, **__):
locator = view_page.frame_locator("iframe").locator('ul:has-text("Hello there!")')
if len(locator.all_text_contents()):
return True
wait_for(view_page, check_hello_there)
runner = CliRunner()
result = runner.invoke(show.commands["logs"], [name])
lines = result.output.splitlines()
assert result.exit_code == 0
assert result.exception is None
assert any("Received from root.dict.dst_w" in line for line in lines)
print("Succeeded App!")