From fa2443419c0de3e822afc8d24701a22bbfcb8982 Mon Sep 17 00:00:00 2001 From: Theo Chatzimichos Date: Wed, 21 Aug 2013 23:01:35 +0200 Subject: Add tests for the accounts lists --- okupy/tests/integration/test_lists.py | 42 ++++++++++++++++++++ okupy/tests/unit/test_lists.py | 74 +++++++++++++++++++++++++++++++++++ 2 files changed, 116 insertions(+) create mode 100644 okupy/tests/integration/test_lists.py create mode 100644 okupy/tests/unit/test_lists.py diff --git a/okupy/tests/integration/test_lists.py b/okupy/tests/integration/test_lists.py new file mode 100644 index 0000000..1c854c2 --- /dev/null +++ b/okupy/tests/integration/test_lists.py @@ -0,0 +1,42 @@ +# vim:fileencoding=utf8:et:ts=4:sts=4:sw=4:ft=python + +from django.conf import settings +from django.test import TestCase + +from django.test.client import Client + +from mockldap import MockLdap + +from .. import vars +from ...common.test_helpers import ldap_users, set_search_seed + +class ListsIntegrationTests(TestCase): + @classmethod + def setUpClass(cls): + cls.mockldap = MockLdap(vars.DIRECTORY) + + def setUp(self): + self.client = Client() + self.mockldap.start() + self.ldapobject = self.mockldap[settings.AUTH_LDAP_SERVER_URI] + + def tearDown(self): + self.mockldap.stop() + + def test_devlist_page_uses_correct_template(self): + self.ldapobject.search_s.seed(settings.AUTH_LDAP_USER_BASE_DN, 2, set_search_seed(attr='gentooACL', value='developer.group'))([ldap_users('alice'), ldap_users('jack')]) + response = self.client.get('/devlist/') + self.assertTemplateUsed(response, 'base.html') + self.assertTemplateUsed(response, 'devlist.html') + + def test_former_devlist_page_uses_correct_template(self): + self.ldapobject.search_s.seed(settings.AUTH_LDAP_USER_BASE_DN, 2, set_search_seed(attr='gentooACL', value='retired.group'))([ldap_users('john'), ldap_users('matt')]) + response = self.client.get('/former-devlist/') + self.assertTemplateUsed(response, 'base.html') + self.assertTemplateUsed(response, 'former-devlist.html') + + def test_foundation_members_page_uses_correct_template(self): + self.ldapobject.search_s.seed(settings.AUTH_LDAP_USER_BASE_DN, 2, set_search_seed(attr='gentooACL', value='foundation.group'))([ldap_users('bob'), ldap_users('jack')]) + response = self.client.get('/foundation-members/') + self.assertTemplateUsed(response, 'base.html') + self.assertTemplateUsed(response, 'foundation-members.html') diff --git a/okupy/tests/unit/test_lists.py b/okupy/tests/unit/test_lists.py new file mode 100644 index 0000000..55a302b --- /dev/null +++ b/okupy/tests/unit/test_lists.py @@ -0,0 +1,74 @@ +# vim:fileencoding=utf8:et:ts=4:sts=4:sw=4:ft=python + +from django.conf import settings +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, set_search_seed, ldap_users + + +class ListsUnitTests(OkupyTestCase): + @classmethod + def setUpClass(cls): + cls.mockldap = MockLdap(vars.DIRECTORY) + + def setUp(self): + self.mockldap.start() + self.ldapobject = self.mockldap[settings.AUTH_LDAP_SERVER_URI] + + def tearDown(self): + self.mockldap.stop() + + def test_devlist_url_resolves_to_lists_view(self): + found = resolve('/devlist/') + self.assertEqual(found.func, lists) + + def test_devlist_page_returns_200(self): + self.ldapobject.search_s.seed(settings.AUTH_LDAP_USER_BASE_DN, 2, set_search_seed(attr='gentooACL', value='developer.group'))([ldap_users('alice'), ldap_users('jack')]) + request = set_request(uri='/devlist') + response = lists(request, 'devlist') + self.assertEqual(response.status_code, 200) + + def test_rendered_devlist_page(self): + self.ldapobject.search_s.seed(settings.AUTH_LDAP_USER_BASE_DN, 2, set_search_seed(attr='gentooACL', value='developer.group'))([ldap_users('alice'), ldap_users('jack')]) + request = set_request(uri='/devlist') + response = lists(request, 'devlist') + page_part = '\n alice\n Alice Adams\n City1, Country1\n kde, qt, cluster\n ' + self.assertIn(page_part, response.content) + + def test_former_devlist_url_resolves_to_lists_view(self): + found = resolve('/former-devlist/') + self.assertEqual(found.func, lists) + + def test_former_devlist_page_returns_200(self): + self.ldapobject.search_s.seed(settings.AUTH_LDAP_USER_BASE_DN, 2, set_search_seed(attr='gentooACL', value='retired.group'))([ldap_users('john'), ldap_users('matt')]) + request = set_request(uri='/former-devlist') + response = lists(request, 'former-devlist') + self.assertEqual(response.status_code, 200) + + def test_rendered_former_devlist_page(self): + self.ldapobject.search_s.seed(settings.AUTH_LDAP_USER_BASE_DN, 2, set_search_seed(attr='gentooACL', value='retired.group'))([ldap_users('john'), ldap_users('matt')]) + request = set_request(uri='/former-devlist') + response = lists(request, 'former-devlist') + page_part = '\n john\n John Smith\n City3, Country3\n kernel, security\n \n \n ' + self.assertIn(page_part, response.content) + + def test_foundation_members_list_url_resolves_to_lists_view(self): + found = resolve('/foundation-members/') + self.assertEqual(found.func, lists) + + def test_foundation_members_page_returns_200(self): + self.ldapobject.search_s.seed(settings.AUTH_LDAP_USER_BASE_DN, 2, set_search_seed(attr='gentooACL', value='foundation.group'))([ldap_users('bob'), ldap_users('jack')]) + request = set_request(uri='/foundation-members') + response = lists(request, 'foundation-members') + self.assertEqual(response.status_code, 200) + + def test_rendered_foundation_members_page(self): + self.ldapobject.search_s.seed(settings.AUTH_LDAP_USER_BASE_DN, 2, set_search_seed(attr='gentooACL', value='foundation.group'))([ldap_users('bob'), ldap_users('jack')]) + request = set_request(uri='/foundation-members') + response = lists(request, 'foundation-members') + page_part = '\n bob\n Robert Barker\n City2, Country2\n ' + self.assertIn(page_part, response.content) -- cgit v1.2.3-65-gdbad