class MiddlewareChatTest(TestCase): """Midleware chat tests""" username = "******" password = "******" def setUp(self): self.group, created = Group.objects.get_or_create(name='test') duser, created = DjangoUser.objects.get_or_create(username=self.username) duser.set_password(self.password) duser.save() self.perspective = Perspective(name='test') self.perspective.set_default_user() self.perspective.save() def test_chat_get_new_messages(self): """Test get_new_messages""" response = self.client.post( '/chat', {'json': '{"cmd":"Get", "location":"#"}'}) self.assertEqual(response.status_code, 200) def test_chat_connect(self): """Test connect""" response = self.client.post( '/chat', {'json': '{"cmd":"Connect", "location":"#"}'}) self.assertEqual(response.status_code, 200) def test_chat_disconnect(self): """Test disconnect""" response = self.client.post( '/chat', {'json': '{"cmd":"Disconnect", "location":"#"}'}) self.assertEqual(response.status_code, 200) def test_chat_add_new_message(self): """Test add_new_message""" response = self.client.post( '/chat', { 'json': '{"cmd":"Message","data":{"id":"test_b5e6d0470a5f4656c3bc77f879c3dbbc","text":"test message"},"location":"#"}'}) # noqa self.assertEqual(response.status_code, 200) def test_chat_exit_from_conference(self): """Test exit_from_conference""" response = self.client.post( '/chat', {'json': '{"cmd":"Exit","data":{"id":"test_b5e6d0470a5f4656c3bc77f879c3dbbc"},"location":"#"}'}) self.assertEqual(response.status_code, 200) def test_chat_add_users_in_conference(self): """Test add_users_in_conference""" response = self.client.post( '/chat', { 'json': '{"cmd":"Add","data":{"id":"guest_006f721c4a59a44d969b9f73fb6360a5","users":["test"]},"location":"#"}'}) # noqa self.assertEqual(response.status_code, 200) def test_chat_create_conference(self): """Test create_conference""" response = self.client.post( '/chat', {'json': '{"cmd":"Create","data":{"title":["Admin"],"users":["admin"]},"location":"#"}'}) self.assertEqual(response.status_code, 200)
def setUp(self): self.group, created = Group.objects.get_or_create(name='test') duser, created = DjangoUser.objects.get_or_create( username=self.username) duser.set_password(self.password) duser.save() self.perspective = Perspective(name='test') self.perspective.set_default_user() self.perspective.save()
def test_model_Perspective_basic(self): """Test Perspective model with minimum parameters""" name = 'test' obj = Perspective(name=name) obj.save() self.assertIsNotNone(obj.id) obj = Perspective.objects.get(id=obj.id) self.assertEqual(obj.name, name) self.assertEqual(obj.details, '') self.assertQuerysetEqual(obj.modules.all(), []) # default is to have all modules available self.assertQuerysetEqual(obj.get_modules(), map(repr, Module.objects.all())) self.assertEqual(obj.get_absolute_url(), '/admin/perspective/view/{}'.format(obj.id))
def test_model_Perspective_full(self): """Test Perspective model with all parameters""" name = 'test' details = 'perspective details' obj = Perspective(name='test', details=details) obj.save() self.assertIsNotNone(obj.id) obj = Perspective.objects.get(id=obj.id) self.assertEqual(obj.name, name) self.assertEqual(obj.details, details) module = Module.objects.all()[0] obj.modules.add(module) self.assertQuerysetEqual(obj.modules.all(), map(repr, [module])) self.assertQuerysetEqual(obj.get_modules(), map(repr, [module])) self.assertEqual(obj.get_absolute_url(), '/admin/perspective/view/{}'.format(obj.id))
def setUp(self): self.group, created = Group.objects.get_or_create(name='test') duser, created = DjangoUser.objects.get_or_create(username=self.username) duser.set_password(self.password) duser.save() self.perspective = Perspective(name='test') self.perspective.set_default_user() self.perspective.save()
class CoreViewsTestNoLogin(TestCase): """Core View tests when not logged in""" username = "******" password = "******" def setUp(self): self.group, created = Group.objects.get_or_create(name='test') self.user, created = DjangoUser.objects.get_or_create(username=self.username) self.user.set_password(self.password) self.user.save() self.perspective = Perspective(name='test') self.perspective.set_default_user() self.perspective.save() def test_user_logout(self): """A logout request from an already logged out user should be harmless """ response = self.client.get(reverse('user_logout')) self.assertRedirects(response, reverse('user_login')) self.assertNotIn('_auth_user_id', self.client.session) def test_user_login(self): """Test login page at /login""" response = self.client.post(reverse('user_login'), {'username': self.username, 'password': self.password}) self.assertRedirects(response, '/') self.assertEqual(self.client.session['_auth_user_id'], self.user.pk) def test_logo(self): """Just test that the logo view works""" response = self.client.get(reverse('core_logo_image')) self.assertEquals(response.status_code, 200) def test_home(self): """Test home page at /""" response = self.client.get('/') # Redirects as unauthenticated self.assertRedirects(response, reverse('user_login')) def test_index_perspectives_out(self): """Test page at /admin/perspectives/""" response = self.client.get(reverse('core_admin_index_perspectives')) self.assertRedirects(response, reverse('user_login')) def test_perspective_add_out(self): """Test add perspective page at /admin/perspective/add""" response = self.client.get(reverse('core_admin_perspective_add')) self.assertRedirects(response, reverse('user_login')) def test_perspective_view_out(self): """Test perspective view at /admin/perspective/view/<perspective_id>""" response = self.client.get(reverse('core_admin_perspective_view', args=[self.perspective.id])) self.assertRedirects(response, reverse('user_login')) def test_perspective_edit_out(self): """Test perspective add at /admin/perspective/edit/<perspective_id>""" response = self.client.get(reverse('core_admin_perspective_edit', args=[self.perspective.id])) self.assertRedirects(response, reverse('user_login')) def test_perspective_delete_out(self): """Test perspective delete at /admin/perspective/delete/<perspective_id>""" response = self.client.get(reverse('core_admin_perspective_delete', args=[self.perspective.id])) self.assertRedirects(response, reverse('user_login')) # Modules def test_index_modules_out(self): """Test index modules page at /admin/modules/""" response = self.client.get(reverse('core_admin_index_modules')) self.assertRedirects(response, reverse('user_login')) # Users def test_index_users_out(self): """Test index users page at /admin/users/""" response = self.client.get(reverse('core_admin_index_users')) self.assertRedirects(response, reverse('user_login')) def test_core_user_add_out(self): """Test user add at /admin/user/add""" response = self.client.get(reverse('core_admin_user_add')) self.assertRedirects(response, reverse('user_login')) def test_core_user_invite_out(self): """Test user invite at /admin/user/invite""" response = self.client.get(reverse('core_admin_user_invite')) self.assertRedirects(response, reverse('user_login')) # Groups def test_index_groups_out(self): """Test index groups at /admin/groups/""" response = self.client.get(reverse('core_admin_index_groups')) self.assertRedirects(response, reverse('user_login')) def test_core_group_add_out(self): """Test group add at /admin/group/add""" response = self.client.get(reverse('core_admin_group_add')) self.assertRedirects(response, reverse('user_login')) def test_core_group_view_out(self): """Test group view at /admin/group/view/<group_id>""" response = self.client.get(reverse('core_admin_group_view', args=[self.group.id])) self.assertRedirects(response, reverse('user_login')) def test_core_group_edit_out(self): """Test group edit at /admin/group/edit/<group_id>""" response = self.client.get(reverse('core_admin_group_edit', args=[self.group.id])) self.assertRedirects(response, reverse('user_login')) def test_core_group_delete_out(self): """Test group delete at /admin/group/delete/<group_id>""" response = self.client.get(reverse('core_admin_group_delete', args=[self.group.id])) self.assertRedirects(response, reverse('user_login')) # Settings def test_core_settings_view_out(self): """Test isettings view at /admin/settings/view/""" response = self.client.get(reverse('core_settings_view')) self.assertRedirects(response, reverse('user_login')) def test_core_settings_edit_out(self): """Test settings edit at /admin/settings/edit/""" response = self.client.get(reverse('core_settings_edit')) self.assertRedirects(response, reverse('user_login'))
class CoreViewsTestLoggedIn(TestCase): """Core View tests when logged in""" username = "******" password = "******" def setUp(self): self.group, created = Group.objects.get_or_create(name='test') duser, created = DjangoUser.objects.get_or_create(username=self.username) duser.set_password(self.password) duser.save() self.user = duser self.perspective = Perspective(name='test') self.perspective.set_default_user() self.perspective.save() self.client.login(username=self.username, password=self.password) def test_user_logout(self): """Test logout page at /logout""" response = self.client.get(reverse('user_logout')) self.assertRedirects(response, reverse('user_login')) self.assertNotIn('_auth_user_id', self.client.session) def test_user_login(self): """Test login page at /login""" response = self.client.post(reverse('user_login'), {'username': self.username, 'password': self.password}) self.assertRedirects(response, reverse('user_denied')) def test_home_login(self): """Test home page with login at /""" response = self.client.get('/') self.assertEquals(response.status_code, 200) self.assertEqual(self.client.session['_auth_user_id'], self.user.pk) # Perspectives def test_index_perspectives_login(self): """Test page with login at /admin/perspectives/""" response = self.client.get(reverse('core_admin_index_perspectives')) self.assertEquals(response.status_code, 200) def test_perspective_add(self): """Test index page with login at /admin/perspective/add""" response = self.client.get(reverse('core_admin_perspective_add')) self.assertEquals(response.status_code, 200) def test_perspective_view(self): """Test index page with login at /admin/perspective/view/<perspective_id>""" response = self.client.get(reverse('core_admin_perspective_view', args=[self.perspective.id])) self.assertEquals(response.status_code, 200) def test_perspective_edit(self): """Test index page with login at /admin/perspective/edit/<perspective_id>""" response = self.client.get(reverse('core_admin_perspective_edit', args=[self.perspective.id])) self.assertEquals(response.status_code, 200) def test_perspective_delete(self): """Test index page with login at /admin/perspective/delete/<perspective_id>""" response = self.client.get(reverse('core_admin_perspective_delete', args=[self.perspective.id])) self.assertEquals(response.status_code, 200) # Modules def test_index_modules_login(self): """Test page with login at /admin/modules/""" response = self.client.get(reverse('core_admin_index_modules')) self.assertEquals(response.status_code, 200) # Users def test_index_users_login(self): """Test page with login at /admin/users/""" response = self.client.get(reverse('core_admin_index_users')) self.assertEquals(response.status_code, 200) def test_core_user_add(self): """Test page with login at /admin/user/add""" name = 'newuser' password = '******' data = {'name': name, 'password': password, 'password_again': password} response = self.client.post(path=reverse('core_admin_user_add'), data=data) self.assertEquals(response.status_code, 302) profile = User.objects.get(name=name) self.assertEquals(profile.name, name) self.assertRedirects(response, reverse('core_admin_user_view', args=[profile.id])) self.assertEquals(self.client.login(username=name, password=password), True) self.client.logout() response = self.client.post('/accounts/login', {'username': name, 'password': password}) self.assertRedirects(response, '/') def test_core_user_delete(self): """Test page with login at /admin/user/delete""" name = 'newuser' password = '******' user, created = DjangoUser.objects.get_or_create(username=name) if created: user.set_password(password) user.save() response = self.client.post(path=reverse('core_admin_user_delete', args=[user.profile.id]), data={'delete': ''}) self.assertRedirects(response, reverse('core_admin_index_users')) with self.assertRaises(User.DoesNotExist): User.objects.get(name=name) with self.assertRaises(DjangoUser.DoesNotExist): DjangoUser.objects.get(username=name) def test_core_user_invite(self): """Test page with login at /admin/user/invite""" response = self.client.get(reverse('core_admin_user_invite')) self.assertEquals(response.status_code, 200) # Groups def test_index_groups_login(self): """Test page with login at /admin/groups/""" response = self.client.get(reverse('core_admin_index_groups')) self.assertEquals(response.status_code, 200) def test_core_group_add(self): """Test page with login at /admin/group/add""" response = self.client.get(reverse('core_admin_group_add')) self.assertEquals(response.status_code, 200) def test_core_group_view(self): """Test index page with login at /admin/group/view/<group_id>""" response = self.client.get(reverse('core_admin_group_view', args=[self.group.id])) self.assertEquals(response.status_code, 200) def test_core_group_edit(self): """Test index page with login at /admin/group/edit/<group_id>""" response = self.client.get(reverse('core_admin_group_edit', args=[self.group.id])) self.assertEquals(response.status_code, 200) def test_core_group_delete(self): """Test index page with login at /admin/group/delete/<group_id>""" response = self.client.get(reverse('core_admin_group_delete', args=[self.group.id])) self.assertEquals(response.status_code, 200) # Settings def test_core_settings_view(self): """Test index page with login at /admin/settings/view/""" response = self.client.get(reverse('core_settings_view')) self.assertEquals(response.status_code, 200) def test_core_settings_edit(self): """Test index page with login at /admin/settings/edit/""" response = self.client.get(reverse('core_settings_edit')) self.assertEquals(response.status_code, 200)
class MiddlewareChatTest(TestCase): """Midleware chat tests""" username = "******" password = "******" def setUp(self): self.group, created = Group.objects.get_or_create(name='test') duser, created = DjangoUser.objects.get_or_create( username=self.username) duser.set_password(self.password) duser.save() self.perspective = Perspective(name='test') self.perspective.set_default_user() self.perspective.save() def test_chat_get_new_messages(self): """Test get_new_messages""" response = self.client.post('/chat', {'json': '{"cmd":"Get", "location":"#"}'}) self.assertEqual(response.status_code, 200) def test_chat_connect(self): """Test connect""" response = self.client.post( '/chat', {'json': '{"cmd":"Connect", "location":"#"}'}) self.assertEqual(response.status_code, 200) def test_chat_disconnect(self): """Test disconnect""" response = self.client.post( '/chat', {'json': '{"cmd":"Disconnect", "location":"#"}'}) self.assertEqual(response.status_code, 200) def test_chat_add_new_message(self): """Test add_new_message""" response = self.client.post( '/chat', { 'json': '{"cmd":"Message","data":{"id":"test_b5e6d0470a5f4656c3bc77f879c3dbbc","text":"test message"},"location":"#"}' }) # noqa self.assertEqual(response.status_code, 200) def test_chat_exit_from_conference(self): """Test exit_from_conference""" response = self.client.post( '/chat', { 'json': '{"cmd":"Exit","data":{"id":"test_b5e6d0470a5f4656c3bc77f879c3dbbc"},"location":"#"}' }) self.assertEqual(response.status_code, 200) def test_chat_add_users_in_conference(self): """Test add_users_in_conference""" response = self.client.post( '/chat', { 'json': '{"cmd":"Add","data":{"id":"guest_006f721c4a59a44d969b9f73fb6360a5","users":["test"]},"location":"#"}' }) # noqa self.assertEqual(response.status_code, 200) def test_chat_create_conference(self): """Test create_conference""" response = self.client.post( '/chat', { 'json': '{"cmd":"Create","data":{"title":["Admin"],"users":["admin"]},"location":"#"}' }) self.assertEqual(response.status_code, 200)
class CoreViewsTestNoLogin(TestCase): """Core View tests when not logged in""" username = "******" password = "******" def setUp(self): self.group, created = Group.objects.get_or_create(name='test') self.user, created = DjangoUser.objects.get_or_create( username=self.username) self.user.set_password(self.password) self.user.save() self.perspective = Perspective(name='test') self.perspective.set_default_user() self.perspective.save() def test_user_logout(self): """A logout request from an already logged out user should be harmless """ response = self.client.get(reverse('user_logout')) self.assertRedirects(response, reverse('user_login')) self.assertNotIn('_auth_user_id', self.client.session) def test_user_login(self): """Test login page at /login""" response = self.client.post(reverse('user_login'), { 'username': self.username, 'password': self.password }) self.assertRedirects(response, '/') self.assertEqual(self.client.session['_auth_user_id'], self.user.pk) def test_logo(self): """Just test that the logo view works""" response = self.client.get(reverse('core_logo_image')) self.assertEquals(response.status_code, 200) def test_home(self): """Test home page at /""" response = self.client.get('/') # Redirects as unauthenticated self.assertRedirects(response, reverse('user_login')) def test_index_perspectives_out(self): """Test page at /admin/perspectives/""" response = self.client.get(reverse('core_admin_index_perspectives')) self.assertRedirects(response, reverse('user_login')) def test_perspective_add_out(self): """Test add perspective page at /admin/perspective/add""" response = self.client.get(reverse('core_admin_perspective_add')) self.assertRedirects(response, reverse('user_login')) def test_perspective_view_out(self): """Test perspective view at /admin/perspective/view/<perspective_id>""" response = self.client.get( reverse('core_admin_perspective_view', args=[self.perspective.id])) self.assertRedirects(response, reverse('user_login')) def test_perspective_edit_out(self): """Test perspective add at /admin/perspective/edit/<perspective_id>""" response = self.client.get( reverse('core_admin_perspective_edit', args=[self.perspective.id])) self.assertRedirects(response, reverse('user_login')) def test_perspective_delete_out(self): """Test perspective delete at /admin/perspective/delete/<perspective_id>""" response = self.client.get( reverse('core_admin_perspective_delete', args=[self.perspective.id])) self.assertRedirects(response, reverse('user_login')) # Modules def test_index_modules_out(self): """Test index modules page at /admin/modules/""" response = self.client.get(reverse('core_admin_index_modules')) self.assertRedirects(response, reverse('user_login')) # Users def test_index_users_out(self): """Test index users page at /admin/users/""" response = self.client.get(reverse('core_admin_index_users')) self.assertRedirects(response, reverse('user_login')) def test_core_user_add_out(self): """Test user add at /admin/user/add""" response = self.client.get(reverse('core_admin_user_add')) self.assertRedirects(response, reverse('user_login')) def test_core_user_invite_out(self): """Test user invite at /admin/user/invite""" response = self.client.get(reverse('core_admin_user_invite')) self.assertRedirects(response, reverse('user_login')) # Groups def test_index_groups_out(self): """Test index groups at /admin/groups/""" response = self.client.get(reverse('core_admin_index_groups')) self.assertRedirects(response, reverse('user_login')) def test_core_group_add_out(self): """Test group add at /admin/group/add""" response = self.client.get(reverse('core_admin_group_add')) self.assertRedirects(response, reverse('user_login')) def test_core_group_view_out(self): """Test group view at /admin/group/view/<group_id>""" response = self.client.get( reverse('core_admin_group_view', args=[self.group.id])) self.assertRedirects(response, reverse('user_login')) def test_core_group_edit_out(self): """Test group edit at /admin/group/edit/<group_id>""" response = self.client.get( reverse('core_admin_group_edit', args=[self.group.id])) self.assertRedirects(response, reverse('user_login')) def test_core_group_delete_out(self): """Test group delete at /admin/group/delete/<group_id>""" response = self.client.get( reverse('core_admin_group_delete', args=[self.group.id])) self.assertRedirects(response, reverse('user_login')) # Settings def test_core_settings_view_out(self): """Test isettings view at /admin/settings/view/""" response = self.client.get(reverse('core_settings_view')) self.assertRedirects(response, reverse('user_login')) def test_core_settings_edit_out(self): """Test settings edit at /admin/settings/edit/""" response = self.client.get(reverse('core_settings_edit')) self.assertRedirects(response, reverse('user_login'))
class CoreViewsTestLoggedIn(TestCase): """Core View tests when logged in""" username = "******" password = "******" def setUp(self): self.group, created = Group.objects.get_or_create(name='test') duser, created = DjangoUser.objects.get_or_create( username=self.username) duser.set_password(self.password) duser.save() self.user = duser self.perspective = Perspective(name='test') self.perspective.set_default_user() self.perspective.save() self.client.login(username=self.username, password=self.password) def test_user_logout(self): """Test logout page at /logout""" response = self.client.get(reverse('user_logout')) self.assertRedirects(response, reverse('user_login')) self.assertNotIn('_auth_user_id', self.client.session) def test_user_login(self): """Test login page at /login""" response = self.client.post(reverse('user_login'), { 'username': self.username, 'password': self.password }) self.assertRedirects(response, reverse('user_denied')) def test_home_login(self): """Test home page with login at /""" response = self.client.get('/') self.assertEquals(response.status_code, 200) self.assertEqual(self.client.session['_auth_user_id'], self.user.pk) # Perspectives def test_index_perspectives_login(self): """Test page with login at /admin/perspectives/""" response = self.client.get(reverse('core_admin_index_perspectives')) self.assertEquals(response.status_code, 200) def test_perspective_add(self): """Test index page with login at /admin/perspective/add""" response = self.client.get(reverse('core_admin_perspective_add')) self.assertEquals(response.status_code, 200) def test_perspective_view(self): """Test index page with login at /admin/perspective/view/<perspective_id>""" response = self.client.get( reverse('core_admin_perspective_view', args=[self.perspective.id])) self.assertEquals(response.status_code, 200) def test_perspective_edit(self): """Test index page with login at /admin/perspective/edit/<perspective_id>""" response = self.client.get( reverse('core_admin_perspective_edit', args=[self.perspective.id])) self.assertEquals(response.status_code, 200) def test_perspective_delete(self): """Test index page with login at /admin/perspective/delete/<perspective_id>""" response = self.client.get( reverse('core_admin_perspective_delete', args=[self.perspective.id])) self.assertEquals(response.status_code, 200) # Modules def test_index_modules_login(self): """Test page with login at /admin/modules/""" response = self.client.get(reverse('core_admin_index_modules')) self.assertEquals(response.status_code, 200) # Users def test_index_users_login(self): """Test page with login at /admin/users/""" response = self.client.get(reverse('core_admin_index_users')) self.assertEquals(response.status_code, 200) def test_core_user_add(self): """Test page with login at /admin/user/add""" name = 'newuser' password = '******' data = {'name': name, 'password': password, 'password_again': password} response = self.client.post(path=reverse('core_admin_user_add'), data=data) self.assertEquals(response.status_code, 302) profile = User.objects.get(name=name) self.assertEquals(profile.name, name) self.assertRedirects( response, reverse('core_admin_user_view', args=[profile.id])) self.assertEquals(self.client.login(username=name, password=password), True) self.client.logout() response = self.client.post('/accounts/login', { 'username': name, 'password': password }) self.assertRedirects(response, '/') def test_core_user_delete(self): """Test page with login at /admin/user/delete""" name = 'newuser' password = '******' user, created = DjangoUser.objects.get_or_create(username=name) if created: user.set_password(password) user.save() response = self.client.post(path=reverse('core_admin_user_delete', args=[user.profile.id]), data={'delete': ''}) self.assertRedirects(response, reverse('core_admin_index_users')) with self.assertRaises(User.DoesNotExist): User.objects.get(name=name) with self.assertRaises(DjangoUser.DoesNotExist): DjangoUser.objects.get(username=name) def test_core_user_invite(self): """Test page with login at /admin/user/invite""" response = self.client.get(reverse('core_admin_user_invite')) self.assertEquals(response.status_code, 200) # Groups def test_index_groups_login(self): """Test page with login at /admin/groups/""" response = self.client.get(reverse('core_admin_index_groups')) self.assertEquals(response.status_code, 200) def test_core_group_add(self): """Test page with login at /admin/group/add""" response = self.client.get(reverse('core_admin_group_add')) self.assertEquals(response.status_code, 200) def test_core_group_view(self): """Test index page with login at /admin/group/view/<group_id>""" response = self.client.get( reverse('core_admin_group_view', args=[self.group.id])) self.assertEquals(response.status_code, 200) def test_core_group_edit(self): """Test index page with login at /admin/group/edit/<group_id>""" response = self.client.get( reverse('core_admin_group_edit', args=[self.group.id])) self.assertEquals(response.status_code, 200) def test_core_group_delete(self): """Test index page with login at /admin/group/delete/<group_id>""" response = self.client.get( reverse('core_admin_group_delete', args=[self.group.id])) self.assertEquals(response.status_code, 200) # Settings def test_core_settings_view(self): """Test index page with login at /admin/settings/view/""" response = self.client.get(reverse('core_settings_view')) self.assertEquals(response.status_code, 200) def test_core_settings_edit(self): """Test index page with login at /admin/settings/edit/""" response = self.client.get(reverse('core_settings_edit')) self.assertEquals(response.status_code, 200)