diff --git a/testing/py3-tenant-schemas-celery/APKBUILD b/testing/py3-tenant-schemas-celery/APKBUILD new file mode 100644 index 0000000000000000000000000000000000000000..76a9a8d7c9e33214364dc88fbf51fb573e91994f --- /dev/null +++ b/testing/py3-tenant-schemas-celery/APKBUILD @@ -0,0 +1,91 @@ +# Contributor: Antoine Martin (ayakael) <dev@ayakael.net> +# Maintainer: Antoine Martin (ayakael) <dev@ayakael.net> +pkgname=py3-tenant-schemas-celery +#_pkgreal is used by apkbuild-pypi to find modules at PyPI +_pkgreal=tenant-schemas-celery +pkgver=3.0.0 +pkgrel=0 +pkgdesc="Celery integration for django-tenant-schemas and django-tenants" +url="https://pypi.python.org/project/tenant-schemas-celery" +# loongarch64|s390x: blocked by py3-celery +arch="noarch !s390x !loongarch64" +license="MIT" +depends="py3-django-tenants py3-celery" +checkdepends="python3-dev py3-pytest py3-freezegun postgresql rabbitmq-server valkey procps-ng" +makedepends="py3-setuptools py3-gpep517 py3-wheel py3-pytest-django py3-pytest-cov" +source=" + $pkgname-$pkgver.tar.gz::https://codeload.github.com/maciej-gol/tenant-schemas-celery/tar.gz/refs/tags/$pkgver + " +builddir="$srcdir/$_pkgreal-$pkgver" +subpackages="$pkgname-pyc" + +build() { + gpep517 build-wheel \ + --wheel-dir .dist \ + --output-fd 3 3>&1 >&2 +} + +check() { + msg "Setting up valkey" + valkey-server >/dev/null 2>&1 & + + export POSTGRES_DB=tenant_celery + export POSTGRES_USER=tenant_celery + export POSTGRES_PASSWORD="qwe123" + + msg "Setting up postgres" + rm -Rf "$srcdir"/tmp + initdb -D "$srcdir"/tmp + postgres -D "$srcdir"/tmp --unix-socket-directories="$srcdir" > "$srcdir"/tmp/psql.log 2>&1 >/dev/null & + + trap "pkill postgres; pkill valkey-server; pkill rabbitmq-server; pkill -f 'python3 -m celery'" 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;" + + msg "Setting up rabbitmq" + # generate test config file to use test certs that are taken from + # Dockerfile in tarred source code + mkdir -p "$srcdir"/rabbitmq-tests + echo "loopback_users = none +ssl_options.fail_if_no_peer_cert = false +" > "$srcdir"/rabbitmq-tests/server.conf + RABBITMQ_CONFIG_FILE="$srcdir"/rabbitmq-tests/server.conf \ + RABBITMQ_SERVER_ERL_ARGS="-setcookie rabbit" \ + RABBITMQ_LOG_BASE="$srcdir"/rabbitmq-tests/log \ + RABBITMQ_PID_FILE="$srcdir"/rabbitmq-tests/rabbit.pid \ + RABBITMQ_MNESIA_BASE="$srcdir"/rabbitmq-tests/mnesia \ + rabbitmq-server > /dev/null 2>&1 & + sleep 5 # Wait for rabbitmq to start + + msg "Testing $pkgname" + python3 -m venv --clear --without-pip --system-site-packages .testenv + .testenv/bin/python3 -m installer .dist/*.whl + + cd test_app + + export DJANGO_SETTINGS_MODULE=test_app.settings + + ../.testenv/bin/python3 -m coverage run manage.py makemigrations + ../.testenv/bin/python3 -m celery -A tenant_schemas_celery.test_app:app worker -l INFO >/dev/null 2>&1 & + sleep 5 # wait for Celery to start + ../.testenv/bin/python3 -m pytest -v ../.testenv/lib/python3.12/site-packages/tenant_schemas_celery + + pkill -f "python3 -m celery" + pkill rabbitmq-server + pkill valkey-server + pkill postgres +} + +package() { + python3 -m installer -d "$pkgdir" \ + .dist/*.whl +} + +sha512sums=" +f52b1b47a7b6b3d4ec75ba4e634b1b2dca694644c86418088411c287176e3ac466b94ef324c592248050dd50d87a5abd0fd00519ffc172450a5c90bfa5f0f6db py3-tenant-schemas-celery-3.0.0.tar.gz +"