aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'okupy/tests/unit')
-rw-r--r--okupy/tests/unit/test_auth.py4
-rw-r--r--okupy/tests/unit/test_cipher.py2
-rw-r--r--okupy/tests/unit/test_index.py6
-rw-r--r--okupy/tests/unit/test_lists.py23
-rw-r--r--okupy/tests/unit/test_login.py70
-rw-r--r--okupy/tests/unit/test_openid.py18
-rw-r--r--okupy/tests/unit/test_secondary_password.py86
-rw-r--r--okupy/tests/unit/test_signup.py142
-rw-r--r--okupy/tests/unit/test_ssh.py13
9 files changed, 238 insertions, 126 deletions
diff --git a/okupy/tests/unit/test_auth.py b/okupy/tests/unit/test_auth.py
index 7c445f6..d514999 100644
--- a/okupy/tests/unit/test_auth.py
+++ b/okupy/tests/unit/test_auth.py
@@ -6,8 +6,8 @@ from django.conf import settings
from django.contrib.auth import authenticate
from django.test import TestCase
-from .. import vars
-from ...common.test_helpers import ldap_users, set_request
+from okupy.common.test_helpers import ldap_users, set_request
+from okupy.tests import vars
import base64
diff --git a/okupy/tests/unit/test_cipher.py b/okupy/tests/unit/test_cipher.py
index 0589dfd..a306610 100644
--- a/okupy/tests/unit/test_cipher.py
+++ b/okupy/tests/unit/test_cipher.py
@@ -5,7 +5,7 @@ from unittest import TestCase, SkipTest
from django.contrib.sessions.backends.cache import SessionStore
-from ...crypto.ciphers import cipher, sessionrefcipher
+from okupy.crypto.ciphers import cipher, sessionrefcipher
class OkupyCipherTests(TestCase):
diff --git a/okupy/tests/unit/test_index.py b/okupy/tests/unit/test_index.py
index eb6861e..b35d99a 100644
--- a/okupy/tests/unit/test_index.py
+++ b/okupy/tests/unit/test_index.py
@@ -6,9 +6,9 @@ from django.test import TestCase
from mockldap import MockLdap
-from .. import vars
-from ...accounts.views import index
-from ...common.test_helpers import set_request
+from okupy.accounts.views import index
+from okupy.common.test_helpers import set_request
+from okupy.tests import vars
class IndexUnitTests(TestCase):
diff --git a/okupy/tests/unit/test_lists.py b/okupy/tests/unit/test_lists.py
index 04803f9..b5d7006 100644
--- a/okupy/tests/unit/test_lists.py
+++ b/okupy/tests/unit/test_lists.py
@@ -5,9 +5,9 @@ from django.core.urlresolvers import resolve
from mockldap import MockLdap
-from .. import vars
-from ...accounts.views import lists
-from ...common.test_helpers import OkupyTestCase, set_request
+from okupy.accounts.views import lists
+from okupy.common.test_helpers import OkupyTestCase, set_request
+from okupy.tests import vars
class ListsUnitTests(OkupyTestCase):
@@ -34,7 +34,11 @@ class ListsUnitTests(OkupyTestCase):
def test_rendered_devlist_page(self):
request = set_request(uri='/devlist')
response = lists(request, 'devlist')
- page_part = '<tr>\n <td class="devname"><b>alice</b></td>\n <td>Alice Adams</td>\n <td><a href="http://maps.google.com/maps?q=City1, Country1">City1, Country1</a></td>\n <td class="tableinfo">kde, qt, cluster</td>\n </tr>'
+ page_part = '<tr>\n <td class="devname"><b>alice'
+ '</b></td>\n <td>Alice Adams</td>\n '
+ '<td><a href="http://maps.google.com/maps?q=City1, Country1">'
+ 'City1, Country1</a></td>\n <td class="tableinfo">'
+ 'kde, qt, cluster</td>\n </tr>'
self.assertIn(page_part, response.content)
def test_former_devlist_url_resolves_to_lists_view(self):
@@ -49,7 +53,11 @@ class ListsUnitTests(OkupyTestCase):
def test_rendered_former_devlist_page(self):
request = set_request(uri='/former-devlist')
response = lists(request, 'former-devlist')
- page_part = '<tr>\n <td class="devname"><b>john</b></td>\n <td>John Smith</td>\n <td><a href="http://maps.google.com/maps?q=City3, Country3">City3, Country3</a></td>\n <td class="tableinfo">kernel, security</td>\n </tr>'
+ page_part = '<tr>\n <td class="devname"><b>john'
+ '</b></td>\n <td>John Smith</td>\n '
+ '<td><a href="http://maps.google.com/maps?q=City3, Country3">'
+ 'City3, Country3</a></td>\n <td class="tableinfo">'
+ 'kernel, security</td>\n </tr>'
self.assertIn(page_part, response.content)
def test_foundation_members_list_url_resolves_to_lists_view(self):
@@ -64,5 +72,8 @@ class ListsUnitTests(OkupyTestCase):
def test_rendered_foundation_members_page(self):
request = set_request(uri='/foundation-members')
response = lists(request, 'foundation-members')
- page_part = '<tr>\n <td style="color:#5c4f85;"><b>bob</b></td>\n <td>Robert Barker</td>\n <td><a href="http://maps.google.com/maps?q=City2, Country2">City2, Country2</a></td>\n </tr>'
+ page_part = '<tr>\n <td style="color:#5c4f85;"><b>bob'
+ '</b></td>\n <td>Robert Barker</td>\n '
+ '<td><a href="http://maps.google.com/maps?q=City2, Country2">'
+ 'City2, Country2</a></td>\n </tr>'
self.assertIn(page_part, response.content)
diff --git a/okupy/tests/unit/test_login.py b/okupy/tests/unit/test_login.py
index d674150..b602d65 100644
--- a/okupy/tests/unit/test_login.py
+++ b/okupy/tests/unit/test_login.py
@@ -12,11 +12,12 @@ from Crypto import Random
from passlib.hash import ldap_md5_crypt
from mockldap import MockLdap
-from .. import vars
-from ...accounts.views import login, logout
-from ...accounts.forms import LoginForm
-from ...common.test_helpers import OkupyTestCase, set_request, no_database, ldap_users
-from ...crypto.ciphers import cipher
+from okupy.accounts.views import login, logout
+from okupy.accounts.forms import LoginForm
+from okupy.common.test_helpers import (OkupyTestCase, set_request, no_database,
+ ldap_users)
+from okupy.crypto.ciphers import cipher
+from okupy.tests import vars
class LoginUnitTests(OkupyTestCase):
@@ -32,13 +33,15 @@ class LoginUnitTests(OkupyTestCase):
self.mockldap.stop()
def test_incorrect_user_raises_login_failed(self):
- request = set_request(uri='/login', post=vars.LOGIN_WRONG, messages=True)
+ request = set_request(uri='/login', post=vars.LOGIN_WRONG,
+ messages=True)
response = login(request)
response.context = RequestContext(request)
self.assertMessage(response, 'Login failed', 40)
def test_incorrect_user_does_not_get_transferred_in_db(self):
- request = set_request(uri='/login', post=vars.LOGIN_WRONG, messages=True)
+ request = set_request(uri='/login', post=vars.LOGIN_WRONG,
+ messages=True)
login(request)
self.assertEqual(User.objects.count(), 0)
@@ -47,21 +50,25 @@ class LoginUnitTests(OkupyTestCase):
'django_auth_ldap.backend.LDAPBackend',
'django.contrib.auth.backends.ModelBackend'))
def test_no_database_raises_critical(self):
- request = set_request(uri='/login', post=vars.LOGIN_ALICE, messages=True)
+ request = set_request(uri='/login', post=vars.LOGIN_ALICE,
+ messages=True)
response = login(request)
response.context = RequestContext(request)
- self.assertMessage(response, "Can't contact the LDAP server or the database", 40)
+ self.assertMessage(response,
+ "Can't contact the LDAP server or the database", 40)
@no_database()
@override_settings(AUTHENTICATION_BACKENDS=(
'django_auth_ldap.backend.LDAPBackend',
'django.contrib.auth.backends.ModelBackend'))
def test_no_database_sends_notification_mail(self):
- request = set_request(uri='/login', post=vars.LOGIN_ALICE, messages=True)
+ request = set_request(uri='/login', post=vars.LOGIN_ALICE,
+ messages=True)
response = login(request)
response.context = RequestContext(request)
self.assertEqual(len(mail.outbox), 1)
- self.assertTrue(mail.outbox[0].subject.startswith('%sERROR:' % settings.EMAIL_SUBJECT_PREFIX))
+ self.assertTrue(mail.outbox[0].subject.startswith('%sERROR:' %
+ settings.EMAIL_SUBJECT_PREFIX))
def test_correct_user_gets_transferred_in_db(self):
request = set_request(uri='/login', post=vars.LOGIN_ALICE)
@@ -77,17 +84,25 @@ class LoginUnitTests(OkupyTestCase):
def test_secondary_password_is_added_in_login(self):
request = set_request(uri='/login', post=vars.LOGIN_ALICE)
login(request)
- self.assertEqual(len(ldap_users('alice', directory=self.ldapobject.directory)[1]['userPassword']), 2)
+ self.assertEqual(len(ldap_users(
+ 'alice',
+ directory=self.ldapobject.directory)[1]['userPassword']), 2)
self.assertEqual(len(request.session['secondary_password']), 48)
def test_secondary_password_is_removed_in_logout(self):
secondary_password = Random.get_random_bytes(48)
- secondary_password_crypt = ldap_md5_crypt.encrypt(b64encode(secondary_password))
- self.ldapobject.directory[ldap_users('alice')[0]]['userPassword'].append(secondary_password_crypt)
- request = set_request(uri='/login', post=vars.LOGIN_ALICE, user=vars.USER_ALICE)
- request.session['secondary_password'] = cipher.encrypt(secondary_password)
+ secondary_password_crypt = ldap_md5_crypt.encrypt(b64encode(
+ secondary_password))
+ self.ldapobject.directory[ldap_users('alice')[0]][
+ 'userPassword'].append(secondary_password_crypt)
+ request = set_request(uri='/login', post=vars.LOGIN_ALICE,
+ user=vars.USER_ALICE)
+ request.session['secondary_password'] = cipher.encrypt(
+ secondary_password)
logout(request)
- self.assertEqual(len(ldap_users('alice', directory=self.ldapobject.directory)[1]['userPassword']), 1)
+ self.assertEqual(len(ldap_users(
+ 'alice',
+ directory=self.ldapobject.directory)[1]['userPassword']), 1)
class LoginUnitTestsNoLDAP(OkupyTestCase):
@@ -103,15 +118,19 @@ class LoginUnitTestsNoLDAP(OkupyTestCase):
def test_rendered_login_form(self):
request = set_request(uri='/login')
response = login(request)
- login_form_part = '<input id="id_username" maxlength="100" name="username" type="text" />'
+ login_form_part = '<input id="id_username" maxlength="100"'
+ 'name="username" type="text" />'
self.assertIn(login_form_part, response.content)
def test_empty_user_raises_form_error_messages(self):
request = set_request(uri='/login')
response = login(request)
- response.context = RequestContext(request, {'login_form': LoginForm(request.POST)})
- self.assertFormError(response, 'login_form', 'username', 'This field is required.')
- self.assertFormError(response, 'login_form', 'password', 'This field is required.')
+ response.context = RequestContext(request, {
+ 'login_form': LoginForm(request.POST)})
+ self.assertFormError(response, 'login_form', 'username',
+ 'This field is required.')
+ self.assertFormError(response, 'login_form', 'password',
+ 'This field is required.')
def test_empty_user_raises_login_failed(self):
request = set_request(uri='/login', post=True, messages=True)
@@ -126,14 +145,17 @@ class LoginUnitTestsNoLDAP(OkupyTestCase):
self.assertMessage(response, 'Login failed', 40)
def test_no_ldap_connection_raises_login_failed_in_login(self):
- request = set_request(uri='/login', post=vars.LOGIN_WRONG, messages=True)
+ request = set_request(uri='/login', post=vars.LOGIN_WRONG,
+ messages=True)
response = login(request)
response.context = RequestContext(request)
self.assertMessage(response, 'Login failed', 40)
def test_no_ldap_connection_in_logout_sends_notification_mail(self):
- request = set_request(uri='/login', post=vars.LOGIN_ALICE, user=vars.USER_ALICE)
+ request = set_request(uri='/login', post=vars.LOGIN_ALICE,
+ user=vars.USER_ALICE)
request.session['secondary_password'] = 'test'
logout(request)
self.assertEqual(len(mail.outbox), 1)
- self.assertTrue(mail.outbox[0].subject.startswith('%sERROR:' % settings.EMAIL_SUBJECT_PREFIX))
+ self.assertTrue(mail.outbox[0].subject.startswith('%sERROR:' %
+ settings.EMAIL_SUBJECT_PREFIX))
diff --git a/okupy/tests/unit/test_openid.py b/okupy/tests/unit/test_openid.py
index 4d5a75a..0807a3d 100644
--- a/okupy/tests/unit/test_openid.py
+++ b/okupy/tests/unit/test_openid.py
@@ -2,18 +2,18 @@
from django.test import TestCase
-from ...accounts.openid_store import DjangoDBOpenIDStore
+from okupy.accounts.openid_store import DjangoDBOpenIDStore
import time
class OpenIDStoreTests(TestCase):
- def setUp(self):
- self.store = DjangoDBOpenIDStore()
+ def setUp(self):
+ self.store = DjangoDBOpenIDStore()
- def test_nonce_integrity(self):
- nonce = ('http://example.com', time.time(), 'pepper')
- # first one should succeed, the second one should fail because
- # of reused nonce
- self.assertTrue(self.store.useNonce(*nonce))
- self.assertFalse(self.store.useNonce(*nonce))
+ def test_nonce_integrity(self):
+ nonce = ('http://example.com', time.time(), 'pepper')
+ # first one should succeed, the second one should fail because
+ # of reused nonce
+ self.assertTrue(self.store.useNonce(*nonce))
+ self.assertFalse(self.store.useNonce(*nonce))
diff --git a/okupy/tests/unit/test_secondary_password.py b/okupy/tests/unit/test_secondary_password.py
index 885c3cb..ff0a794 100644
--- a/okupy/tests/unit/test_secondary_password.py
+++ b/okupy/tests/unit/test_secondary_password.py
@@ -8,10 +8,11 @@ from Crypto import Random
from mockldap import MockLdap
from passlib.hash import ldap_md5_crypt
-from .. import vars
-from ...common.ldap_helpers import set_secondary_password, remove_secondary_password
-from ...common.test_helpers import set_request, set_search_seed, ldap_users
-from ...crypto.ciphers import cipher
+from okupy.common.ldap_helpers import (set_secondary_password,
+ remove_secondary_password)
+from okupy.common.test_helpers import set_request, ldap_users
+from okupy.crypto.ciphers import cipher
+from okupy.tests import vars
class SecondaryPassword(TestCase):
@@ -35,60 +36,89 @@ class SecondaryPassword(TestCase):
request = set_request(uri='/', user=vars.USER_ALICE)
self.assertEqual(len(ldap_users('alice')[1]['userPassword']), 1)
set_secondary_password(request, 'ldaptest')
- self.assertEqual(len(ldap_users('alice', directory=self.ldapobject.directory)[1]['userPassword']), 2)
+ self.assertEqual(len(ldap_users(
+ 'alice',
+ directory=self.ldapobject.directory)[1]['userPassword']), 2)
def test_remove_leftovers_before_adding_secondary_password(self):
leftover = ldap_md5_crypt.encrypt('leftover_password')
- self.ldapobject.directory[ldap_users('alice')[0]]['userPassword'].append(leftover)
+ self.ldapobject.directory[ldap_users('alice')[0]][
+ 'userPassword'].append(leftover)
request = set_request(uri='/', user=vars.USER_ALICE)
set_secondary_password(request, 'ldaptest')
- self.assertNotIn(leftover, ldap_users('alice', directory=self.ldapobject.directory)[1]['userPassword'])
+ self.assertNotIn(leftover, ldap_users(
+ 'alice', directory=self.ldapobject.directory)[1]['userPassword'])
def test_dont_remove_primary_password_while_cleaning_leftovers(self):
leftover = ldap_md5_crypt.encrypt('leftover_password')
- self.ldapobject.directory[ldap_users('alice')[0]]['userPassword'].append(leftover)
+ self.ldapobject.directory[ldap_users('alice')[0]][
+ 'userPassword'].append(leftover)
request = set_request(uri='/', user=vars.USER_ALICE)
set_secondary_password(request, 'ldaptest')
- self.assertTrue(ldap_md5_crypt.verify('ldaptest', ldap_users('alice', directory=self.ldapobject.directory)[1]['userPassword'][0]))
+ self.assertTrue(ldap_md5_crypt.verify(
+ 'ldaptest', ldap_users(
+ 'alice',
+ directory=self.ldapobject.directory)[1]['userPassword'][0]))
def test_dont_remove_unknown_hashes_while_cleaning_leftovers(self):
leftover = ldap_md5_crypt.encrypt('leftover_password')
- self.ldapobject.directory[ldap_users('alice')[0]]['userPassword'].append(leftover)
+ self.ldapobject.directory[ldap_users('alice')[0]][
+ 'userPassword'].append(leftover)
leftover2 = 'plain_leftover2'
- self.ldapobject.directory[ldap_users('alice')[0]]['userPassword'].append(leftover2)
+ self.ldapobject.directory[ldap_users('alice')[0]][
+ 'userPassword'].append(leftover2)
request = set_request(uri='/', user=vars.USER_ALICE)
set_secondary_password(request, 'ldaptest')
- self.assertIn(leftover2, ldap_users('alice', directory=self.ldapobject.directory)[1]['userPassword'])
+ self.assertIn(leftover2, ldap_users(
+ 'alice', directory=self.ldapobject.directory)[1]['userPassword'])
def test_session_and_ldap_secondary_passwords_match(self):
request = set_request(uri='/', user=vars.USER_ALICE)
set_secondary_password(request, 'ldaptest')
- self.assertTrue(ldap_md5_crypt.verify(b64encode(cipher.decrypt(request.session['secondary_password'], 48)), ldap_users('alice', directory=self.ldapobject.directory)[1]['userPassword'][1]))
+ self.assertTrue(ldap_md5_crypt.verify(b64encode(cipher.decrypt(
+ request.session['secondary_password'], 48)),
+ ldap_users(
+ 'alice',
+ directory=self.ldapobject.directory)[1]['userPassword'][1]))
def test_remove_secondary_password_from_ldap(self):
secondary_password = Random.get_random_bytes(48)
- secondary_password_crypt = ldap_md5_crypt.encrypt(b64encode(secondary_password))
- self.ldapobject.directory[ldap_users('alice')[0]]['userPassword'].append(secondary_password_crypt)
+ secondary_password_crypt = ldap_md5_crypt.encrypt(b64encode(
+ secondary_password))
+ self.ldapobject.directory[ldap_users('alice')[0]][
+ 'userPassword'].append(secondary_password_crypt)
request = set_request(uri='/', user=vars.USER_ALICE)
- request.session['secondary_password'] = cipher.encrypt(secondary_password)
+ request.session['secondary_password'] = cipher.encrypt(
+ secondary_password)
remove_secondary_password(request)
- self.assertNotIn(secondary_password_crypt, ldap_users('alice', directory=self.ldapobject.directory)[1]['userPassword'])
+ self.assertNotIn(secondary_password_crypt, ldap_users(
+ 'alice', directory=self.ldapobject.directory)[1]['userPassword'])
- def test_dont_remove_primary_password_while_removing_secondary_password(self):
+ def test_dont_remove_primary_password_when_removing_secondary_passwd(self):
secondary_password = Random.get_random_bytes(48)
- secondary_password_crypt = ldap_md5_crypt.encrypt(b64encode(secondary_password))
- self.ldapobject.directory[ldap_users('alice')[0]]['userPassword'].append(secondary_password_crypt)
+ secondary_password_crypt = ldap_md5_crypt.encrypt(b64encode(
+ secondary_password))
+ self.ldapobject.directory[ldap_users('alice')[0]][
+ 'userPassword'].append(secondary_password_crypt)
request = set_request(uri='/', user=vars.USER_ALICE)
- request.session['secondary_password'] = cipher.encrypt(secondary_password)
+ request.session['secondary_password'] = cipher.encrypt(
+ secondary_password)
remove_secondary_password(request)
- self.assertTrue(ldap_md5_crypt.verify('ldaptest', ldap_users('alice', directory=self.ldapobject.directory)[1]['userPassword'][0]))
+ self.assertTrue(ldap_md5_crypt.verify('ldaptest', ldap_users(
+ 'alice',
+ directory=self.ldapobject.directory)[1]['userPassword'][0]))
- def test_dont_remove_unknown_hashes_while_removing_secondary_password(self):
+ def test_dont_remove_unknown_hashes_when_removing_secondary_password(self):
secondary_password = Random.get_random_bytes(48)
- secondary_password_crypt = ldap_md5_crypt.encrypt(b64encode(secondary_password))
- self.ldapobject.directory[ldap_users('alice')[0]]['userPassword'].append('unknown_hash')
- self.ldapobject.directory[ldap_users('alice')[0]]['userPassword'].append(secondary_password_crypt)
+ secondary_password_crypt = ldap_md5_crypt.encrypt(b64encode(
+ secondary_password))
+ self.ldapobject.directory[ldap_users('alice')[0]][
+ 'userPassword'].append('unknown_hash')
+ self.ldapobject.directory[ldap_users('alice')[0]][
+ 'userPassword'].append(secondary_password_crypt)
request = set_request(uri='/', user=vars.USER_ALICE)
- request.session['secondary_password'] = cipher.encrypt(secondary_password)
+ request.session['secondary_password'] = cipher.encrypt(
+ secondary_password)
remove_secondary_password(request)
- self.assertIn('unknown_hash', ldap_users('alice', directory=self.ldapobject.directory)[1]['userPassword'])
+ self.assertIn('unknown_hash', ldap_users(
+ 'alice', directory=self.ldapobject.directory)[1]['userPassword'])
diff --git a/okupy/tests/unit/test_signup.py b/okupy/tests/unit/test_signup.py
index 2f4485d..459e3f8 100644
--- a/okupy/tests/unit/test_signup.py
+++ b/okupy/tests/unit/test_signup.py
@@ -8,11 +8,12 @@ from django.template import RequestContext
from mockldap import MockLdap
from passlib.hash import ldap_md5_crypt
-from .. import vars
-from ...accounts.forms import SignupForm
-from ...accounts.models import LDAPUser, Queue
-from ...accounts.views import signup, activate
-from ...common.test_helpers import OkupyTestCase, set_request, no_database, ldap_users
+from okupy.accounts.forms import SignupForm
+from okupy.accounts.models import Queue
+from okupy.accounts.views import signup, activate
+from okupy.common.test_helpers import (OkupyTestCase, set_request, ldap_users,
+ no_database)
+from okupy.tests import vars
class SignupUnitTests(OkupyTestCase):
@@ -50,7 +51,8 @@ class SignupUnitTests(OkupyTestCase):
request = set_request(uri='/signup', post=_form, messages=True)
response = signup(request)
response.context = RequestContext(request)
- self.assertMessage(response, 'Account is already pending activation', 40)
+ self.assertMessage(response,
+ 'Account is already pending activation', 40)
def test_email_already_pending_activation(self):
_form = vars.SIGNUP_TESTUSER.copy()
@@ -59,7 +61,8 @@ class SignupUnitTests(OkupyTestCase):
request = set_request(uri='/signup', post=_form, messages=True)
response = signup(request)
response.context = RequestContext(request)
- self.assertMessage(response, 'Account is already pending activation', 40)
+ self.assertMessage(response,
+ 'Account is already pending activation', 40)
def test_add_queued_account_to_ldap_prints_success_message(self):
vars.QUEUEDUSER.save()
@@ -67,26 +70,35 @@ class SignupUnitTests(OkupyTestCase):
request = set_request(uri=activate_url, messages=True)
response = activate(request, vars.QUEUEDUSER.encrypted_id)
response.context = RequestContext(request)
- self.assertMessage(response, 'Your account has been activated successfully', 25)
+ self.assertMessage(response,
+ 'Your account has been activated successfully', 25)
def test_queued_account_gets_added_to_ldap(self):
vars.QUEUEDUSER.save()
activate_url = '/activate/%s/' % vars.QUEUEDUSER.encrypted_id
request = set_request(activate_url, messages=True)
activate(request, vars.QUEUEDUSER.encrypted_id)
- self.assertTrue(ldap_users(vars.QUEUEDUSER.username, directory=self.ldapobject.directory))
- ldap_account = ldap_users(vars.QUEUEDUSER.username, directory=self.ldapobject.directory)[1]
- self.assertEqual(ldap_account['objectClass'], settings.AUTH_LDAP_USER_OBJECTCLASS)
+ self.assertTrue(ldap_users(vars.QUEUEDUSER.username,
+ directory=self.ldapobject.directory))
+ ldap_account = ldap_users(vars.QUEUEDUSER.username,
+ directory=self.ldapobject.directory)[1]
+ self.assertEqual(ldap_account['objectClass'],
+ settings.AUTH_LDAP_USER_OBJECTCLASS)
self.assertEqual(ldap_account['sn'][0], vars.QUEUEDUSER.last_name)
- self.assertEqual(ldap_account['cn'][0], '%s %s' % (vars.QUEUEDUSER.first_name, vars.QUEUEDUSER.last_name))
- self.assertTrue(ldap_md5_crypt.verify(vars.QUEUEDUSER.password, ldap_account['userPassword'][0]))
- self.assertEqual(ldap_account['givenName'][0], vars.QUEUEDUSER.first_name)
+ self.assertEqual(ldap_account['cn'][0], '%s %s' % (
+ vars.QUEUEDUSER.first_name, vars.QUEUEDUSER.last_name))
+ self.assertTrue(ldap_md5_crypt.verify(vars.QUEUEDUSER.password,
+ ldap_account['userPassword'][0]))
+ self.assertEqual(ldap_account['givenName'][0],
+ vars.QUEUEDUSER.first_name)
self.assertEqual(ldap_account['mail'][0], vars.QUEUEDUSER.email)
self.assertEqual(ldap_account['uid'][0], vars.QUEUEDUSER.username)
self.assertEqual(ldap_account['uidNumber'][0], '1002')
self.assertEqual(ldap_account['gidNumber'][0], '100')
- self.assertEqual(ldap_account['gecos'][0], '%s %s' % (vars.QUEUEDUSER.first_name, vars.QUEUEDUSER.last_name))
- self.assertEqual(ldap_account['homeDirectory'][0], '/home/%s' % vars.QUEUEDUSER.username)
+ self.assertEqual(ldap_account['gecos'][0], '%s %s' % (
+ vars.QUEUEDUSER.first_name, vars.QUEUEDUSER.last_name))
+ self.assertEqual(ldap_account['homeDirectory'][0],
+ '/home/%s' % vars.QUEUEDUSER.username)
self.assertEqual(ldap_account['gentooACL'][0], 'user.group')
def test_add_queued_account_remove_from_queue(self):
@@ -97,46 +109,59 @@ class SignupUnitTests(OkupyTestCase):
self.assertEqual(Queue.objects.count(), 0)
def test_valid_data_to_signup_form_prints_info_message(self):
- request = set_request(uri='/signup', post=vars.SIGNUP_TESTUSER, messages=True)
+ request = set_request(uri='/signup', post=vars.SIGNUP_TESTUSER,
+ messages=True)
response = signup(request)
response.context = RequestContext(request)
- self.assertMessage(response, 'You will shortly receive an activation mail', 20)
+ self.assertMessage(response,
+ 'You will shortly receive an activation mail', 20)
def test_valid_data_to_signup_form_sends_activation_mail(self):
- request = set_request(uri='/signup', post=vars.SIGNUP_TESTUSER, messages=True)
+ request = set_request(uri='/signup', post=vars.SIGNUP_TESTUSER,
+ messages=True)
response = signup(request)
response.context = RequestContext(request)
self.assertEqual(len(mail.outbox), 1)
- self.assertEqual(mail.outbox[0].subject, '%sAccount Activation' % settings.EMAIL_SUBJECT_PREFIX)
+ self.assertEqual(mail.outbox[0].subject, '%sAccount Activation' %
+ settings.EMAIL_SUBJECT_PREFIX)
def test_valid_data_to_signup_form_adds_user_to_queue(self):
- request = set_request(uri='/signup', post=vars.SIGNUP_TESTUSER, messages=True)
+ request = set_request(uri='/signup', post=vars.SIGNUP_TESTUSER,
+ messages=True)
response = signup(request)
response.context = RequestContext(request)
self.assertEqual(Queue.objects.count(), 1)
vars.QUEUEDUSER = Queue.objects.get(pk=1)
- self.assertEqual(vars.QUEUEDUSER.username, vars.SIGNUP_TESTUSER['username'])
- self.assertEqual(vars.QUEUEDUSER.first_name, vars.SIGNUP_TESTUSER['first_name'])
- self.assertEqual(vars.QUEUEDUSER.last_name, vars.SIGNUP_TESTUSER['last_name'])
+ self.assertEqual(vars.QUEUEDUSER.username,
+ vars.SIGNUP_TESTUSER['username'])
+ self.assertEqual(vars.QUEUEDUSER.first_name,
+ vars.SIGNUP_TESTUSER['first_name'])
+ self.assertEqual(vars.QUEUEDUSER.last_name,
+ vars.SIGNUP_TESTUSER['last_name'])
self.assertEqual(vars.QUEUEDUSER.email, vars.SIGNUP_TESTUSER['email'])
- self.assertEqual(vars.QUEUEDUSER.password, vars.SIGNUP_TESTUSER['password_origin'])
+ self.assertEqual(vars.QUEUEDUSER.password,
+ vars.SIGNUP_TESTUSER['password_origin'])
# note: this needs to be kept in line with used cipher
- self.assertRegexpMatches(vars.QUEUEDUSER.encrypted_id, '^[a-zA-Z0-9_-]{22}$')
+ self.assertRegexpMatches(vars.QUEUEDUSER.encrypted_id,
+ '^[a-zA-Z0-9_-]{22}$')
@no_database()
def test_no_database_connection_raises_error_in_signup(self):
- request = set_request(uri='/signup', post=vars.SIGNUP_TESTUSER, messages=True)
+ request = set_request(uri='/signup', post=vars.SIGNUP_TESTUSER,
+ messages=True)
response = signup(request)
response.context = RequestContext(request)
self.assertMessage(response, "Can't contact the database", 40)
@no_database()
def test_no_database_connection_sends_notification_mail_in_signup(self):
- request = set_request(uri='/signup', post=vars.SIGNUP_TESTUSER, messages=True)
+ request = set_request(uri='/signup', post=vars.SIGNUP_TESTUSER,
+ messages=True)
response = signup(request)
response.context = RequestContext(request)
self.assertEqual(len(mail.outbox), 1)
- self.assertTrue(mail.outbox[0].subject.startswith('%sERROR:' % settings.EMAIL_SUBJECT_PREFIX))
+ self.assertTrue(mail.outbox[0].subject.startswith('%sERROR:' %
+ settings.EMAIL_SUBJECT_PREFIX))
@no_database()
def test_no_database_connection_raises_error_in_activation(self):
@@ -146,11 +171,12 @@ class SignupUnitTests(OkupyTestCase):
self.assertMessage(response, "Can't contact the database", 40)
@no_database()
- def test_no_database_connection_sends_notification_mail_in_activation(self):
+ def test_no_database_connection_sends_notificationmail_in_activation(self):
request = set_request('/activate/test', messages=True)
activate(request, vars.QUEUEDUSER.encrypted_id)
self.assertEqual(len(mail.outbox), 1)
- self.assertTrue(mail.outbox[0].subject.startswith('%sERROR:' % settings.EMAIL_SUBJECT_PREFIX))
+ self.assertTrue(mail.outbox[0].subject.startswith('%sERROR:' %
+ settings.EMAIL_SUBJECT_PREFIX))
def test_add_first_user_in_empty_ldap_directory(self):
vars.QUEUEDUSER.save()
@@ -158,8 +184,11 @@ class SignupUnitTests(OkupyTestCase):
self.ldapobject.directory = ldap_users(clean=True)
request = set_request(activate_url, messages=True)
activate(request, vars.QUEUEDUSER.encrypted_id)
- self.assertTrue(ldap_users(vars.QUEUEDUSER.username, directory=self.ldapobject.directory))
- self.assertEqual(ldap_users(vars.QUEUEDUSER.username, directory=self.ldapobject.directory)[1]['uidNumber'][0], '1')
+ self.assertTrue(ldap_users(vars.QUEUEDUSER.username,
+ directory=self.ldapobject.directory))
+ self.assertEqual(ldap_users(
+ vars.QUEUEDUSER.username,
+ directory=self.ldapobject.directory)[1]['uidNumber'][0], '1')
class SignupunitTestsNoLDAP(OkupyTestCase):
@@ -175,27 +204,38 @@ class SignupunitTestsNoLDAP(OkupyTestCase):
def test_rendered_signup_form(self):
request = set_request(uri='/signup')
response = signup(request)
- signup_form_part = '<label for="id_first_name">First Name:</label><input id="id_first_name" maxlength="100" name="first_name" type="text" />'
+ signup_form_part = '<label for="id_first_name">First Name:</label>'
+ '<input id="id_first_name" maxlength="100" name="first_name"'
+ 'type="text" />'
self.assertIn(signup_form_part, response.content)
def test_empty_signup_form_raises_form_error_messages(self):
request = set_request(uri='/signup')
response = signup(request)
- response.context = RequestContext(request, {'signup_form': SignupForm(request.POST)})
- self.assertFormError(response, 'signup_form', 'username', 'This field is required.')
- self.assertFormError(response, 'signup_form', 'first_name', 'This field is required.')
- self.assertFormError(response, 'signup_form', 'last_name', 'This field is required.')
- self.assertFormError(response, 'signup_form', 'email', 'This field is required.')
- self.assertFormError(response, 'signup_form', 'password_origin', 'This field is required.')
- self.assertFormError(response, 'signup_form', 'password_verify', 'This field is required.')
+ response.context = RequestContext(request, {'signup_form':
+ SignupForm(request.POST)})
+ self.assertFormError(response, 'signup_form', 'username',
+ 'This field is required.')
+ self.assertFormError(response, 'signup_form', 'first_name',
+ 'This field is required.')
+ self.assertFormError(response, 'signup_form', 'last_name',
+ 'This field is required.')
+ self.assertFormError(response, 'signup_form', 'email',
+ 'This field is required.')
+ self.assertFormError(response, 'signup_form', 'password_origin',
+ 'This field is required.')
+ self.assertFormError(response, 'signup_form', 'password_verify',
+ 'This field is required.')
def test_passwords_dont_match(self):
_form = vars.SIGNUP_TESTUSER.copy()
_form['password_verify'] = 'wrong'
request = set_request(uri='/signup', post=_form)
response = signup(request)
- response.context = RequestContext(request, {'signup_form': SignupForm(request.POST)})
- self.assertFormError(response, 'signup_form', 'password_verify', "Passwords don't match")
+ response.context = RequestContext(request, {'signup_form':
+ SignupForm(request.POST)})
+ self.assertFormError(response, 'signup_form', 'password_verify',
+ "Passwords don't match")
def test_wrong_activaltion_link_raises_invalid_url(self):
request = set_request(uri='/activate/invalidurl', messages=True)
@@ -204,17 +244,22 @@ class SignupunitTestsNoLDAP(OkupyTestCase):
self.assertMessage(response, 'Invalid URL', 40)
def test_no_ldap_connection_raises_error_in_signup(self):
- request = set_request(uri='/signup', post=vars.SIGNUP_TESTUSER, messages=True)
+ request = set_request(uri='/signup', post=vars.SIGNUP_TESTUSER,
+ messages=True)
response = signup(request)
response.context = RequestContext(request)
self.assertMessage(response, "Can't contact LDAP server", 40)
def test_no_ldap_connection_sends_notification_mail_in_signup(self):
- request = set_request(uri='/signup', post=vars.SIGNUP_TESTUSER, messages=True)
+ request = set_request(uri='/signup', post=vars.SIGNUP_TESTUSER,
+ messages=True)
response = signup(request)
response.context = RequestContext(request)
self.assertEqual(len(mail.outbox), 1)
- self.assertEqual(mail.outbox[0].subject, '%sERROR: {\'desc\': "Can\'t contact LDAP server"}' % settings.EMAIL_SUBJECT_PREFIX)
+ self.assertEqual(
+ mail.outbox[0].subject,
+ '%sERROR: {\'desc\': "Can\'t contact LDAP server"}' %
+ settings.EMAIL_SUBJECT_PREFIX)
def test_no_ldap_connection_raises_error_in_activation(self):
vars.QUEUEDUSER.save()
@@ -231,4 +276,7 @@ class SignupunitTestsNoLDAP(OkupyTestCase):
response = activate(request, vars.QUEUEDUSER.encrypted_id)
response.context = RequestContext(request)
self.assertEqual(len(mail.outbox), 1)
- self.assertEqual(mail.outbox[0].subject, '%sERROR: {\'desc\': "Can\'t contact LDAP server"}' % settings.EMAIL_SUBJECT_PREFIX)
+ self.assertEqual(
+ mail.outbox[0].subject,
+ '%sERROR: {\'desc\': "Can\'t contact LDAP server"}' %
+ settings.EMAIL_SUBJECT_PREFIX)
diff --git a/okupy/tests/unit/test_ssh.py b/okupy/tests/unit/test_ssh.py
index 915be6a..cc4c029 100644
--- a/okupy/tests/unit/test_ssh.py
+++ b/okupy/tests/unit/test_ssh.py
@@ -6,12 +6,11 @@ from django.test.utils import override_settings
import base64
import socket
-
import paramiko
-from ..vars import TEST_SSH_KEY_FOR_NO_USER
-from ...common.ssh import ssh_handler, SSHServer
-from ...common.exceptions import OkupyError
+from okupy import OkupyError
+from okupy.common.ssh import ssh_handler, SSHServer
+from okupy.tests.vars import TEST_SSH_KEY_FOR_NO_USER
@override_settings(SSH_HANDLERS={})
@@ -104,8 +103,8 @@ class SSHUnitTests(TestCase):
def onearg(key):
raise TypeError
- self.assertRaises(TypeError,
- self._server.check_auth_publickey, 'onearg', self._key)
+ self.assertRaises(
+ TypeError, self._server.check_auth_publickey, 'onearg', self._key)
def test_result_caching_works(self):
class Cache(object):
@@ -120,6 +119,7 @@ class SSHUnitTests(TestCase):
return None
cache = Cache()
+
@ssh_handler
def cached(key):
return cache(key)
@@ -170,6 +170,7 @@ class SSHUnitTests(TestCase):
return None
cache = Cache()
+
@ssh_handler
def cached(key):
return cache(key)