Merge lp:~daker/loco-team-portal/fix.tests-2 into lp:loco-team-portal

Proposed by Adnane Belmadiaf
Status: Merged
Approved by: Adnane Belmadiaf
Approved revision: 563
Merged at revision: 564
Proposed branch: lp:~daker/loco-team-portal/fix.tests-2
Merge into: lp:loco-team-portal
Diff against target: 171 lines (+80/-32)
2 files modified
loco_directory/common/launchpad.py (+1/-0)
loco_directory/teams/tests.py (+79/-32)
To merge this branch: bzr merge lp:~daker/loco-team-portal/fix.tests-2
Reviewer Review Type Date Requested Status
LoCo Team Portal Developers Pending
Review via email: mp+135982@code.launchpad.net

Commit message

Fixed the teams app tests

To post a comment you must log in.
Revision history for this message
Tarmac WebDev (tarmac-webdev) wrote :

Attempt to merge into lp:loco-team-portal failed due to conflicts:

text conflict in loco_directory/common/launchpad.py

563. By Adnane Belmadiaf

* Merged trunk

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'loco_directory/common/launchpad.py'
2--- loco_directory/common/launchpad.py 2012-11-18 22:02:56 +0000
3+++ loco_directory/common/launchpad.py 2012-11-26 21:09:19 +0000
4@@ -55,6 +55,7 @@
5 return True
6 if is_debug_user(username):
7 return True
8+ return False
9
10 def get_mugshot_url(url):
11 # Not ideal, but until LP #713873
12
13=== modified file 'loco_directory/teams/tests.py'
14--- loco_directory/teams/tests.py 2011-07-22 16:26:13 +0000
15+++ loco_directory/teams/tests.py 2012-11-26 21:09:19 +0000
16@@ -1,29 +1,75 @@
17 from django.test import TestCase
18-
19+from django.core.urlresolvers import reverse
20+from urllib import urlencode
21+
22+from django.contrib.auth.models import User, Group
23+
24+from django_openid_auth.models import UserOpenID
25+from userprofiles.models import UserProfile
26 from teams.models import *
27 from common import launchpad
28
29-from django.core.urlresolvers import reverse
30-
31-
32-class ACLChecksTestCase(TestCase):
33-# to create this, run:
34-# mkdir teams/fixtures
35-# ./manage.py dumpdata --format xml teams > teams/fixtures/test_data.xml
36- fixtures = ["test_data.xml"]
37-
38+
39+
40+class TestBase(TestCase):
41+
42+ def setUp(self):
43+ # setup test users
44+ # user foo
45+ self.user_foo = User.objects.create(
46+ username='foo',
47+ )
48+ self.user_foo.set_password('test')
49+ self.user_foo.save()
50+
51+ self.useropenid_foo = UserOpenID(user=self.user_foo,
52+ claimed_id='http://example.com/identity_foo',
53+ display_id='http://example.com/identity_foo')
54+ self.useropenid_foo.save()
55+ self.userprofile_foo = UserProfile.objects.create(user=self.user_foo)
56+
57+ # user bar
58+ self.user_bar = User.objects.create(
59+ username='bar',
60+ )
61+ self.user_bar.set_password('test')
62+ self.user_bar.save()
63+ self.useropenid_bar = UserOpenID(user=self.user_bar,
64+ claimed_id='http://example.com/identity_bar',
65+ display_id='http://example.com/identity_bar')
66+ self.useropenid_bar.save()
67+ self.userprofile_bar = UserProfile.objects.create(user=self.user_bar)
68+
69+ # setup test country
70+ self.country = Country.objects.create(name='Test Country')
71+
72+ # setup test team
73+ self.team = Team.objects.create(
74+ lp_name='test-team',
75+ name='Test Team',
76+ owner_profile=self.userprofile_foo,
77+ )
78+
79+ # adding team to county
80+ self.team.countries.add(self.country)
81+ self.team_group = Group.objects.create(
82+ name=self.team.lp_name,
83+ )
84+
85+ # adding user foo to team_group
86+ self.user_foo.groups.add(self.team_group)
87+ self.user_foo.save()
88+
89+class ACLChecksTestCase(TestBase):
90+
91 def testAdminIsATeamChecks(self):
92 """Test if check for a more complicated LoCo Team setup works
93 """
94- teams = Team.objects.all()
95- chile = teams.filter(lp_name="ubuntu-cl")[0]
96- self.assertEquals(launchpad.is_admin_or_owner("pvillavi", chile), True)
97-
98- venezuela = teams.filter(lp_name="ubuntu-ve")[0]
99- self.assertEquals(launchpad.is_admin_or_owner("effie-jayx", venezuela), True)
100- self.assertEquals(launchpad.is_admin_or_owner("jorge", venezuela), False)
101-
102-class EditTeamTestCase(TestCase):
103+ team = Team.objects.get(lp_name="test-team")
104+ self.assertEquals(launchpad.is_admin_or_owner(self.user_foo.username, team), True)
105+ self.assertEquals(launchpad.is_admin_or_owner(self.user_bar.username, team), False)
106+
107+class EditTeamTestCase(TestBase):
108 """
109 test if team update works correct
110 """
111@@ -32,19 +78,22 @@
112 test the team update as anonymous user (not logged in)
113 """
114 #try to access team-update page as not logged in user
115- response = self.client.get(reverse( 'team-edit', args=['ubuntu-de-locoteam'] ), follow=True)
116- self.assertRedirects(response, '/openid/login?next=/teams/ubuntu-de-locoteam/edit', status_code=302, target_status_code=200)
117+
118+ data = { 'next' : '/teams/test-team/edit' }
119+ response = self.client.get(reverse( 'team-edit', args=['test-team'] ), follow=True)
120+ self.assertRedirects(response, '/openid/login/?%s' % urlencode(data), status_code=302, target_status_code=200)
121+
122 #try to update team as not logged in user
123- response = self.client.post(reverse('team-edit', args=['ubuntu-de-locoteam']), {'Country':'Germany', 'forum_url':'http://ubuntuusers.de', })
124- self.assertRedirects(response, '/openid/login?next=/teams/ubuntu-de-locoteam/edit', status_code=302, target_status_code=200)
125-
126+ response = self.client.post(reverse('team-edit', args=['test-team']), {'Country':'Germany', 'forum_url':'http://ubuntuusers.de'}, follow=True)
127+ self.assertRedirects(response, '/openid/login/?%s' % urlencode(data), status_code=302, target_status_code=200)
128+
129 def test_user_with_no_rights(self):
130 """
131 test the team update with a user which has no rights
132 """
133 pass
134 #FIXME How to use a user with no right with openid?
135-
136+
137 def test_user_loco_council(self):
138 """
139 test the team update with a user which is a member of loco council
140@@ -59,20 +108,17 @@
141 pass
142 #FIXME How to use a user with this rights with openid?
143
144-class DisplayNameTestCase(TestCase):
145-
146- def setUp(self):
147- self.team = Team.objects.create(name='Test Team', lp_name='test-team')
148+class DisplayNameTestCase(TestBase):
149
150 def test_override_name(self):
151 # check without override_name
152 self.assertEquals(self.team.display_name, 'Test Team')
153-
154+
155 # check wih override_name
156 self.team.override_name = 'Override Name'
157 self.team.save()
158 self.assertEquals(self.team.display_name, 'Override Name')
159-
160+
161 def test_display_name_in_list(self):
162 self.team.override_name = 'Override Name'
163 self.team.save()
164@@ -88,5 +134,6 @@
165
166 response = self.client.get('/teams/test-team/')
167 self.assertEquals(response.status_code, 200)
168+
169 self.assertContains(response, 'Override Name', 0) # No instances of override_name
170- self.assertContains(response, 'Test Team', 3) # One instance of the team name
171+ self.assertContains(response, 'Test Team', 4) # One instance of the team name

Subscribers

People subscribed via source and target branches