1212TEST_DIR = "tests"
1313SDIST_FILE = f"{ __title__ } -{ __version__ } .tar.gz"
1414WHEEL_FILE = f"{ __title__ .replace ('-' ,'_' )} -{ __version__ } -py{ sys .version_info .major } -none-any.whl"
15+ PY_TYPED = "gitlab/py.typed"
1516
1617
1718@pytest .fixture (scope = "session" )
@@ -21,19 +22,26 @@ def build(tmp_path_factory: pytest.TempPathFactory):
2122return temp_dir
2223
2324
24- def test_sdist_includes_docs_and_tests (build :Path )-> None :
25+ def test_sdist_includes_correct_files (build :Path )-> None :
2526sdist = tarfile .open (build / SDIST_FILE ,"r:gz" )
2627sdist_dir = f"{ __title__ } -{ __version__ } "
2728
2829docs_dir = sdist .getmember (f"{ sdist_dir } /{ DOCS_DIR } " )
2930test_dir = sdist .getmember (f"{ sdist_dir } /{ TEST_DIR } " )
3031readme = sdist .getmember (f"{ sdist_dir } /README.rst" )
32+ py_typed = sdist .getmember (f"{ sdist_dir } /{ PY_TYPED } " )
3133
3234assert docs_dir .isdir ()
3335assert test_dir .isdir ()
36+ assert py_typed .isfile ()
3437assert readme .isfile ()
3538
3639
40+ def test_wheel_includes_correct_files (build :Path )-> None :
41+ wheel = zipfile .ZipFile (build / WHEEL_FILE )
42+ assert PY_TYPED in wheel .namelist ()
43+
44+
3745def test_wheel_excludes_docs_and_tests (build :Path )-> None :
3846wheel = zipfile .ZipFile (build / WHEEL_FILE )
3947assert not any (file .startswith ((DOCS_DIR ,TEST_DIR ))for file in wheel .namelist ())