Always test bcrypt

This commit is contained in:
Unrud 2022-07-03 12:56:24 +02:00
parent 156ce91f35
commit 5aa2f59b38
3 changed files with 4 additions and 16 deletions

View File

@ -44,16 +44,6 @@ class TestBaseAuthRequests(BaseTest):
"""Test htpasswd authentication with user "tmp" and password "bepo" for """Test htpasswd authentication with user "tmp" and password "bepo" for
``test_matrix`` "ascii" or user "😀" and password "🔑" for ``test_matrix`` "ascii" or user "😀" and password "🔑" for
``test_matrix`` "unicode".""" ``test_matrix`` "unicode"."""
if htpasswd_encryption == "bcrypt":
try:
from passlib.exc import MissingBackendError
from passlib.hash import bcrypt
except ImportError:
pytest.skip("passlib[bcrypt] is not installed")
try:
bcrypt.hash("test-bcrypt-backend")
except MissingBackendError:
pytest.skip("bcrypt backend for passlib is not installed")
htpasswd_file_path = os.path.join(self.colpath, ".htpasswd") htpasswd_file_path = os.path.join(self.colpath, ".htpasswd")
encoding: str = self.configuration.get("encoding", "stock") encoding: str = self.configuration.get("encoding", "stock")
with open(htpasswd_file_path, "w", encoding=encoding) as f: with open(htpasswd_file_path, "w", encoding=encoding) as f:

View File

@ -7,9 +7,7 @@ addopts = --typeguard-packages=radicale
[tox:tox] [tox:tox]
[testenv] [testenv]
extras = extras = test
bcrypt
test
deps = deps =
flake8 flake8
isort isort

View File

@ -49,8 +49,9 @@ WEB_FILES = ["web/internal_data/css/icon.png",
install_requires = ["defusedxml", "passlib", "vobject>=0.9.6", install_requires = ["defusedxml", "passlib", "vobject>=0.9.6",
"python-dateutil>=2.7.3", "python-dateutil>=2.7.3",
"setuptools; python_version<'3.9'"] "setuptools; python_version<'3.9'"]
bcrypt_requires = ["passlib[bcrypt]", "bcrypt"]
# typeguard requires pytest<7 # typeguard requires pytest<7
tests_require = ["pytest<7", "typeguard", "waitress"] test_requires = ["pytest<7", "typeguard", "waitress", *bcrypt_requires]
setup( setup(
name="Radicale", name="Radicale",
@ -69,8 +70,7 @@ setup(
package_data={"radicale": [*WEB_FILES, "py.typed"]}, package_data={"radicale": [*WEB_FILES, "py.typed"]},
entry_points={"console_scripts": ["radicale = radicale.__main__:run"]}, entry_points={"console_scripts": ["radicale = radicale.__main__:run"]},
install_requires=install_requires, install_requires=install_requires,
extras_require={"test": tests_require, extras_require={"test": test_requires, "bcrypt": bcrypt_requires},
"bcrypt": ["passlib[bcrypt]", "bcrypt"]},
keywords=["calendar", "addressbook", "CalDAV", "CardDAV"], keywords=["calendar", "addressbook", "CalDAV", "CardDAV"],
python_requires=">=3.6.0", python_requires=">=3.6.0",
classifiers=[ classifiers=[