aports/community/py3-django-tenants/APKBUILD
Antoine Martin 88f83c04e0 community/py3-django-tenants: upgrade to 3.8.0
* Django 5.2 support
* Python 3.13 support
2025-05-26 14:19:47 +00:00

71 lines
2.5 KiB
Text

# Contributor: Antoine Martin (ayakael) <dev@ayakael.net>
# Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>
pkgname=py3-django-tenants
#_pkgreal is used by apkbuild-pypi to find modules at PyPI
_pkgreal=django-tenants
# mistagged release
_gittag=v3.7.8
pkgver=3.8.0
pkgrel=0
pkgdesc="Tenant support for Django using PostgreSQL schemas."
url="https://pypi.python.org/project/django-tenants"
arch="noarch"
license="MIT"
depends="py3-django py3-psycopg py3-gunicorn py3-coverage"
checkdepends="bash python3-dev py3-pytest postgresql procps-ng"
makedepends="py3-setuptools py3-gpep517 py3-wheel sed"
source="$pkgname-$_gittag.tar.gz::https://github.com/django-tenants/django-tenants/archive/refs/tags/$_gittag.tar.gz"
builddir="$srcdir/$_pkgreal-${_gittag/v}"
subpackages="$pkgname-pyc"
build() {
gpep517 build-wheel \
--wheel-dir .dist \
--output-fd 3 3>&1 >&2
}
check() {
msg "Setting up test environment"
export POSTGRES_DB=dts_test_project
export POSTGRES_USER=postgres
export POSTGRES_PASSWORD="testing"
rm -Rf "$srcdir"/tmp
initdb -D "$srcdir"/tmp
postgres -D "$srcdir"/tmp --unix-socket-directories="$srcdir" > "$srcdir"/tmp/psql.log 2>&1 &
trap "pkill postgres" EXIT
# wait for psql to be ready
while ! pg_isready -h "$srcdir" > /dev/null 2>&1; do
sleep 0.5
done
psql -h "$srcdir" -d postgres -c "CREATE ROLE $POSTGRES_USER PASSWORD '$POSTGRES_PASSWORD' INHERIT LOGIN;"
psql -h "$srcdir" -d postgres -c "CREATE DATABASE $POSTGRES_DB OWNER $POSTGRES_USER ENCODING 'UTF-8';"
psql -h "$srcdir" -d postgres -c "ALTER USER $POSTGRES_USER WITH SUPERUSER;"
python3 -m venv --clear --without-pip --system-site-packages .testenv
.testenv/bin/python3 -m installer .dist/*.whl
msg "Running tests"
cd dts_test_project
# test failures:
# Introduced by https://github.com/django-tenants/django-tenants/pull/997, but manual testing shows no issues
# test_switching_search_path: AssertionError: 3 != 6 : 3 queries executed, 6 expected
# test_switching_search_path_limited_calls: AssertionError: 3 != 4 : 3 queries executed, 4 expected
# test_clone_schema_with_existing_records_and_add_new_records_to_resulting_schema
DJANGO_SETTINGS_MODULE=dts_test_project.settings ../.testenv/bin/python3 -m coverage run manage.py test -v2 django_tenants
pkill postgres
}
package() {
python3 -m installer -d "$pkgdir" \
.dist/*.whl
}
sha512sums="
839db9aca417be398b3581a6eb21c3312862ca0cc9cd79b0b63387ee99f9f6dfdeeefb6b258e5bce4d20f56e8b5ca29a85c94ecdf6e5405d9c108996e29fd8cc py3-django-tenants-v3.7.8.tar.gz
"