/
test_security.py
65 lines (54 loc) · 2.63 KB
/
test_security.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# -*- coding: utf-8 -*-
from imio.helpers.security import fplog
from imio.helpers.security import generate_password
from imio.helpers.security import get_environment
from imio.helpers.security import get_user_from_criteria
from imio.helpers.security import is_develop_environment
from imio.helpers.security import setup_logger
from imio.helpers.testing import IntegrationTestCase
from plone import api
import os
import re
class TestSecurityModule(IntegrationTestCase):
"""
Test all helper methods of security module.
"""
def setUp(self):
if 'IS_DEV_ENV' in os.environ.keys():
del os.environ['IS_DEV_ENV']
if 'ENV' in os.environ.keys():
del os.environ['ENV']
self.portal = self.layer['portal']
def test_fplog(self):
fplog('test_action', 'test_extras')
def test_is_develop_environment(self):
os.environ['IS_DEV_ENV'] = 'false'
self.assertFalse(is_develop_environment())
os.environ['IS_DEV_ENV'] = 'true'
self.assertTrue(is_develop_environment())
def test_get_environment(self):
os.environ['ENV'] = 'staging'
self.assertFalse(is_develop_environment())
self.assertEqual(get_environment(), 'staging')
os.environ['ENV'] = 'dev'
self.assertEqual(get_environment(), 'dev')
self.assertTrue(is_develop_environment())
def test_generate_password(self):
pwd = generate_password(length=10, digits=1, upper=1, lower=1, special=1, readable=False)
self.assertEqual(len(pwd), 10)
self.assertIsNotNone(re.search(r'\d', pwd))
self.assertIsNotNone(re.search(r'[A-Z]', pwd))
self.assertIsNotNone(re.search(r'[a-z]', pwd))
self.assertIsNotNone(re.search(r'[!#$%&*+<=>?@-]', pwd))
def test_get_user_from_criteria(self):
api.user.create('elementary@mail.be', 'ssmith', '12345', properties={'fullname': 'Stéphan Smith'})
api.user.create('teacher@school.be', 'teacher', '12345', properties={'fullname': 'Paul Smith'})
self.assertEqual(len(get_user_from_criteria(self.portal, email='unknown')), 0)
self.assertEqual(len(get_user_from_criteria(self.portal, fullname='unknown')), 0)
self.assertEqual(len(get_user_from_criteria(self.portal, email='mentary')), 1)
self.assertEqual(len(get_user_from_criteria(self.portal, fullname='Stéph')), 1)
self.assertEqual(len(get_user_from_criteria(self.portal, email='.be')), 2)
self.assertEqual(len(get_user_from_criteria(self.portal, fullname='Smith')), 2)
def test_setup_logger(self):
# just call it to check that it is not broken
self.assertIsNone(setup_logger())