Index | Thread | Search

From:
Stuart Henderson <stu@spacehopper.org>
Subject:
Re: UPDATE: py-hvac 2.3.0 and request for help to make test work
To:
Mikolaj Kucharski <mikolaj@kucharski.name>
Cc:
ports@openbsd.org
Date:
Sat, 18 Oct 2025 16:06:49 +0100

Download raw body.

Thread
On 2025/10/18 12:52, Mikolaj Kucharski wrote:
> Hi.
> 
> From https://github.com/hvac/hvac/releases there is a long list
> of changes.
> 
> I will test it a bit on my end. I don't use it regularly. However,
> I wanted to ask for help to make the `make test` command work.
> 
> I tried with MODPY_PYTEST_ARGS and MODPY_TEST_DIR but to no avail.
> Any tips?
> 
> $ make test
> ...
> ===>  Building for py3-hvac-2.3.0
> * Getting build dependencies for wheel...
> * Building wheel...
> Successfully built hvac-2.3.0-py3-none-any.whl
> ===> py3-hvac-2.3.0 depends on: py3-requests-* -> py3-requests-2.32.5
> ===> py3-hvac-2.3.0 depends on: py3-test-* -> py3-test-8.4.2p0
> ===>  Regression tests for py3-hvac-2.3.0
> ERROR: usage: __main__.py [options] [file_or_dir] [file_or_dir] [...]
> __main__.py: error: unrecognized arguments: -n --dist worksteal

these are a bit of a pain. it means that you're missing a dependency
which registers an extension to pytest, but it can be hard to figure
out which one. in this case it's py-test-xdist.

some other TEST_DEPENDS from tool.poetry.group.dev.dependencies are
needed, we have most of them already, I've attached a port for py-pyhcl
that fixes a big bunch of these tests.

a couple other tests need Authlib and ldap_test but they're relatively
minor so I've just ignored them for now.

any OKs to import py-pyhcl?

Index: Makefile
===================================================================
RCS file: /cvs/ports/security/py-hvac/Makefile,v
diff -u -p -r1.8 Makefile
--- Makefile	16 Sep 2025 08:42:45 -0000	1.8
+++ Makefile	18 Oct 2025 15:03:32 -0000
@@ -1,9 +1,8 @@
 COMMENT =		Python client library for Hashicorp Vault
 
-MODPY_DISTV =	1.1.0
+MODPY_DISTV =		2.3.0
 DISTNAME =		hvac-${MODPY_DISTV}
 PKGNAME =		py-${DISTNAME}
-REVISION =		2
 
 MAINTAINER =		Mikolaj Kucharski <mikolaj@kucharski.name>
 
@@ -19,5 +18,22 @@ MODPY_PYBUILD =		poetry-core
 MODPY_PI =		Yes
 
 RUN_DEPENDS =		www/py-requests
+TEST_DEPENDS =		databases/py-flask-sqlalchemy \
+			devel/flake8 \
+			devel/py-coverage \
+			devel/py-test-cov \
+			devel/py-test-mock \
+			devel/py-test-xdist \
+			devel/py-parameterized \
+			textproc/py-pyhcl \
+			www/py-flask \
+			www/py-requests-mock \
+			www/py-werkzeug
+
+# these tests need
+# https://pypi.org/project/python-ldap-test
+# https://pypi.org/project/Authlib
+MODPY_PYTEST_ARGS=	--ignore tests/integration_tests/api/auth_methods/test_ldap.py \
+			--ignore tests/integration_tests/api/auth_methods/test_oidc.py
 
 .include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /cvs/ports/security/py-hvac/distinfo,v
diff -u -p -r1.2 distinfo
--- distinfo	19 May 2023 12:27:39 -0000	1.2
+++ distinfo	18 Oct 2025 15:03:32 -0000
@@ -1,2 +1,2 @@
-SHA256 (hvac-1.1.0.tar.gz) = B53KWIVt7mZG7VovIoOAnBbS3u3eHp6WFbKRAySkuWk=
-SIZE (hvac-1.1.0.tar.gz) = 106777
+SHA256 (hvac-2.3.0.tar.gz) = G4XjMg6GQt2C8jTbYyU82haagXWJ6CNxPcX8qDEZseI=
+SIZE (hvac-2.3.0.tar.gz) = 332660
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/security/py-hvac/pkg/PLIST,v
diff -u -p -r1.6 PLIST
--- pkg/PLIST	16 Sep 2025 08:42:45 -0000	1.6
+++ pkg/PLIST	18 Oct 2025 15:03:32 -0000
@@ -53,8 +53,6 @@ lib/python${MODPY_VERSION}/site-packages
 lib/python${MODPY_VERSION}/site-packages/hvac/api/auth_methods/${MODPY_PYCACHE}ldap.${MODPY_PYC_MAGIC_TAG}pyc
 lib/python${MODPY_VERSION}/site-packages/hvac/api/auth_methods/${MODPY_PYCACHE}legacy_mfa.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/python${MODPY_VERSION}/site-packages/hvac/api/auth_methods/${MODPY_PYCACHE}legacy_mfa.${MODPY_PYC_MAGIC_TAG}pyc
-lib/python${MODPY_VERSION}/site-packages/hvac/api/auth_methods/${MODPY_PYCACHE}mfa.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
-lib/python${MODPY_VERSION}/site-packages/hvac/api/auth_methods/${MODPY_PYCACHE}mfa.${MODPY_PYC_MAGIC_TAG}pyc
 lib/python${MODPY_VERSION}/site-packages/hvac/api/auth_methods/${MODPY_PYCACHE}oidc.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/python${MODPY_VERSION}/site-packages/hvac/api/auth_methods/${MODPY_PYCACHE}oidc.${MODPY_PYC_MAGIC_TAG}pyc
 lib/python${MODPY_VERSION}/site-packages/hvac/api/auth_methods/${MODPY_PYCACHE}okta.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
