1
0
Fork 0
mirror of https://github.com/Kozea/Radicale.git synced 2025-09-15 20:36:55 +00:00

Fixed tests and added tests for authentication

This commit is contained in:
Jean-Marc Martins 2013-09-06 15:51:59 +02:00
parent d0da9edc14
commit 87ec798f37
2 changed files with 66 additions and 0 deletions

View file

@ -21,6 +21,8 @@ Tests for Radicale.
"""
import base64
import hashlib
import os
import shutil
import sys
@ -32,6 +34,7 @@ sys.path.insert(0, os.path.dirname(os.path.dirname(__file__)))
import radicale
from radicale import config
from radicale.auth import htpasswd
from radicale.storage import filesystem, database
from .helpers import get_file_content
from sqlalchemy.orm import sessionmaker
@ -114,3 +117,22 @@ class GitFileSystem(FileSystem):
class GitMultiFileSystem(GitFileSystem, MultiFileSystem):
"""Base class for multifilesystem tests using Git"""
class HtpasswdAuthSystem(BaseTest):
"""Base class to test Radicale with Htpasswd authentication"""
def setup(self):
self.colpath = tempfile.mkdtemp()
htpasswd_file_path = os.path.join(self.colpath, ".htpasswd")
with open(htpasswd_file_path, "w") as fd:
fd.write('tmp:{SHA}' + base64.b64encode(
hashlib.sha1("bépo").digest()))
config.set("auth", "type", "htpasswd")
self.userpass = base64.b64encode("tmp:bépo")
self.application = radicale.Application()
htpasswd.FILENAME = htpasswd_file_path
htpasswd.ENCRYPTION = "sha1"
def teardown(self):
config.set("auth", "type", "None")
radicale.auth.is_authenticated = lambda *_: True