forked from dot-agent/nextpy
-
Notifications
You must be signed in to change notification settings - Fork 0
/
test_testing.py
42 lines (32 loc) · 1.32 KB
/
test_testing.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# This file has been modified by the Nextpy Team in 2023 using AI tools and automation scripts.
# We have rigorously tested these modifications to ensure reliability and performance. Based on successful test results, we are confident in the quality and stability of these changes.
"""Unit tests for the included testing tools."""
import pytest
from nextpy.build.testing import AppHarness
from nextpy.constants import IS_WINDOWS
@pytest.mark.skip("Slow test that makes network requests.")
def test_app_harness(tmp_path):
"""Ensure that AppHarness can compile and start an app.
Args:
tmp_path: pytest tmp_path fixture
"""
# Skip in Windows CI.
if IS_WINDOWS:
return
def BasicApp():
import nextpy as xt
class State(xt.State):
pass
app = xt.App(state=State)
app.add_page(lambda: xt.text("Basic App"), route="/", title="index")
app.compile_()
with AppHarness.create(
root=tmp_path,
app_source=BasicApp, # type: ignore
) as harness:
assert harness.app_instance is not None
assert harness.backend is not None
assert harness.frontend_url is not None
assert harness.frontend_process is not None
assert harness.frontend_process.poll() is None
assert harness.frontend_process.poll() is not None