Skip to content

Commit 106e5e9

Browse files
committed
CI: Validate on Windows operating system
1 parent 3426aa7 commit 106e5e9

File tree

2 files changed

+17
-10
lines changed

2 files changed

+17
-10
lines changed

.github/workflows/test.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ jobs:
2222
"ubuntu-latest",
2323
"macos-12",
2424
"macos-latest",
25+
"windows-latest",
2526
]
2627
python-version: [
2728
"3.10",

tests/test_responder.py

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
import random
22
import string
3+
import sys
4+
from pathlib import Path
35

46
import pytest
57
import yaml
@@ -811,7 +813,7 @@ def get(req, resp):
811813
assert r.status_code == 200
812814

813815

814-
def create_asset(static_dir, name=None, parent_dir=None):
816+
def create_asset(static_dir: Path, name=None, parent_dir: str = None) -> Path:
815817
if name is None:
816818
name = random.choices(string.ascii_letters, k=6) # noqa: S311
817819
# :3
@@ -821,16 +823,20 @@ def create_asset(static_dir, name=None, parent_dir=None):
821823
if parent_dir is None:
822824
parent_dir = static_dir
823825
else:
824-
parent_dir = static_dir.mkdir(parent_dir)
826+
parent_dir = static_dir / parent_dir
827+
parent_dir.mkdir()
825828

826-
asset = parent_dir.join(name)
827-
asset.write("body { color: blue; }")
828-
return asset
829+
asset = parent_dir / name
830+
asset.write_text("body { color: blue; }", encoding="utf-8")
831+
return Path(asset)
829832

830833

831834
@pytest.mark.parametrize("static_route", [None, "/static", "/custom/static/route"])
832-
def test_staticfiles(tmpdir, static_route):
833-
static_dir = tmpdir.mkdir("static")
835+
def test_staticfiles(tmp_path, static_route):
836+
if sys.platform == "win32" and static_route is None:
837+
raise pytest.skip("Route 'None' currently does not work on Windows")
838+
static_dir = tmp_path / "static"
839+
static_dir.mkdir()
834840

835841
asset1 = create_asset(static_dir)
836842
parent_dir = "css"
@@ -842,10 +848,10 @@ def test_staticfiles(tmpdir, static_route):
842848
static_route = api.static_route
843849

844850
# ok
845-
r = session.get(f"{static_route}/{asset1.basename}")
851+
r = session.get(f"{static_route}/{asset1.name}")
846852
assert r.status_code == api.status_codes.HTTP_200
847853

848-
r = session.get(f"{static_route}/{parent_dir}/{asset2.basename}")
854+
r = session.get(f"{static_route}/{parent_dir}/{asset2.name}")
849855
assert r.status_code == api.status_codes.HTTP_200
850856

851857
# Asset not found
@@ -871,7 +877,7 @@ def test_staticfiles_none_dir(tmpdir):
871877
static_route = api.static_route
872878

873879
# ok
874-
r = session.get(f"{static_route}/{asset.basename}")
880+
r = session.get(f"{static_route}/{asset.name}")
875881
assert r.status_code == api.status_codes.HTTP_404
876882

877883
# dir listing

0 commit comments

Comments
 (0)