@@ -75,7 +73,6 @@ lib/python${MODPY_VERSION}/site-packages
 lib/python${MODPY_VERSION}/site-packages/hvac/api/auth_methods/kubernetes.py
 lib/python${MODPY_VERSION}/site-packages/hvac/api/auth_methods/ldap.py
 lib/python${MODPY_VERSION}/site-packages/hvac/api/auth_methods/legacy_mfa.py
-lib/python${MODPY_VERSION}/site-packages/hvac/api/auth_methods/mfa.py
 lib/python${MODPY_VERSION}/site-packages/hvac/api/auth_methods/oidc.py
 lib/python${MODPY_VERSION}/site-packages/hvac/api/auth_methods/okta.py
 lib/python${MODPY_VERSION}/site-packages/hvac/api/auth_methods/radius.py
@@ -106,6 +103,8 @@ lib/python${MODPY_VERSION}/site-packages
 lib/python${MODPY_VERSION}/site-packages/hvac/api/secrets_engines/${MODPY_PYCACHE}kv_v1.${MODPY_PYC_MAGIC_TAG}pyc
 lib/python${MODPY_VERSION}/site-packages/hvac/api/secrets_engines/${MODPY_PYCACHE}kv_v2.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/python${MODPY_VERSION}/site-packages/hvac/api/secrets_engines/${MODPY_PYCACHE}kv_v2.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/hvac/api/secrets_engines/${MODPY_PYCACHE}ldap.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/hvac/api/secrets_engines/${MODPY_PYCACHE}ldap.${MODPY_PYC_MAGIC_TAG}pyc
 lib/python${MODPY_VERSION}/site-packages/hvac/api/secrets_engines/${MODPY_PYCACHE}pki.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/python${MODPY_VERSION}/site-packages/hvac/api/secrets_engines/${MODPY_PYCACHE}pki.${MODPY_PYC_MAGIC_TAG}pyc
 lib/python${MODPY_VERSION}/site-packages/hvac/api/secrets_engines/${MODPY_PYCACHE}rabbitmq.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
@@ -126,6 +125,7 @@ lib/python${MODPY_VERSION}/site-packages
 lib/python${MODPY_VERSION}/site-packages/hvac/api/secrets_engines/kv.py
 lib/python${MODPY_VERSION}/site-packages/hvac/api/secrets_engines/kv_v1.py
 lib/python${MODPY_VERSION}/site-packages/hvac/api/secrets_engines/kv_v2.py
+lib/python${MODPY_VERSION}/site-packages/hvac/api/secrets_engines/ldap.py
 lib/python${MODPY_VERSION}/site-packages/hvac/api/secrets_engines/pki.py
 lib/python${MODPY_VERSION}/site-packages/hvac/api/secrets_engines/rabbitmq.py
 lib/python${MODPY_VERSION}/site-packages/hvac/api/secrets_engines/ssh.py
@@ -156,8 +156,12 @@ lib/python${MODPY_VERSION}/site-packages
 lib/python${MODPY_VERSION}/site-packages/hvac/api/system_backend/${MODPY_PYCACHE}mount.${MODPY_PYC_MAGIC_TAG}pyc
 lib/python${MODPY_VERSION}/site-packages/hvac/api/system_backend/${MODPY_PYCACHE}namespace.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/python${MODPY_VERSION}/site-packages/hvac/api/system_backend/${MODPY_PYCACHE}namespace.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/hvac/api/system_backend/${MODPY_PYCACHE}policies.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/hvac/api/system_backend/${MODPY_PYCACHE}policies.${MODPY_PYC_MAGIC_TAG}pyc
 lib/python${MODPY_VERSION}/site-packages/hvac/api/system_backend/${MODPY_PYCACHE}policy.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/python${MODPY_VERSION}/site-packages/hvac/api/system_backend/${MODPY_PYCACHE}policy.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/hvac/api/system_backend/${MODPY_PYCACHE}quota.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/hvac/api/system_backend/${MODPY_PYCACHE}quota.${MODPY_PYC_MAGIC_TAG}pyc
 lib/python${MODPY_VERSION}/site-packages/hvac/api/system_backend/${MODPY_PYCACHE}raft.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/python${MODPY_VERSION}/site-packages/hvac/api/system_backend/${MODPY_PYCACHE}raft.${MODPY_PYC_MAGIC_TAG}pyc
 lib/python${MODPY_VERSION}/site-packages/hvac/api/system_backend/${MODPY_PYCACHE}seal.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
@@ -176,7 +180,9 @@ lib/python${MODPY_VERSION}/site-packages
 lib/python${MODPY_VERSION}/site-packages/hvac/api/system_backend/lease.py
 lib/python${MODPY_VERSION}/site-packages/hvac/api/system_backend/mount.py
 lib/python${MODPY_VERSION}/site-packages/hvac/api/system_backend/namespace.py
+lib/python${MODPY_VERSION}/site-packages/hvac/api/system_backend/policies.py
 lib/python${MODPY_VERSION}/site-packages/hvac/api/system_backend/policy.py
+lib/python${MODPY_VERSION}/site-packages/hvac/api/system_backend/quota.py
 lib/python${MODPY_VERSION}/site-packages/hvac/api/system_backend/raft.py
 lib/python${MODPY_VERSION}/site-packages/hvac/api/system_backend/seal.py
 lib/python${MODPY_VERSION}/site-packages/hvac/api/system_backend/system_backend_mixin.py