mirror of
https://gitlab.archlinux.org/archlinux/aurweb.git
synced 2025-02-03 10:43:03 +01:00
Introduced `get|post` `/passreset` routes. These routes mimic the behavior of the existing PHP implementation, with the exception of HTTP status code returns. Routes added: GET /passreset POST /passreset Routers added: aurweb.routers.accounts * On an unknown user or mismatched resetkey (where resetkey must == user.resetkey), return HTTP status NOT_FOUND (404). * On another error in the request, return HTTP status BAD_REQUEST (400). Both `get|post` routes requires that the current user is **not** authenticated, hence `@auth_required(False, redirect="/")`. + Added auth_required decorator to aurweb.auth. + Added some more utility to aurweb.models.user.User. + Added `partials/error.html` template. + Added `passreset.html` template. + Added aurweb.db.ConnectionExecutor functor for paramstyle logic. Decoupling the executor logic from the database connection logic is needed for us to easily use the same logic with a fastapi database session, when we need to use aurweb.scripts modules. At this point, notification configuration is now required to complete tests involved with notifications properly, like passreset. `conf/config.dev` has been modified to include [notifications] sendmail, sender and reply-to overrides. Dockerfile and .gitlab-ci.yml have been updated to setup /etc/hosts and start postfix before running tests. * setup.cfg: ignore E741, C901 in aurweb.routers.accounts These two warnings (shown in the commit) are not dangerous and a bi-product of maintaining compatibility with our current code flow. Signed-off-by: Kevin Morris <kevr@0cost.org>
32 lines
1.2 KiB
YAML
32 lines
1.2 KiB
YAML
image: archlinux
|
|
|
|
cache:
|
|
key: system-v1
|
|
paths:
|
|
# For some reason Gitlab CI only supports storing cache/artifacts in a path relative to the build directory
|
|
- .pkg-cache
|
|
|
|
before_script:
|
|
- pacman -Syu --noconfirm --noprogressbar --needed --cachedir .pkg-cache
|
|
base-devel git gpgme protobuf pyalpm python-mysql-connector
|
|
python-pygit2 python-srcinfo python-bleach python-markdown
|
|
python-sqlalchemy python-alembic python-pytest python-werkzeug
|
|
python-pytest-tap python-fastapi hypercorn nginx python-authlib
|
|
python-itsdangerous python-httpx python-jinja python-pytest-cov
|
|
python-requests python-aiofiles python-python-multipart
|
|
python-pytest-asyncio python-coverage python-bcrypt
|
|
- bash -c "echo '127.0.0.1' > /etc/hosts"
|
|
- bash -c "echo '::1' >> /etc/hosts"
|
|
|
|
test:
|
|
script:
|
|
- python setup.py install
|
|
- sed -r "s;YOUR_AUR_ROOT;$(pwd);g" conf/config.dev > conf/config
|
|
- AUR_CONFIG=conf/config make -C po all install
|
|
- AUR_CONFIG=conf/config python -m aurweb.initdb
|
|
- make -C test
|
|
- coverage report --include='aurweb/*'
|
|
- coverage xml --include='aurweb/*'
|
|
artifacts:
|
|
reports:
|
|
cobertura: coverage.xml
|