From 908f7f5f282b7c78c54dae83f6918fd3032cda62 Mon Sep 17 00:00:00 2001 From: foyou Date: Wed, 1 Mar 2023 15:25:31 +0800 Subject: [PATCH] add tests --- pyproject.toml | 1 + src/pger/const.py | 1 + src/pger/pypi.py | 15 ++++++++++++--- src/pger/templates/conftest.py | 6 ++++++ src/pger/templates/pyproject.toml | 1 + src/tests/__init__.py | 0 src/tests/conftest.py | 6 ++++++ 7 files changed, 27 insertions(+), 3 deletions(-) create mode 100644 src/pger/templates/conftest.py create mode 100644 src/tests/__init__.py create mode 100644 src/tests/conftest.py diff --git a/pyproject.toml b/pyproject.toml index 862cb38..d5b81d5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -47,3 +47,4 @@ dependencies = { file = "requirements.txt" } [tool.setuptools.packages.find] where = ["src"] +exclude = ["tests*"] diff --git a/src/pger/const.py b/src/pger/const.py index 391a888..95be9fd 100644 --- a/src/pger/const.py +++ b/src/pger/const.py @@ -11,5 +11,6 @@ MAIN = '__main__.py' INIT = '__init__.py' TEMPLATES = 'templates' +CONFTEST = 'conftest.py' templates = Path(os.path.join(os.path.dirname(__file__), TEMPLATES)) diff --git a/src/pger/pypi.py b/src/pger/pypi.py index 19d6c1c..167ac16 100644 --- a/src/pger/pypi.py +++ b/src/pger/pypi.py @@ -14,7 +14,8 @@ def __init__(self, user, repo, package, output=None): self.output = Path(os.path.abspath(output) if output else repo) self.output.mkdir(parents=True, exist_ok=True) self.src = self.output / 'src' - (self.src / 'templates').mkdir(parents=True, exist_ok=True) + (self.src / package / const.TEMPLATES).mkdir(parents=True, exist_ok=True) + self.tests = self.src / 'tests' self.workflows = self.output / '.github/workflows' self.workflows.mkdir(parents=True, exist_ok=True) self.pkg = self.src / package @@ -52,7 +53,7 @@ def update(self): ) def main(self): - (self.pkg / '__main__.py').write_text(dedent(f""" + (self.pkg / const.MAIN).write_text(dedent(f""" from {self.package} import main if __name__ == '__main__': @@ -60,7 +61,7 @@ def main(self): """).lstrip()) def init(self): - (self.pkg / '__init__.py').write_text(dedent(f""" + (self.pkg / const.INIT).write_text(dedent(f""" __title__ = '{self.repo}' __author__ = '{self.user}' __version__ = '0.0.1' @@ -76,6 +77,13 @@ def main(): parser.parse_args() """).lstrip()) + def gen_tests(self): + self.tests.mkdir(parents=True, exist_ok=True) + (self.tests / const.INIT).write_text('') + (self.tests / const.CONFTEST).write_text( + (const.templates / const.CONFTEST).read_text() + ) + def generate(self): self.manifest() self.pyproject() @@ -86,4 +94,5 @@ def generate(self): self.update() self.main() self.init() + self.gen_tests() return self.output diff --git a/src/pger/templates/conftest.py b/src/pger/templates/conftest.py new file mode 100644 index 0000000..f8235df --- /dev/null +++ b/src/pger/templates/conftest.py @@ -0,0 +1,6 @@ +import pytest + + +@pytest.fixture +def data(): + return {'pytest': 'fixture'} diff --git a/src/pger/templates/pyproject.toml b/src/pger/templates/pyproject.toml index c0e758f..e942e6d 100644 --- a/src/pger/templates/pyproject.toml +++ b/src/pger/templates/pyproject.toml @@ -45,3 +45,4 @@ dependencies = {{ file = "requirements.txt" }} [tool.setuptools.packages.find] where = ["src"] +exclude = ["tests*"] diff --git a/src/tests/__init__.py b/src/tests/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/tests/conftest.py b/src/tests/conftest.py new file mode 100644 index 0000000..f8235df --- /dev/null +++ b/src/tests/conftest.py @@ -0,0 +1,6 @@ +import pytest + + +@pytest.fixture +def data(): + return {'pytest': 'fixture'}