diff --git a/.woodpecker/build.yaml b/.woodpecker/build.yaml index 5d11a5f..09e5776 100644 --- a/.woodpecker/build.yaml +++ b/.woodpecker/build.yaml @@ -2,8 +2,8 @@ when: - event: manual - event: tag -#depends_on: - #- test +depends_on: + - test steps: python_sync: diff --git a/pyproject.toml b/pyproject.toml index 85c1188..074e067 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -20,7 +20,11 @@ requires = ["hatchling", "uv-dynamic-versioning"] build-backend = "hatchling.build" [dependency-groups] -dev = ["dunamai>=1.24.1", "ipdb>=0.13.13"] +dev = [ + "dunamai>=1.24.1", + "ipdb>=0.13.13", + "pytest-asyncio>=1.0.0", +] [tool.hatch.build.targets.wheel] packages = ["src/knoc_plugin_template"] diff --git a/src/knoc_plugin_template/__init__.py b/src/knoc_plugin_template/__init__.py index 6da5d7b..0409a5d 100644 --- a/src/knoc_plugin_template/__init__.py +++ b/src/knoc_plugin_template/__init__.py @@ -4,7 +4,7 @@ try: from dunamai import Version, Style __version__ = Version.from_git().serialize(style=Style.SemVer, dirty=True) -except ImportError: +except (ImportError, RuntimeError): # __name__ can be used if the package name is the same # as the directory. Otherwise, specify it explicitely. __version__ = importlib.metadata.version(__name__) diff --git a/tests/basic.py b/tests/basic.py new file mode 100644 index 0000000..a38a07d --- /dev/null +++ b/tests/basic.py @@ -0,0 +1,8 @@ +import pytest + +from knoc import __version__ + + +@pytest.mark.asyncio +async def test_version(): + assert __version__ is not None diff --git a/uv.lock b/uv.lock index 29ee4a8..1f7f672 100644 --- a/uv.lock +++ b/uv.lock @@ -426,6 +426,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442, upload-time = "2024-09-15T18:07:37.964Z" }, ] +[[package]] +name = "iniconfig" +version = "2.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f2/97/ebf4da567aa6827c909642694d71c9fcf53e5b504f2d96afea02718862f3/iniconfig-2.1.0.tar.gz", hash = "sha256:3abbd2e30b36733fee78f9c7f7308f2d0050e88f0087fd25c2645f63c773e1c7", size = 4793, upload-time = "2025-03-19T20:09:59.721Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2c/e1/e6716421ea10d38022b952c159d5161ca1193197fb744506875fbb87ea7b/iniconfig-2.1.0-py3-none-any.whl", hash = "sha256:9deba5723312380e77435581c6bf4935c94cbfab9b1ed33ef8d238ea168eb760", size = 6050, upload-time = "2025-03-19T20:10:01.071Z" }, +] + [[package]] name = "ipdb" version = "0.13.13" @@ -531,6 +540,7 @@ dependencies = [ dev = [ { name = "dunamai" }, { name = "ipdb" }, + { name = "pytest-asyncio" }, ] [package.metadata] @@ -540,6 +550,7 @@ requires-dist = [{ name = "knoc", specifier = ">=0.1.22" }] dev = [ { name = "dunamai", specifier = ">=1.24.1" }, { name = "ipdb", specifier = ">=0.13.13" }, + { name = "pytest-asyncio", specifier = ">=1.0.0" }, ] [[package]] @@ -714,6 +725,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/9e/c3/059298687310d527a58bb01f3b1965787ee3b40dce76752eda8b44e9a2c5/pexpect-4.9.0-py2.py3-none-any.whl", hash = "sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523", size = 63772, upload-time = "2023-11-25T06:56:14.81Z" }, ] +[[package]] +name = "pluggy" +version = "1.6.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3", size = 69412, upload-time = "2025-05-15T12:30:07.975Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746", size = 20538, upload-time = "2025-05-15T12:30:06.134Z" }, +] + [[package]] name = "prometheus-client" version = "0.21.1" @@ -942,6 +962,34 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/61/ad/689f02752eeec26aed679477e80e632ef1b682313be70793d798c1d5fc8f/PyJWT-2.10.1-py3-none-any.whl", hash = "sha256:dcdd193e30abefd5debf142f9adfcdd2b58004e644f25406ffaebd50bd98dacb", size = 22997, upload-time = "2024-11-28T03:43:27.893Z" }, ] +[[package]] +name = "pytest" +version = "8.4.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "iniconfig" }, + { name = "packaging" }, + { name = "pluggy" }, + { name = "pygments" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/08/ba/45911d754e8eba3d5a841a5ce61a65a685ff1798421ac054f85aa8747dfb/pytest-8.4.1.tar.gz", hash = "sha256:7c67fd69174877359ed9371ec3af8a3d2b04741818c51e5e99cc1742251fa93c", size = 1517714, upload-time = "2025-06-18T05:48:06.109Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/29/16/c8a903f4c4dffe7a12843191437d7cd8e32751d5de349d45d3fe69544e87/pytest-8.4.1-py3-none-any.whl", hash = "sha256:539c70ba6fcead8e78eebbf1115e8b589e7565830d7d006a8723f19ac8a0afb7", size = 365474, upload-time = "2025-06-18T05:48:03.955Z" }, +] + +[[package]] +name = "pytest-asyncio" +version = "1.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pytest" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d0/d4/14f53324cb1a6381bef29d698987625d80052bb33932d8e7cbf9b337b17c/pytest_asyncio-1.0.0.tar.gz", hash = "sha256:d15463d13f4456e1ead2594520216b225a16f781e144f8fdf6c5bb4667c48b3f", size = 46960, upload-time = "2025-05-26T04:54:40.484Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/30/05/ce271016e351fddc8399e546f6e23761967ee09c8c568bbfbecb0c150171/pytest_asyncio-1.0.0-py3-none-any.whl", hash = "sha256:4f024da9f1ef945e680dc68610b52550e36590a67fd31bb3b4943979a1f90ef3", size = 15976, upload-time = "2025-05-26T04:54:39.035Z" }, +] + [[package]] name = "python-dateutil" version = "2.9.0.post0"