You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@allura.apache.org by jo...@apache.org on 2014/01/10 22:23:15 UTC
[19/36] PEP8 cleanup
http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/c93733ac/Allura/allura/tests/functional/test_auth.py
----------------------------------------------------------------------
diff --git a/Allura/allura/tests/functional/test_auth.py b/Allura/allura/tests/functional/test_auth.py
index 5ac17c6..d9362d4 100644
--- a/Allura/allura/tests/functional/test_auth.py
+++ b/Allura/allura/tests/functional/test_auth.py
@@ -22,13 +22,13 @@ from urlparse import urlparse, parse_qs
import mock
from nose.tools import (
- assert_equal,
- assert_not_equal,
- assert_is_none,
- assert_is_not_none,
- assert_in,
- assert_true
- )
+ assert_equal,
+ assert_not_equal,
+ assert_is_none,
+ assert_is_not_none,
+ assert_in,
+ assert_true
+)
from pylons import tmpl_context as c
from allura.tests import TestController
from allura.tests import decorators as td
@@ -46,72 +46,77 @@ from pylons import request
def unentity(s):
return s.replace('"', '"')
+
class TestAuth(TestController):
def test_login(self):
result = self.app.get('/auth/')
- r = self.app.post('/auth/send_verification_link', params=dict(a='test@example.com'))
+ r = self.app.post('/auth/send_verification_link',
+ params=dict(a='test@example.com'))
email = M.User.query.get(username='test-admin').email_addresses[0]
r = self.app.post('/auth/send_verification_link', params=dict(a=email))
ThreadLocalORMSession.flush_all()
r = self.app.get('/auth/verify_addr', params=dict(a='foo'))
- assert json.loads(self.webflash(r))['status'] == 'error', self.webflash(r)
+ assert json.loads(self.webflash(r))[
+ 'status'] == 'error', self.webflash(r)
ea = M.EmailAddress.query.find().first()
r = self.app.get('/auth/verify_addr', params=dict(a=ea.nonce))
assert json.loads(self.webflash(r))['status'] == 'ok', self.webflash(r)
r = self.app.get('/auth/logout')
r = self.app.post('/auth/do_login', params=dict(
- username='test-user', password='foo'))
+ username='test-user', password='foo'))
r = self.app.post('/auth/do_login', params=dict(
- username='test-user', password='food'))
+ username='test-user', password='food'))
assert 'Invalid login' in str(r), r.showbrowser()
r = self.app.post('/auth/do_login', params=dict(
- username='test-usera', password='foo'))
+ username='test-usera', password='foo'))
assert 'Invalid login' in str(r), r.showbrowser()
@td.with_user_project('test-admin')
def test_prefs(self):
- r = self.app.get('/auth/preferences/', extra_environ=dict(username='test-admin'))
+ r = self.app.get('/auth/preferences/',
+ extra_environ=dict(username='test-admin'))
assert 'test@example.com' not in r
r = self.app.post('/auth/preferences/update', params={
- 'preferences.display_name':'Test Admin',
- 'new_addr.addr':'test@example.com',
- 'new_addr.claim':'Claim Address',
- 'primary_addr':'test-admin@users.localhost',
- 'preferences.email_format':'plain'},
- extra_environ=dict(username='test-admin'))
+ 'preferences.display_name': 'Test Admin',
+ 'new_addr.addr': 'test@example.com',
+ 'new_addr.claim': 'Claim Address',
+ 'primary_addr': 'test-admin@users.localhost',
+ 'preferences.email_format': 'plain'},
+ extra_environ=dict(username='test-admin'))
r = self.app.get('/auth/preferences/')
assert 'test@example.com' in r
r = self.app.post('/auth/preferences/update', params={
- 'preferences.display_name':'Test Admin',
- 'addr-1.ord':'1',
- 'addr-2.ord':'1',
- 'addr-2.delete':'on',
- 'new_addr.addr':'',
- 'primary_addr':'test-admin@users.localhost',
- 'preferences.email_format':'plain'},
- extra_environ=dict(username='test-admin'))
+ 'preferences.display_name': 'Test Admin',
+ 'addr-1.ord': '1',
+ 'addr-2.ord': '1',
+ 'addr-2.delete': 'on',
+ 'new_addr.addr': '',
+ 'primary_addr': 'test-admin@users.localhost',
+ 'preferences.email_format': 'plain'},
+ extra_environ=dict(username='test-admin'))
r = self.app.get('/auth/preferences/')
assert 'test@example.com' not in r
ea = M.EmailAddress.query.get(_id='test-admin@users.localhost')
ea.confirmed = True
ThreadLocalORMSession.flush_all()
r = self.app.post('/auth/preferences/update', params={
- 'preferences.display_name':'Test Admin',
- 'new_addr.addr':'test-admin@users.localhost',
- 'new_addr.claim':'Claim Address',
- 'primary_addr':'test-admin@users.localhost',
- 'preferences.email_format':'plain'},
- extra_environ=dict(username='test-admin'))
+ 'preferences.display_name': 'Test Admin',
+ 'new_addr.addr': 'test-admin@users.localhost',
+ 'new_addr.claim': 'Claim Address',
+ 'primary_addr': 'test-admin@users.localhost',
+ 'preferences.email_format': 'plain'},
+ extra_environ=dict(username='test-admin'))
@td.with_user_project('test-admin')
def test_prefs_subscriptions(self):
r = self.app.get('/auth/subscriptions/',
- extra_environ=dict(username='test-admin'))
+ extra_environ=dict(username='test-admin'))
subscriptions = M.Mailbox.query.find(dict(
user_id=c.user._id, is_flash=False)).all()
# make sure page actually lists all the user's subscriptions
- assert len(subscriptions) > 0, 'Test user has no subscriptions, cannot verify that they are shown'
+ assert len(
+ subscriptions) > 0, 'Test user has no subscriptions, cannot verify that they are shown'
for m in subscriptions:
assert m._id in r, "Page doesn't list subscription for Mailbox._id = %s" % m._id
@@ -130,7 +135,7 @@ class TestAuth(TestController):
for f in r.forms.itervalues():
if f.action == 'update_subscriptions':
form = f
- break;
+ break
assert form is not None, "Can't find subscriptions form"
return form
@@ -149,7 +154,7 @@ class TestAuth(TestController):
@td.with_user_project('test-admin')
def test_prefs_subscriptions_subscribe(self):
resp = self.app.get('/auth/subscriptions/',
- extra_environ=dict(username='test-admin'))
+ extra_environ=dict(username='test-admin'))
form = self._find_subscriptions_form(resp)
# find not subscribed tool, subscribe and verify
field_name = self._find_subscriptions_field(form, subscribed=False)
@@ -165,7 +170,7 @@ class TestAuth(TestController):
@td.with_user_project('test-admin')
def test_prefs_subscriptions_unsubscribe(self):
resp = self.app.get('/auth/subscriptions/',
- extra_environ=dict(username='test-admin'))
+ extra_environ=dict(username='test-admin'))
form = self._find_subscriptions_form(resp)
field_name = self._find_subscriptions_field(form, subscribed=True)
s_id = ObjectId(form.fields[field_name + '.subscription_id'][0].value)
@@ -177,59 +182,62 @@ class TestAuth(TestController):
assert not s, "User still has subscription with Mailbox._id %s" % s_id
def test_format_email(self):
- self.app.post('/auth/subscriptions/update_subscriptions', params={'email_format': 'html', 'subscriptions': ''})
+ self.app.post('/auth/subscriptions/update_subscriptions',
+ params={'email_format': 'html', 'subscriptions': ''})
r = self.app.get('/auth/subscriptions/')
assert '<option selected value="html">HTML</option>' in r
- self.app.post('/auth/subscriptions/update_subscriptions', params={'email_format': 'plain', 'subscriptions': ''})
+ self.app.post('/auth/subscriptions/update_subscriptions',
+ params={'email_format': 'plain', 'subscriptions': ''})
r = self.app.get('/auth/subscriptions/')
assert '<option selected value="plain">Plain Text</option>' in r
- self.app.post('/auth/subscriptions/update_subscriptions', params={'email_format': 'both', 'subscriptions': ''})
+ self.app.post('/auth/subscriptions/update_subscriptions',
+ params={'email_format': 'both', 'subscriptions': ''})
r = self.app.get('/auth/subscriptions/')
assert '<option selected value="both">Combined</option>' in r
def test_api_key(self):
- r = self.app.get('/auth/preferences/')
- assert 'No API token generated' in r
- r = self.app.post('/auth/preferences/gen_api_token', status=302)
- r = self.app.get('/auth/preferences/')
- assert 'No API token generated' not in r
- assert 'API Key:' in r
- assert 'Secret Key:' in r
- r = self.app.post('/auth/preferences/del_api_token', status=302)
- r = self.app.get('/auth/preferences/')
- assert 'No API token generated' in r
+ r = self.app.get('/auth/preferences/')
+ assert 'No API token generated' in r
+ r = self.app.post('/auth/preferences/gen_api_token', status=302)
+ r = self.app.get('/auth/preferences/')
+ assert 'No API token generated' not in r
+ assert 'API Key:' in r
+ assert 'Secret Key:' in r
+ r = self.app.post('/auth/preferences/del_api_token', status=302)
+ r = self.app.get('/auth/preferences/')
+ assert 'No API token generated' in r
@mock.patch('allura.controllers.auth.verify_oid')
def test_login_verify_oid_with_provider(self, verify_oid):
verify_oid.return_value = dict()
result = self.app.get('/auth/login_verify_oid', params=dict(
- provider='http://www.google.com/accounts/o8/id', username='rick446@usa.net'),
- status=200)
+ provider='http://www.google.com/accounts/o8/id', username='rick446@usa.net'),
+ status=200)
verify_oid.assert_called_with('http://www.google.com/accounts/o8/id',
- failure_redirect='.',
- return_to='login_process_oid?return_to=None',
- title='OpenID Login',
- prompt='Click below to continue');
+ failure_redirect='.',
+ return_to='login_process_oid?return_to=None',
+ title='OpenID Login',
+ prompt='Click below to continue')
@mock.patch('allura.controllers.auth.verify_oid')
def test_login_verify_oid_without_provider(self, verify_oid):
verify_oid.return_value = dict()
result = self.app.get('/auth/login_verify_oid', params=dict(
- provider='', username='rick446@usa.net'),
- status=200)
+ provider='', username='rick446@usa.net'),
+ status=200)
verify_oid.assert_called_with('rick446@usa.net',
- failure_redirect='.',
- return_to='login_process_oid?return_to=None',
- title='OpenID Login',
- prompt='Click below to continue');
+ failure_redirect='.',
+ return_to='login_process_oid?return_to=None',
+ title='OpenID Login',
+ prompt='Click below to continue')
@mock.patch('allura.lib.oid_helper.consumer.Consumer')
def test_login_verify_oid_good_provider_no_redirect(self, Consumer):
Consumer().begin().shouldSendRedirect.return_value = False
Consumer().begin().formMarkup.return_value = "<!-- I'm a mock object! -->"
result = self.app.get('/auth/login_verify_oid', params=dict(
- provider='http://www.google.com/accounts/o8/id', username='rick446@usa.net'),
- status=200)
+ provider='http://www.google.com/accounts/o8/id', username='rick446@usa.net'),
+ status=200)
flash = self.webflash(result)
assert_equal(flash, '')
@@ -238,18 +246,19 @@ class TestAuth(TestController):
Consumer().begin().shouldSendRedirect.return_value = True
Consumer().begin().redirectURL.return_value = 'http://some.url/'
result = self.app.get('/auth/login_verify_oid', params=dict(
- provider='http://www.google.com/accounts/o8/id', username='rick446@usa.net'),
- status=302)
+ provider='http://www.google.com/accounts/o8/id', username='rick446@usa.net'),
+ status=302)
assert_equal(result.headers['Location'], 'http://some.url/')
flash = self.webflash(result)
assert_equal(flash, '')
@mock.patch('allura.lib.oid_helper.consumer.Consumer')
def test_login_verify_oid_bad_provider(self, Consumer):
- Consumer().begin.side_effect = oid_helper.consumer.DiscoveryFailure('bad', mock.Mock('response'))
+ Consumer().begin.side_effect = oid_helper.consumer.DiscoveryFailure(
+ 'bad', mock.Mock('response'))
result = self.app.get('/auth/login_verify_oid', params=dict(
- provider='http://www.google.com/accounts/', username='rick446@usa.net'),
- status=302)
+ provider='http://www.google.com/accounts/', username='rick446@usa.net'),
+ status=302)
flash = self.webflash(result)
assert_equal(flash, '{"status": "error", "message": "bad"}')
@@ -257,42 +266,43 @@ class TestAuth(TestController):
def test_login_verify_oid_bad_provider2(self, Consumer):
Consumer().begin.return_value = None
result = self.app.get('/auth/login_verify_oid', params=dict(
- provider='http://www.google.com/accounts/', username='rick446@usa.net'),
- status=302)
+ provider='http://www.google.com/accounts/', username='rick446@usa.net'),
+ status=302)
flash = self.webflash(result)
- assert_equal(flash, '{"status": "error", "message": "No openid services found for <code>http://www.google.com/accounts/</code>"}')
+ assert_equal(
+ flash, '{"status": "error", "message": "No openid services found for <code>http://www.google.com/accounts/</code>"}')
@mock.patch('allura.controllers.auth.verify_oid')
def test_claim_verify_oid_with_provider(self, verify_oid):
verify_oid.return_value = dict()
result = self.app.get('/auth/claim_verify_oid', params=dict(
- provider='http://www.google.com/accounts/o8/id', username='rick446@usa.net'),
- status=200)
+ provider='http://www.google.com/accounts/o8/id', username='rick446@usa.net'),
+ status=200)
verify_oid.assert_called_with('http://www.google.com/accounts/o8/id',
- failure_redirect='claim_oid',
- return_to='claim_process_oid',
- title='Claim OpenID',
- prompt='Click below to continue');
+ failure_redirect='claim_oid',
+ return_to='claim_process_oid',
+ title='Claim OpenID',
+ prompt='Click below to continue')
@mock.patch('allura.controllers.auth.verify_oid')
def test_claim_verify_oid_without_provider(self, verify_oid):
verify_oid.return_value = dict()
result = self.app.get('/auth/claim_verify_oid', params=dict(
- provider='', username='rick446@usa.net'),
- status=200)
+ provider='', username='rick446@usa.net'),
+ status=200)
verify_oid.assert_called_with('rick446@usa.net',
- failure_redirect='claim_oid',
- return_to='claim_process_oid',
- title='Claim OpenID',
- prompt='Click below to continue');
+ failure_redirect='claim_oid',
+ return_to='claim_process_oid',
+ title='Claim OpenID',
+ prompt='Click below to continue')
@mock.patch('allura.lib.oid_helper.consumer.Consumer')
def test_claim_verify_oid_good_provider_no_redirect(self, Consumer):
Consumer().begin().shouldSendRedirect.return_value = False
Consumer().begin().formMarkup.return_value = "<!-- I'm a mock object! -->"
result = self.app.get('/auth/claim_verify_oid', params=dict(
- provider='http://www.google.com/accounts/o8/id', username='rick446@usa.net'),
- status=200)
+ provider='http://www.google.com/accounts/o8/id', username='rick446@usa.net'),
+ status=200)
flash = self.webflash(result)
assert_equal(flash, '')
@@ -301,18 +311,19 @@ class TestAuth(TestController):
Consumer().begin().shouldSendRedirect.return_value = True
Consumer().begin().redirectURL.return_value = 'http://some.url/'
result = self.app.get('/auth/claim_verify_oid', params=dict(
- provider='http://www.google.com/accounts/o8/id', username='rick446@usa.net'),
- status=302)
+ provider='http://www.google.com/accounts/o8/id', username='rick446@usa.net'),
+ status=302)
assert_equal(result.headers['Location'], 'http://some.url/')
flash = self.webflash(result)
assert_equal(flash, '')
@mock.patch('allura.lib.oid_helper.consumer.Consumer')
def test_claim_verify_oid_bad_provider(self, Consumer):
- Consumer().begin.side_effect = oid_helper.consumer.DiscoveryFailure('bad', mock.Mock('response'))
+ Consumer().begin.side_effect = oid_helper.consumer.DiscoveryFailure(
+ 'bad', mock.Mock('response'))
result = self.app.get('/auth/claim_verify_oid', params=dict(
- provider='http://www.google.com/accounts/', username='rick446@usa.net'),
- status=302)
+ provider='http://www.google.com/accounts/', username='rick446@usa.net'),
+ status=302)
flash = self.webflash(result)
assert_equal(flash, '{"status": "error", "message": "bad"}')
@@ -320,36 +331,41 @@ class TestAuth(TestController):
def test_claim_verify_oid_bad_provider2(self, Consumer):
Consumer().begin.return_value = None
result = self.app.get('/auth/claim_verify_oid', params=dict(
- provider='http://www.google.com/accounts/', username='rick446@usa.net'),
- status=302)
+ provider='http://www.google.com/accounts/', username='rick446@usa.net'),
+ status=302)
flash = self.webflash(result)
- assert_equal(flash, '{"status": "error", "message": "No openid services found for <code>http://www.google.com/accounts/</code>"}')
+ assert_equal(
+ flash, '{"status": "error", "message": "No openid services found for <code>http://www.google.com/accounts/</code>"}')
def test_setup_openid_user_current_user(self):
r = self.app.get('/auth/setup_openid_user')
r = self.app.post('/auth/do_setup_openid_user', params=dict(
- username='test-admin', display_name='Test Admin'))
+ username='test-admin', display_name='Test Admin'))
flash = self.webflash(r)
- assert_equal(flash, '{"status": "ok", "message": "Your username has been set to test-admin."}')
+ assert_equal(
+ flash, '{"status": "ok", "message": "Your username has been set to test-admin."}')
def test_setup_openid_user_taken_user(self):
r = self.app.get('/auth/setup_openid_user')
r = self.app.post('/auth/do_setup_openid_user', params=dict(
- username='test-user', display_name='Test User'))
+ username='test-user', display_name='Test User'))
flash = self.webflash(r)
- assert_equal(flash, '{"status": "error", "message": "That username is already taken. Please choose another."}')
+ assert_equal(
+ flash, '{"status": "error", "message": "That username is already taken. Please choose another."}')
def test_setup_openid_user_new_user(self):
r = self.app.get('/auth/setup_openid_user')
r = self.app.post('/auth/do_setup_openid_user', params=dict(
- username='test-alkajs', display_name='Test Alkajs'))
+ username='test-alkajs', display_name='Test Alkajs'))
flash = self.webflash(r)
- assert_equal(flash, '{"status": "ok", "message": "Your username has been set to test-alkajs."}')
+ assert_equal(
+ flash, '{"status": "ok", "message": "Your username has been set to test-alkajs."}')
def test_create_account(self):
r = self.app.get('/auth/create_account')
assert 'Create an Account' in r
- r = self.app.post('/auth/save_new', params=dict(username='aaa',pw='123'))
+ r = self.app.post('/auth/save_new',
+ params=dict(username='aaa', pw='123'))
assert 'Enter a value 8 characters long or more' in r
r = self.app.post(
'/auth/save_new',
@@ -381,14 +397,17 @@ class TestAuth(TestController):
p_nbhd = M.Neighborhood.query.get(name='Projects')
p = M.Project.query.get(shortname='test', neighborhood_id=p_nbhd._id)
self.app.post('/auth/save_new', params=dict(
- username='aaa',
- pw='12345678',
- pw2='12345678',
- display_name='Test Me')).follow()
+ username='aaa',
+ pw='12345678',
+ pw2='12345678',
+ display_name='Test Me')).follow()
user = M.User.query.get(username='aaa')
- assert M.ProjectRole.query.find(dict(user_id=user._id, project_id=p._id)).count() == 0
- r = self.app.get('/p/test/admin/permissions',extra_environ=dict(username='aaa'), status=403)
- assert M.ProjectRole.query.find(dict(user_id=user._id, project_id=p._id)).count() <= 1
+ assert M.ProjectRole.query.find(
+ dict(user_id=user._id, project_id=p._id)).count() == 0
+ r = self.app.get('/p/test/admin/permissions',
+ extra_environ=dict(username='aaa'), status=403)
+ assert M.ProjectRole.query.find(
+ dict(user_id=user._id, project_id=p._id)).count() <= 1
def test_default_lookup(self):
# Make sure that default _lookup() throws 404
@@ -398,16 +417,19 @@ class TestAuth(TestController):
user = M.User.query.get(username='test-admin')
sess = session(user)
assert not user.disabled
- r = self.app.get('/p/test/admin/', extra_environ={'username':'test-admin'})
+ r = self.app.get('/p/test/admin/',
+ extra_environ={'username': 'test-admin'})
assert_equal(r.status_int, 200, 'Redirect to %s' % r.location)
user.disabled = True
sess.save(user)
sess.flush()
user = M.User.query.get(username='test-admin')
assert user.disabled
- r = self.app.get('/p/test/admin/', extra_environ={'username':'test-admin'})
+ r = self.app.get('/p/test/admin/',
+ extra_environ={'username': 'test-admin'})
assert_equal(r.status_int, 302)
- assert_equal(r.location, 'http://localhost/auth/?return_to=%2Fp%2Ftest%2Fadmin%2F')
+ assert_equal(r.location,
+ 'http://localhost/auth/?return_to=%2Fp%2Ftest%2Fadmin%2F')
class TestPreferences(TestController):
@@ -419,14 +441,14 @@ class TestPreferences(TestController):
('Male', '19/08/1988', 'IT', 'Milan', 'Europe/Rome')
result = self.app.get('/auth/user_info/')
- #Check if personal data is properly set
+ # Check if personal data is properly set
r = self.app.post('/auth/user_info/change_personal_data',
- params=dict(
- sex=setsex,
- birthdate=setbirthdate,
- country=setcountry,
- city=setcity,
- timezone=settimezone))
+ params=dict(
+ sex=setsex,
+ birthdate=setbirthdate,
+ country=setcountry,
+ city=setcity,
+ timezone=settimezone))
user = M.User.query.get(username='test-admin')
sex = user.sex
assert sex == setsex
@@ -439,9 +461,9 @@ class TestPreferences(TestController):
timezone = user.timezone
assert timezone == settimezone
- #Check if setting a wrong date everything works correctly
+ # Check if setting a wrong date everything works correctly
r = self.app.post('/auth/user_info/change_personal_data',
- params=dict(birthdate='30/02/1998'))
+ params=dict(birthdate='30/02/1998'))
assert 'Please enter a valid date' in str(r)
user = M.User.query.get(username='test-admin')
sex = user.sex
@@ -455,108 +477,114 @@ class TestPreferences(TestController):
timezone = user.timezone
assert timezone == settimezone
- #Check deleting birthdate
+ # Check deleting birthdate
r = self.app.post('/auth/user_info/change_personal_data',
- params=dict(
- sex=setsex,
- birthdate='',
- country=setcountry,
- city=setcity,
- timezone=settimezone))
+ params=dict(
+ sex=setsex,
+ birthdate='',
+ country=setcountry,
+ city=setcity,
+ timezone=settimezone))
user = M.User.query.get(username='test-admin')
assert user.birthdate is None
@td.with_user_project('test-admin')
def test_contacts(self):
- #Add skype account
+ # Add skype account
testvalue = 'testaccount'
result = self.app.get('/auth/user_info/contacts/')
r = self.app.post('/auth/user_info/contacts/skype_account',
- params=dict(skypeaccount=testvalue))
+ params=dict(skypeaccount=testvalue))
user = M.User.query.get(username='test-admin')
assert user.skypeaccount == testvalue
- #Add social network account
+ # Add social network account
socialnetwork = 'Facebook'
accounturl = 'http://www.facebook.com/test'
r = self.app.post('/auth/user_info/contacts/add_social_network',
- params=dict(socialnetwork=socialnetwork,
- accounturl = accounturl))
+ params=dict(socialnetwork=socialnetwork,
+ accounturl=accounturl))
user = M.User.query.get(username='test-admin')
assert len(user.socialnetworks) == 1 and \
- user.socialnetworks[0].socialnetwork == socialnetwork and \
- user.socialnetworks[0].accounturl == accounturl
+ user.socialnetworks[0].socialnetwork == socialnetwork and \
+ user.socialnetworks[0].accounturl == accounturl
- #Add second social network account
+ # Add second social network account
socialnetwork2 = 'Twitter'
accounturl2 = 'http://twitter.com/test'
r = self.app.post('/auth/user_info/contacts/add_social_network',
- params=dict(socialnetwork=socialnetwork2,
- accounturl = '@test'))
+ params=dict(socialnetwork=socialnetwork2,
+ accounturl='@test'))
user = M.User.query.get(username='test-admin')
assert len(user.socialnetworks) == 2 and \
- ({'socialnetwork':socialnetwork, 'accounturl':accounturl} in user.socialnetworks and \
- {'socialnetwork':socialnetwork2, 'accounturl':accounturl2} in user.socialnetworks)
+ ({'socialnetwork': socialnetwork, 'accounturl': accounturl} in user.socialnetworks and
+ {'socialnetwork': socialnetwork2, 'accounturl': accounturl2} in user.socialnetworks)
- #Remove first social network account
+ # Remove first social network account
r = self.app.post('/auth/user_info/contacts/remove_social_network',
- params=dict(socialnetwork=socialnetwork,
- account = accounturl))
+ params=dict(socialnetwork=socialnetwork,
+ account=accounturl))
user = M.User.query.get(username='test-admin')
assert len(user.socialnetworks) == 1 and \
- {'socialnetwork':socialnetwork2, 'accounturl':accounturl2} in user.socialnetworks
+ {'socialnetwork': socialnetwork2, 'accounturl':
+ accounturl2} in user.socialnetworks
- #Add empty social network account
+ # Add empty social network account
r = self.app.post('/auth/user_info/contacts/add_social_network',
- params=dict(accounturl = accounturl, socialnetwork=''))
+ params=dict(accounturl=accounturl, socialnetwork=''))
user = M.User.query.get(username='test-admin')
assert len(user.socialnetworks) == 1 and \
- {'socialnetwork':socialnetwork2, 'accounturl':accounturl2} in user.socialnetworks
+ {'socialnetwork': socialnetwork2, 'accounturl':
+ accounturl2} in user.socialnetworks
- #Add invalid social network account
+ # Add invalid social network account
r = self.app.post('/auth/user_info/contacts/add_social_network',
- params=dict(accounturl = accounturl, socialnetwork='invalid'))
+ params=dict(accounturl=accounturl, socialnetwork='invalid'))
user = M.User.query.get(username='test-admin')
assert len(user.socialnetworks) == 1 and \
- {'socialnetwork':socialnetwork2, 'accounturl':accounturl2} in user.socialnetworks
+ {'socialnetwork': socialnetwork2, 'accounturl':
+ accounturl2} in user.socialnetworks
- #Add telephone number
+ # Add telephone number
telnumber = '+3902123456'
r = self.app.post('/auth/user_info/contacts/add_telnumber',
- params=dict(newnumber=telnumber))
+ params=dict(newnumber=telnumber))
user = M.User.query.get(username='test-admin')
- assert (len(user.telnumbers) == 1 and (user.telnumbers[0] == telnumber))
+ assert (len(user.telnumbers)
+ == 1 and (user.telnumbers[0] == telnumber))
- #Add second telephone number
+ # Add second telephone number
telnumber2 = '+3902654321'
r = self.app.post('/auth/user_info/contacts/add_telnumber',
- params=dict(newnumber=telnumber2))
+ params=dict(newnumber=telnumber2))
user = M.User.query.get(username='test-admin')
- assert (len(user.telnumbers) == 2 and telnumber in user.telnumbers and telnumber2 in user.telnumbers)
+ assert (len(user.telnumbers)
+ == 2 and telnumber in user.telnumbers and telnumber2 in user.telnumbers)
- #Remove first telephone number
+ # Remove first telephone number
r = self.app.post('/auth/user_info/contacts/remove_telnumber',
- params=dict(oldvalue=telnumber))
+ params=dict(oldvalue=telnumber))
user = M.User.query.get(username='test-admin')
assert (len(user.telnumbers) == 1 and telnumber2 in user.telnumbers)
- #Add website
+ # Add website
website = 'http://www.testurl.com'
r = self.app.post('/auth/user_info/contacts/add_webpage',
- params=dict(newwebsite=website))
+ params=dict(newwebsite=website))
user = M.User.query.get(username='test-admin')
assert (len(user.webpages) == 1 and (website in user.webpages))
- #Add second website
+ # Add second website
website2 = 'http://www.testurl2.com'
r = self.app.post('/auth/user_info/contacts/add_webpage',
- params=dict(newwebsite=website2))
+ params=dict(newwebsite=website2))
user = M.User.query.get(username='test-admin')
- assert (len(user.webpages) == 2 and website in user.webpages and website2 in user.webpages)
+ assert (len(user.webpages)
+ == 2 and website in user.webpages and website2 in user.webpages)
- #Remove first website
+ # Remove first website
r = self.app.post('/auth/user_info/contacts/remove_webpage',
- params=dict(oldvalue=website))
+ params=dict(oldvalue=website))
user = M.User.query.get(username='test-admin')
assert (len(user.webpages) == 1 and website2 in user.webpages)
@@ -564,169 +592,187 @@ class TestPreferences(TestController):
def test_availability(self):
from datetime import time
- #Add availability timeslot
+ # Add availability timeslot
weekday = 'Monday'
- starttime = time(9,0,0)
+ starttime = time(9, 0, 0)
endtime = time(12, 0, 0)
result = self.app.get('/auth/user_info/availability/')
r = self.app.post('/auth/user_info/availability/add_timeslot',
- params=dict(
- weekday=weekday,
- starttime=starttime.strftime('%H:%M'),
- endtime=endtime.strftime('%H:%M')))
+ params=dict(
+ weekday=weekday,
+ starttime=starttime.strftime('%H:%M'),
+ endtime=endtime.strftime('%H:%M')))
user = M.User.query.get(username='test-admin')
- timeslot1dict = dict(week_day=weekday, start_time=starttime, end_time=endtime)
- assert len(user.availability) == 1 and timeslot1dict in user.get_availability_timeslots()
+ timeslot1dict = dict(
+ week_day=weekday, start_time=starttime, end_time=endtime)
+ assert len(
+ user.availability) == 1 and timeslot1dict in user.get_availability_timeslots()
weekday2 = 'Tuesday'
- starttime2 = time(14,0,0)
+ starttime2 = time(14, 0, 0)
endtime2 = time(16, 0, 0)
- #Add second availability timeslot
+ # Add second availability timeslot
r = self.app.post('/auth/user_info/availability/add_timeslot',
- params=dict(
- weekday=weekday2,
- starttime=starttime2.strftime('%H:%M'),
- endtime=endtime2.strftime('%H:%M')))
+ params=dict(
+ weekday=weekday2,
+ starttime=starttime2.strftime('%H:%M'),
+ endtime=endtime2.strftime('%H:%M')))
user = M.User.query.get(username='test-admin')
- timeslot2dict = dict(week_day=weekday2, start_time=starttime2, end_time=endtime2)
+ timeslot2dict = dict(week_day=weekday2,
+ start_time=starttime2, end_time=endtime2)
assert len(user.availability) == 2 and timeslot1dict in user.get_availability_timeslots() \
- and timeslot2dict in user.get_availability_timeslots()
+ and timeslot2dict in user.get_availability_timeslots()
- #Remove availability timeslot
+ # Remove availability timeslot
r = self.app.post('/auth/user_info/availability/remove_timeslot',
- params=dict(
- weekday=weekday,
- starttime=starttime.strftime('%H:%M'),
- endtime=endtime.strftime('%H:%M')))
+ params=dict(
+ weekday=weekday,
+ starttime=starttime.strftime('%H:%M'),
+ endtime=endtime.strftime('%H:%M')))
user = M.User.query.get(username='test-admin')
- assert len(user.availability) == 1 and timeslot2dict in user.get_availability_timeslots()
+ assert len(
+ user.availability) == 1 and timeslot2dict in user.get_availability_timeslots()
- #Add invalid availability timeslot
+ # Add invalid availability timeslot
r = self.app.post('/auth/user_info/availability/add_timeslot',
- params=dict(
- weekday=weekday2,
- starttime=endtime2.strftime('%H:%M'),
- endtime=starttime2.strftime('%H:%M')))
+ params=dict(
+ weekday=weekday2,
+ starttime=endtime2.strftime('%H:%M'),
+ endtime=starttime2.strftime('%H:%M')))
assert 'Invalid period:' in str(r)
user = M.User.query.get(username='test-admin')
- timeslot2dict = dict(week_day=weekday2, start_time=starttime2, end_time=endtime2)
- assert len(user.availability) == 1 and timeslot2dict in user.get_availability_timeslots()
+ timeslot2dict = dict(week_day=weekday2,
+ start_time=starttime2, end_time=endtime2)
+ assert len(
+ user.availability) == 1 and timeslot2dict in user.get_availability_timeslots()
@td.with_user_project('test-admin')
def test_inactivity(self):
from datetime import datetime, timedelta
- #Add inactivity period
+ # Add inactivity period
now = datetime.utcnow().date()
now = datetime(now.year, now.month, now.day)
startdate = now + timedelta(days=1)
enddate = now + timedelta(days=7)
result = self.app.get('/auth/user_info/availability/')
r = self.app.post('/auth/user_info/availability/add_inactive_period',
- params=dict(
- startdate=startdate.strftime('%d/%m/%Y'),
- enddate=enddate.strftime('%d/%m/%Y')))
+ params=dict(
+ startdate=startdate.strftime('%d/%m/%Y'),
+ enddate=enddate.strftime('%d/%m/%Y')))
user = M.User.query.get(username='test-admin')
period1dict = dict(start_date=startdate, end_date=enddate)
- assert len(user.inactiveperiod) == 1 and period1dict in user.get_inactive_periods()
+ assert len(
+ user.inactiveperiod) == 1 and period1dict in user.get_inactive_periods()
- #Add second inactivity period
- startdate2 = now + timedelta(days=24)
+ # Add second inactivity period
+ startdate2 = now + timedelta(days=24)
enddate2 = now + timedelta(days=28)
r = self.app.post('/auth/user_info/availability/add_inactive_period',
- params=dict(
- startdate=startdate2.strftime('%d/%m/%Y'),
- enddate=enddate2.strftime('%d/%m/%Y')))
+ params=dict(
+ startdate=startdate2.strftime('%d/%m/%Y'),
+ enddate=enddate2.strftime('%d/%m/%Y')))
user = M.User.query.get(username='test-admin')
period2dict = dict(start_date=startdate2, end_date=enddate2)
assert len(user.inactiveperiod) == 2 and period1dict in user.get_inactive_periods() \
- and period2dict in user.get_inactive_periods()
+ and period2dict in user.get_inactive_periods()
- #Remove first inactivity period
- r = self.app.post('/auth/user_info/availability/remove_inactive_period',
- params=dict(
- startdate=startdate.strftime('%d/%m/%Y'),
- enddate=enddate.strftime('%d/%m/%Y')))
+ # Remove first inactivity period
+ r = self.app.post(
+ '/auth/user_info/availability/remove_inactive_period',
+ params=dict(
+ startdate=startdate.strftime('%d/%m/%Y'),
+ enddate=enddate.strftime('%d/%m/%Y')))
user = M.User.query.get(username='test-admin')
- assert len(user.inactiveperiod) == 1 and period2dict in user.get_inactive_periods()
+ assert len(
+ user.inactiveperiod) == 1 and period2dict in user.get_inactive_periods()
- #Add invalid inactivity period
+ # Add invalid inactivity period
r = self.app.post('/auth/user_info/availability/add_inactive_period',
- params=dict(
- startdate='NOT/A/DATE',
- enddate=enddate2.strftime('%d/%m/%Y')))
+ params=dict(
+ startdate='NOT/A/DATE',
+ enddate=enddate2.strftime('%d/%m/%Y')))
user = M.User.query.get(username='test-admin')
assert 'Please enter a valid date' in str(r)
- assert len(user.inactiveperiod) == 1 and period2dict in user.get_inactive_periods()
+ assert len(
+ user.inactiveperiod) == 1 and period2dict in user.get_inactive_periods()
@td.with_user_project('test-admin')
def test_skills(self):
from datetime import datetime
- #Add a skill
+ # Add a skill
skill_cat = M.TroveCategory.query.get(show_as_skill=True)
level = 'low'
comment = 'test comment'
result = self.app.get('/auth/user_info/skills/')
r = self.app.post('/auth/user_info/skills/save_skill',
- params=dict(
- level=level,
- comment=comment,
- selected_skill=str(skill_cat.trove_cat_id)))
+ params=dict(
+ level=level,
+ comment=comment,
+ selected_skill=str(skill_cat.trove_cat_id)))
user = M.User.query.get(username='test-admin')
- skilldict = dict(category_id=skill_cat._id, comment=comment, level=level)
+ skilldict = dict(category_id=skill_cat._id,
+ comment=comment, level=level)
assert len(user.skills) == 1 and skilldict in user.skills
- #Add again the same skill
+ # Add again the same skill
level = 'medium'
comment = 'test comment 2'
result = self.app.get('/auth/user_info/skills/')
r = self.app.post('/auth/user_info/skills/save_skill',
- params=dict(
- level=level,
- comment=comment,
- selected_skill=str(skill_cat.trove_cat_id)))
+ params=dict(
+ level=level,
+ comment=comment,
+ selected_skill=str(skill_cat.trove_cat_id)))
user = M.User.query.get(username='test-admin')
- skilldict = dict(category_id=skill_cat._id, comment=comment, level=level)
+ skilldict = dict(category_id=skill_cat._id,
+ comment=comment, level=level)
assert len(user.skills) == 1 and skilldict in user.skills
- #Add an invalid skill
+ # Add an invalid skill
level2 = 'not a level'
comment2 = 'test comment 2'
r = self.app.post('/auth/user_info/skills/save_skill',
- params=dict(
- level=level2,
- comment=comment2,
- selected_skill=str(skill_cat.trove_cat_id)))
+ params=dict(
+ level=level2,
+ comment=comment2,
+ selected_skill=str(skill_cat.trove_cat_id)))
user = M.User.query.get(username='test-admin')
- #Check that everything is as it was before
+ # Check that everything is as it was before
assert len(user.skills) == 1 and skilldict in user.skills
- #Remove a skill
+ # Remove a skill
result = self.app.get('/auth/user_info/skills/')
r = self.app.post('/auth/user_info/skills/remove_skill',
- params=dict(
- categoryid=str(skill_cat.trove_cat_id)))
+ params=dict(
+ categoryid=str(skill_cat.trove_cat_id)))
user = M.User.query.get(username='test-admin')
assert len(user.skills) == 0
@td.with_user_project('test-admin')
def test_user_message(self):
- assert not M.User.query.get(username='test-admin').get_pref('disable_user_messages')
+ assert not M.User.query.get(
+ username='test-admin').get_pref('disable_user_messages')
self.app.post('/auth/preferences/user_message')
- assert M.User.query.get(username='test-admin').get_pref('disable_user_messages')
- self.app.post('/auth/preferences/user_message', params={'allow_user_messages': 'on'})
- assert not M.User.query.get(username='test-admin').get_pref('disable_user_messages')
+ assert M.User.query.get(
+ username='test-admin').get_pref('disable_user_messages')
+ self.app.post('/auth/preferences/user_message',
+ params={'allow_user_messages': 'on'})
+ assert not M.User.query.get(
+ username='test-admin').get_pref('disable_user_messages')
class TestPasswordReset(TestController):
+
@patch('allura.tasks.mail_tasks.sendmail')
@patch('allura.lib.helpers.gen_message_id')
def test_email_unconfirmed(self, gen_message_id, sendmail):
user = M.User.query.get(username='test-admin')
- email = M.EmailAddress.query.find({'claimed_by_user_id': user._id}).first()
+ email = M.EmailAddress.query.find(
+ {'claimed_by_user_id': user._id}).first()
email.confirmed = False
ThreadLocalORMSession.flush_all()
r = self.app.post('/auth/password_recovery_hash', {'email': email._id})
@@ -737,7 +783,8 @@ class TestPasswordReset(TestController):
@patch('allura.lib.helpers.gen_message_id')
def test_user_disabled(self, gen_message_id, sendmail):
user = M.User.query.get(username='test-admin')
- email = M.EmailAddress.query.find({'claimed_by_user_id': user._id}).first()
+ email = M.EmailAddress.query.find(
+ {'claimed_by_user_id': user._id}).first()
user.disabled = True
ThreadLocalORMSession.flush_all()
r = self.app.post('/auth/password_recovery_hash', {'email': email._id})
@@ -748,7 +795,8 @@ class TestPasswordReset(TestController):
@patch('allura.lib.helpers.gen_message_id')
def test_password_reset(self, gen_message_id, sendmail):
user = M.User.query.get(username='test-admin')
- email = M.EmailAddress.query.find({'claimed_by_user_id': user._id}).first()
+ email = M.EmailAddress.query.find(
+ {'claimed_by_user_id': user._id}).first()
email.confirmed = True
ThreadLocalORMSession.flush_all()
old_pw_hash = user.password
@@ -793,16 +841,19 @@ To reset your password on %s, please visit the following URL:
@patch('allura.lib.helpers.gen_message_id')
def test_hash_expired(self, gen_message_id, sendmail):
user = M.User.query.get(username='test-admin')
- email = M.EmailAddress.query.find({'claimed_by_user_id': user._id}).first()
+ email = M.EmailAddress.query.find(
+ {'claimed_by_user_id': user._id}).first()
email.confirmed = True
ThreadLocalORMSession.flush_all()
r = self.app.post('/auth/password_recovery_hash', {'email': email._id})
user = M.User.by_username('test-admin')
hash = user.get_tool_data('AuthPasswordReset', 'hash')
- user.set_tool_data('AuthPasswordReset', hash_expiry=datetime.datetime(2000, 10, 10))
+ user.set_tool_data('AuthPasswordReset',
+ hash_expiry=datetime.datetime(2000, 10, 10))
r = self.app.get('/auth/forgotten_password/%s' % hash.encode('utf-8'))
assert_in('Unable to process reset, please try again', r.follow().body)
- r = self.app.post('/auth/set_new_password/%s' % hash.encode('utf-8'), {'pw': '154321', 'pw2': '154321'})
+ r = self.app.post('/auth/set_new_password/%s' %
+ hash.encode('utf-8'), {'pw': '154321', 'pw2': '154321'})
assert_in('Unable to process reset, please try again', r.follow().body)
@patch('allura.lib.plugin.AuthenticationProvider')
@@ -812,8 +863,10 @@ To reset your password on %s, please visit the following URL:
ap.forgotten_password_process = False
ap.authenticate_request()._id = user._id
self.app.get('/auth/forgotten_password', status=404)
- self.app.post('/auth/set_new_password', {'pw': 'foo', 'pw2': 'foo'}, status=404)
- self.app.post('/auth/password_recovery_hash', {'email': 'foo'}, status=404)
+ self.app.post('/auth/set_new_password',
+ {'pw': 'foo', 'pw2': 'foo'}, status=404)
+ self.app.post('/auth/password_recovery_hash',
+ {'email': 'foo'}, status=404)
class TestOAuth(TestController):
@@ -821,7 +874,8 @@ class TestOAuth(TestController):
def test_register_deregister_app(self):
# register
r = self.app.get('/auth/oauth/')
- r = self.app.post('/auth/oauth/register', params={'application_name': 'oautstapp', 'application_description': 'Oauth rulez'}).follow()
+ r = self.app.post('/auth/oauth/register',
+ params={'application_name': 'oautstapp', 'application_description': 'Oauth rulez'}).follow()
assert 'oautstapp' in r
# deregister
assert_equal(r.forms[0].action, 'deregister')
@@ -831,18 +885,21 @@ class TestOAuth(TestController):
def test_generate_revoke_access_token(self):
# generate
- r = self.app.post('/auth/oauth/register', params={'application_name': 'oautstapp', 'application_description': 'Oauth rulez'}).follow()
+ r = self.app.post('/auth/oauth/register',
+ params={'application_name': 'oautstapp', 'application_description': 'Oauth rulez'}).follow()
assert_equal(r.forms[1].action, 'generate_access_token')
r.forms[1].submit()
r = self.app.get('/auth/oauth/')
assert 'Bearer Token:' in r
- assert_not_equal(M.OAuthAccessToken.for_user(M.User.by_username('test-admin')), [])
+ assert_not_equal(
+ M.OAuthAccessToken.for_user(M.User.by_username('test-admin')), [])
# revoke
assert_equal(r.forms[0].action, 'revoke_access_token')
r.forms[0].submit()
r = self.app.get('/auth/oauth/')
assert_not_equal(r.forms[0].action, 'revoke_access_token')
- assert_equal(M.OAuthAccessToken.for_user(M.User.by_username('test-admin')), [])
+ assert_equal(
+ M.OAuthAccessToken.for_user(M.User.by_username('test-admin')), [])
@mock.patch('allura.controllers.rest.oauth.Server')
@mock.patch('allura.controllers.rest.oauth.Request')
@@ -850,27 +907,28 @@ class TestOAuth(TestController):
M.OAuthConsumerToken.consumer = mock.Mock()
user = M.User.by_username('test-admin')
consumer_token = M.OAuthConsumerToken(
- api_key='api_key',
- user_id=user._id,
- description='ctok_desc',
- )
+ api_key='api_key',
+ user_id=user._id,
+ description='ctok_desc',
+ )
ThreadLocalORMSession.flush_all()
req = Request.from_request.return_value = {
- 'oauth_consumer_key': 'api_key',
- 'oauth_callback': 'http://my.domain.com/callback',
- }
+ 'oauth_consumer_key': 'api_key',
+ 'oauth_callback': 'http://my.domain.com/callback',
+ }
r = self.app.post('/rest/oauth/request_token', params={})
rtok = parse_qs(r.body)['oauth_token'][0]
- r = self.app.post('/rest/oauth/authorize', params={'oauth_token':rtok})
+ r = self.app.post('/rest/oauth/authorize',
+ params={'oauth_token': rtok})
r = r.forms[0].submit('yes')
assert r.location.startswith('http://my.domain.com/callback')
pin = parse_qs(urlparse(r.location).query)['oauth_verifier'][0]
#pin = r.html.find(text=re.compile('^PIN: ')).split()[1]
req = Request.from_request.return_value = {
- 'oauth_consumer_key': 'api_key',
- 'oauth_token': rtok,
- 'oauth_verifier': pin,
- }
+ 'oauth_consumer_key': 'api_key',
+ 'oauth_token': rtok,
+ 'oauth_verifier': pin,
+ }
r = self.app.get('/rest/oauth/access_token')
atok = parse_qs(r.body)
assert_equal(len(atok['oauth_token']), 1)
@@ -882,27 +940,33 @@ class TestOAuth(TestController):
M.OAuthConsumerToken.consumer = mock.Mock()
user = M.User.by_username('test-user')
consumer_token = M.OAuthConsumerToken(
- api_key='api_key',
- user_id=user._id,
- )
+ api_key='api_key',
+ user_id=user._id,
+ )
ThreadLocalORMSession.flush_all()
- req = Request.from_request.return_value = {'oauth_consumer_key': 'api_key'}
- r = self.app.post('/rest/oauth/request_token', params={'key':'value'})
+ req = Request.from_request.return_value = {
+ 'oauth_consumer_key': 'api_key'}
+ r = self.app.post('/rest/oauth/request_token', params={'key': 'value'})
Request.from_request.assert_called_once_with(
- 'POST', 'http://localhost/rest/oauth/request_token',
- headers={'Host': 'localhost:80', 'Content-Type': 'application/x-www-form-urlencoded; charset="utf-8"'},
- parameters={'key':'value'},
- query_string='')
- Server().verify_request.assert_called_once_with(req, consumer_token.consumer, None)
- request_token = M.OAuthRequestToken.query.get(consumer_token_id=consumer_token._id)
+ 'POST', 'http://localhost/rest/oauth/request_token',
+ headers={'Host': 'localhost:80', 'Content-Type':
+ 'application/x-www-form-urlencoded; charset="utf-8"'},
+ parameters={'key': 'value'},
+ query_string='')
+ Server().verify_request.assert_called_once_with(
+ req, consumer_token.consumer, None)
+ request_token = M.OAuthRequestToken.query.get(
+ consumer_token_id=consumer_token._id)
assert_is_not_none(request_token)
assert_equal(r.body, request_token.to_string())
@mock.patch('allura.controllers.rest.oauth.Server')
@mock.patch('allura.controllers.rest.oauth.Request')
def test_request_token_no_consumer_token(self, Request, Server):
- req = Request.from_request.return_value = {'oauth_consumer_key': 'api_key'}
- r = self.app.post('/rest/oauth/request_token', params={'key':'value'}, status=403)
+ req = Request.from_request.return_value = {
+ 'oauth_consumer_key': 'api_key'}
+ r = self.app.post('/rest/oauth/request_token',
+ params={'key': 'value'}, status=403)
@mock.patch('allura.controllers.rest.oauth.Server')
@mock.patch('allura.controllers.rest.oauth.Request')
@@ -911,147 +975,157 @@ class TestOAuth(TestController):
M.OAuthConsumerToken.consumer = mock.Mock()
user = M.User.by_username('test-user')
consumer_token = M.OAuthConsumerToken(
- api_key='api_key',
- user_id=user._id,
- )
+ api_key='api_key',
+ user_id=user._id,
+ )
ThreadLocalORMSession.flush_all()
- req = Request.from_request.return_value = {'oauth_consumer_key': 'api_key'}
- r = self.app.post('/rest/oauth/request_token', params={'key':'value'}, status=403)
+ req = Request.from_request.return_value = {
+ 'oauth_consumer_key': 'api_key'}
+ r = self.app.post('/rest/oauth/request_token',
+ params={'key': 'value'}, status=403)
def test_authorize_ok(self):
user = M.User.by_username('test-admin')
ctok = M.OAuthConsumerToken(
- api_key='api_key',
- user_id=user._id,
- description='ctok_desc',
- )
+ api_key='api_key',
+ user_id=user._id,
+ description='ctok_desc',
+ )
rtok = M.OAuthRequestToken(
- api_key='api_key',
- consumer_token_id=ctok._id,
- callback='oob',
- user_id=user._id,
- )
+ api_key='api_key',
+ consumer_token_id=ctok._id,
+ callback='oob',
+ user_id=user._id,
+ )
ThreadLocalORMSession.flush_all()
- r = self.app.post('/rest/oauth/authorize', params={'oauth_token':'api_key'})
+ r = self.app.post('/rest/oauth/authorize',
+ params={'oauth_token': 'api_key'})
assert_in('ctok_desc', r.body)
assert_in('api_key', r.body)
def test_authorize_invalid(self):
- r = self.app.post('/rest/oauth/authorize', params={'oauth_token':'api_key'}, status=403)
+ r = self.app.post('/rest/oauth/authorize',
+ params={'oauth_token': 'api_key'}, status=403)
def test_do_authorize_no(self):
user = M.User.by_username('test-admin')
ctok = M.OAuthConsumerToken(
- api_key='api_key',
- user_id=user._id,
- description='ctok_desc',
- )
+ api_key='api_key',
+ user_id=user._id,
+ description='ctok_desc',
+ )
rtok = M.OAuthRequestToken(
- api_key='api_key',
- consumer_token_id=ctok._id,
- callback='oob',
- user_id=user._id,
- )
+ api_key='api_key',
+ consumer_token_id=ctok._id,
+ callback='oob',
+ user_id=user._id,
+ )
ThreadLocalORMSession.flush_all()
- r = self.app.post('/rest/oauth/do_authorize', params={'no': '1', 'oauth_token': 'api_key'})
+ r = self.app.post('/rest/oauth/do_authorize',
+ params={'no': '1', 'oauth_token': 'api_key'})
assert_is_none(M.OAuthRequestToken.query.get(api_key='api_key'))
def test_do_authorize_oob(self):
user = M.User.by_username('test-admin')
ctok = M.OAuthConsumerToken(
- api_key='api_key',
- user_id=user._id,
- description='ctok_desc',
- )
+ api_key='api_key',
+ user_id=user._id,
+ description='ctok_desc',
+ )
rtok = M.OAuthRequestToken(
- api_key='api_key',
- consumer_token_id=ctok._id,
- callback='oob',
- user_id=user._id,
- )
+ api_key='api_key',
+ consumer_token_id=ctok._id,
+ callback='oob',
+ user_id=user._id,
+ )
ThreadLocalORMSession.flush_all()
- r = self.app.post('/rest/oauth/do_authorize', params={'yes': '1', 'oauth_token': 'api_key'})
+ r = self.app.post('/rest/oauth/do_authorize',
+ params={'yes': '1', 'oauth_token': 'api_key'})
assert_is_not_none(r.html.find(text=re.compile('^PIN: ')))
def test_do_authorize_cb(self):
user = M.User.by_username('test-admin')
ctok = M.OAuthConsumerToken(
- api_key='api_key',
- user_id=user._id,
- description='ctok_desc',
- )
+ api_key='api_key',
+ user_id=user._id,
+ description='ctok_desc',
+ )
rtok = M.OAuthRequestToken(
- api_key='api_key',
- consumer_token_id=ctok._id,
- callback='http://my.domain.com/callback',
- user_id=user._id,
- )
+ api_key='api_key',
+ consumer_token_id=ctok._id,
+ callback='http://my.domain.com/callback',
+ user_id=user._id,
+ )
ThreadLocalORMSession.flush_all()
- r = self.app.post('/rest/oauth/do_authorize', params={'yes': '1', 'oauth_token': 'api_key'})
- assert r.location.startswith('http://my.domain.com/callback?oauth_token=api_key&oauth_verifier=')
+ r = self.app.post('/rest/oauth/do_authorize',
+ params={'yes': '1', 'oauth_token': 'api_key'})
+ assert r.location.startswith(
+ 'http://my.domain.com/callback?oauth_token=api_key&oauth_verifier=')
def test_do_authorize_cb_params(self):
user = M.User.by_username('test-admin')
ctok = M.OAuthConsumerToken(
- api_key='api_key',
- user_id=user._id,
- description='ctok_desc',
- )
+ api_key='api_key',
+ user_id=user._id,
+ description='ctok_desc',
+ )
rtok = M.OAuthRequestToken(
- api_key='api_key',
- consumer_token_id=ctok._id,
- callback='http://my.domain.com/callback?myparam=foo',
- user_id=user._id,
- )
+ api_key='api_key',
+ consumer_token_id=ctok._id,
+ callback='http://my.domain.com/callback?myparam=foo',
+ user_id=user._id,
+ )
ThreadLocalORMSession.flush_all()
- r = self.app.post('/rest/oauth/do_authorize', params={'yes': '1', 'oauth_token': 'api_key'})
- assert r.location.startswith('http://my.domain.com/callback?myparam=foo&oauth_token=api_key&oauth_verifier=')
+ r = self.app.post('/rest/oauth/do_authorize',
+ params={'yes': '1', 'oauth_token': 'api_key'})
+ assert r.location.startswith(
+ 'http://my.domain.com/callback?myparam=foo&oauth_token=api_key&oauth_verifier=')
@mock.patch('allura.controllers.rest.oauth.Request')
def test_access_token_no_consumer(self, Request):
req = Request.from_request.return_value = {
- 'oauth_consumer_key': 'api_key',
- 'oauth_token': 'api_key',
- 'oauth_verifier': 'good',
- }
+ 'oauth_consumer_key': 'api_key',
+ 'oauth_token': 'api_key',
+ 'oauth_verifier': 'good',
+ }
self.app.get('/rest/oauth/access_token', status=403)
@mock.patch('allura.controllers.rest.oauth.Request')
def test_access_token_no_request(self, Request):
req = Request.from_request.return_value = {
- 'oauth_consumer_key': 'api_key',
- 'oauth_token': 'api_key',
- 'oauth_verifier': 'good',
- }
+ 'oauth_consumer_key': 'api_key',
+ 'oauth_token': 'api_key',
+ 'oauth_verifier': 'good',
+ }
user = M.User.by_username('test-admin')
ctok = M.OAuthConsumerToken(
- api_key='api_key',
- user_id=user._id,
- description='ctok_desc',
- )
+ api_key='api_key',
+ user_id=user._id,
+ description='ctok_desc',
+ )
ThreadLocalORMSession.flush_all()
self.app.get('/rest/oauth/access_token', status=403)
@mock.patch('allura.controllers.rest.oauth.Request')
def test_access_token_bad_pin(self, Request):
req = Request.from_request.return_value = {
- 'oauth_consumer_key': 'api_key',
- 'oauth_token': 'api_key',
- 'oauth_verifier': 'bad',
- }
+ 'oauth_consumer_key': 'api_key',
+ 'oauth_token': 'api_key',
+ 'oauth_verifier': 'bad',
+ }
user = M.User.by_username('test-admin')
ctok = M.OAuthConsumerToken(
- api_key='api_key',
- user_id=user._id,
- description='ctok_desc',
- )
+ api_key='api_key',
+ user_id=user._id,
+ description='ctok_desc',
+ )
rtok = M.OAuthRequestToken(
- api_key='api_key',
- consumer_token_id=ctok._id,
- callback='http://my.domain.com/callback?myparam=foo',
- user_id=user._id,
- validation_pin='good',
- )
+ api_key='api_key',
+ consumer_token_id=ctok._id,
+ callback='http://my.domain.com/callback?myparam=foo',
+ user_id=user._id,
+ validation_pin='good',
+ )
ThreadLocalORMSession.flush_all()
self.app.get('/rest/oauth/access_token', status=403)
@@ -1059,23 +1133,23 @@ class TestOAuth(TestController):
@mock.patch('allura.controllers.rest.oauth.Request')
def test_access_token_bad_sig(self, Request, Server):
req = Request.from_request.return_value = {
- 'oauth_consumer_key': 'api_key',
- 'oauth_token': 'api_key',
- 'oauth_verifier': 'good',
- }
+ 'oauth_consumer_key': 'api_key',
+ 'oauth_token': 'api_key',
+ 'oauth_verifier': 'good',
+ }
user = M.User.by_username('test-admin')
ctok = M.OAuthConsumerToken(
- api_key='api_key',
- user_id=user._id,
- description='ctok_desc',
- )
+ api_key='api_key',
+ user_id=user._id,
+ description='ctok_desc',
+ )
rtok = M.OAuthRequestToken(
- api_key='api_key',
- consumer_token_id=ctok._id,
- callback='http://my.domain.com/callback?myparam=foo',
- user_id=user._id,
- validation_pin='good',
- )
+ api_key='api_key',
+ consumer_token_id=ctok._id,
+ callback='http://my.domain.com/callback?myparam=foo',
+ user_id=user._id,
+ validation_pin='good',
+ )
ThreadLocalORMSession.flush_all()
Server().verify_request.side_effect = ValueError
self.app.get('/rest/oauth/access_token', status=403)
@@ -1084,23 +1158,23 @@ class TestOAuth(TestController):
@mock.patch('allura.controllers.rest.oauth.Request')
def test_access_token_ok(self, Request, Server):
req = Request.from_request.return_value = {
- 'oauth_consumer_key': 'api_key',
- 'oauth_token': 'api_key',
- 'oauth_verifier': 'good',
- }
+ 'oauth_consumer_key': 'api_key',
+ 'oauth_token': 'api_key',
+ 'oauth_verifier': 'good',
+ }
user = M.User.by_username('test-admin')
ctok = M.OAuthConsumerToken(
- api_key='api_key',
- user_id=user._id,
- description='ctok_desc',
- )
+ api_key='api_key',
+ user_id=user._id,
+ description='ctok_desc',
+ )
rtok = M.OAuthRequestToken(
- api_key='api_key',
- consumer_token_id=ctok._id,
- callback='http://my.domain.com/callback?myparam=foo',
- user_id=user._id,
- validation_pin='good',
- )
+ api_key='api_key',
+ consumer_token_id=ctok._id,
+ callback='http://my.domain.com/callback?myparam=foo',
+ user_id=user._id,
+ validation_pin='good',
+ )
ThreadLocalORMSession.flush_all()
r = self.app.get('/rest/oauth/access_token')
atok = parse_qs(r.body)
http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/c93733ac/Allura/allura/tests/functional/test_discuss.py
----------------------------------------------------------------------
diff --git a/Allura/allura/tests/functional/test_discuss.py b/Allura/allura/tests/functional/test_discuss.py
index 981fc6e..816b3d5 100644
--- a/Allura/allura/tests/functional/test_discuss.py
+++ b/Allura/allura/tests/functional/test_discuss.py
@@ -20,40 +20,41 @@ from mock import patch
from allura.tests import TestController
from allura import model as M
+
class TestDiscuss(TestController):
def test_subscribe_unsubscribe(self):
home = self.app.get('/wiki/_discuss/')
- subscribed = [ i for i in home.html.findAll('input')
- if i.get('type') == 'checkbox'][0]
+ subscribed = [i for i in home.html.findAll('input')
+ if i.get('type') == 'checkbox'][0]
assert 'checked' not in subscribed.attrMap
- link = [ a for a in home.html.findAll('a')
- if 'thread' in a['href'] ][0]
+ link = [a for a in home.html.findAll('a')
+ if 'thread' in a['href']][0]
params = {
- 'threads-0._id':link['href'][len('/p/test/wiki/_discuss/thread/'):-1],
- 'threads-0.subscription':'on' }
+ 'threads-0._id': link['href'][len('/p/test/wiki/_discuss/thread/'):-1],
+ 'threads-0.subscription': 'on'}
r = self.app.post('/wiki/_discuss/subscribe',
params=params,
- headers={'Referer':'/wiki/_discuss/'})
+ headers={'Referer': '/wiki/_discuss/'})
r = r.follow()
- subscribed = [ i for i in r.html.findAll('input')
- if i.get('type') == 'checkbox'][0]
+ subscribed = [i for i in r.html.findAll('input')
+ if i.get('type') == 'checkbox'][0]
assert 'checked' in subscribed.attrMap
params = {
- 'threads-0._id':link['href'][len('/p/test/wiki/_discuss/thread/'):-1]
- }
+ 'threads-0._id': link['href'][len('/p/test/wiki/_discuss/thread/'):-1]
+ }
r = self.app.post('/wiki/_discuss/subscribe',
params=params,
- headers={'Referer':'/wiki/_discuss/'})
+ headers={'Referer': '/wiki/_discuss/'})
r = r.follow()
- subscribed = [ i for i in r.html.findAll('input')
- if i.get('type') == 'checkbox'][0]
+ subscribed = [i for i in r.html.findAll('input')
+ if i.get('type') == 'checkbox'][0]
assert 'checked' not in subscribed.attrMap
def _make_post(self, text):
home = self.app.get('/wiki/_discuss/')
- thread_link = [ a for a in home.html.findAll('a')
- if 'thread' in a['href'] ][0]['href']
+ thread_link = [a for a in home.html.findAll('a')
+ if 'thread' in a['href']][0]['href']
thread = self.app.get(thread_link)
for f in thread.html.findAll('form'):
if f.get('action', '').endswith('/post'):
@@ -62,10 +63,11 @@ class TestDiscuss(TestController):
inputs = f.findAll('input')
for field in inputs:
if field.has_key('name'):
- params[field['name']] = field.has_key('value') and field['value'] or ''
+ params[field['name']] = field.has_key(
+ 'value') and field['value'] or ''
params[f.find('textarea')['name']] = text
r = self.app.post(f['action'].encode('utf-8'), params=params,
- headers={'Referer':thread_link.encode("utf-8")},
+ headers={'Referer': thread_link.encode("utf-8")},
extra_environ=dict(username='root'))
r = r.follow()
return r
@@ -73,49 +75,54 @@ class TestDiscuss(TestController):
@patch('allura.controllers.discuss.g.spam_checker.submit_spam')
def test_post(self, submit_spam):
home = self.app.get('/wiki/_discuss/')
- thread_link = [ a for a in home.html.findAll('a')
- if 'thread' in a['href'] ][0]['href']
+ thread_link = [a for a in home.html.findAll('a')
+ if 'thread' in a['href']][0]['href']
r = self._make_post('This is a post')
assert 'This is a post' in r, r
- post_link = str(r.html.find('div',{'class':'edit_post_form reply'}).find('form')['action'])
+ post_link = str(
+ r.html.find('div', {'class': 'edit_post_form reply'}).find('form')['action'])
r = self.app.get(post_link[:-2], status=302)
r = self.app.get(post_link)
- post_form = r.html.find('form',{'action':post_link})
+ post_form = r.html.find('form', {'action': post_link})
params = dict()
inputs = post_form.findAll('input')
for field in inputs:
if field.has_key('name'):
- params[field['name']] = field.has_key('value') and field['value'] or ''
+ params[field['name']] = field.has_key(
+ 'value') and field['value'] or ''
params[post_form.find('textarea')['name']] = 'This is a new post'
r = self.app.post(post_link,
params=params,
- headers={'Referer':thread_link.encode("utf-8")})
+ headers={'Referer': thread_link.encode("utf-8")})
r = r.follow()
assert 'This is a new post' in r, r
r = self.app.get(post_link)
assert str(r).count('This is a new post') == 3
- post_form = r.html.find('form',{'action':post_link + 'reply'})
+ post_form = r.html.find('form', {'action': post_link + 'reply'})
params = dict()
inputs = post_form.findAll('input')
for field in inputs:
if field.has_key('name'):
- params[field['name']] = field.has_key('value') and field['value'] or ''
+ params[field['name']] = field.has_key(
+ 'value') and field['value'] or ''
params[post_form.find('textarea')['name']] = 'Tis a reply'
r = self.app.post(post_link + 'reply',
params=params,
- headers={'Referer':post_link.encode("utf-8")})
+ headers={'Referer': post_link.encode("utf-8")})
r = self.app.get(thread_link)
assert 'Tis a reply' in r, r
- permalinks = [post.find('form')['action'].encode('utf-8') for post in r.html.findAll('div',{'class':'edit_post_form reply'})]
- self.app.post(permalinks[1]+'flag')
- self.app.post(permalinks[1]+'moderate', params=dict(delete='delete'))
- self.app.post(permalinks[0]+'moderate', params=dict(spam='spam'))
- assert submit_spam.call_args[0] ==('This is a new post',), submit_spam.call_args[0]
+ permalinks = [post.find('form')['action'].encode('utf-8')
+ for post in r.html.findAll('div', {'class': 'edit_post_form reply'})]
+ self.app.post(permalinks[1] + 'flag')
+ self.app.post(permalinks[1] + 'moderate', params=dict(delete='delete'))
+ self.app.post(permalinks[0] + 'moderate', params=dict(spam='spam'))
+ assert submit_spam.call_args[0] == (
+ 'This is a new post',), submit_spam.call_args[0]
def test_permissions(self):
home = self.app.get('/wiki/_discuss/')
- thread_url = [ a for a in home.html.findAll('a')
- if 'thread' in a['href'] ][0]['href']
+ thread_url = [a for a in home.html.findAll('a')
+ if 'thread' in a['href']][0]['href']
thread_id = thread_url.rstrip('/').split('/')[-1]
thread = M.Thread.query.get(_id=thread_id)
@@ -126,7 +133,8 @@ class TestDiscuss(TestController):
# set wiki page private
from forgewiki.model import Page
- page = Page.query.get(_id=thread.ref.artifact._id) # need to look up the page directly, so ming is aware of our change
+ # need to look up the page directly, so ming is aware of our change
+ page = Page.query.get(_id=thread.ref.artifact._id)
project = M.Project.query.get(shortname='test')
role_admin = M.ProjectRole.by_name('Admin', project)._id
page.acl = [
@@ -134,25 +142,28 @@ class TestDiscuss(TestController):
M.DENY_ALL,
]
- self.app.get(thread_url, status=200, # ok
+ self.app.get(thread_url, status=200, # ok
extra_environ=dict(username='test-admin'))
- self.app.get(thread_url, status=403, # forbidden
+ self.app.get(thread_url, status=403, # forbidden
extra_environ=dict(username=non_admin))
def test_spam_link(self):
r = self._make_post('Test post')
assert '<span>Spam</span>' in r
- r = self.app.get('/wiki/_discuss/', extra_environ={'username': 'test-user-1'})
+ r = self.app.get('/wiki/_discuss/',
+ extra_environ={'username': 'test-user-1'})
assert '<span>Spam</span>' not in r, 'User without moderate perm must not see Spam link'
@patch('allura.controllers.discuss.g.spam_checker.submit_spam')
def test_moderate(self, submit_spam):
r = self._make_post('Test post')
- post_link = str(r.html.find('div', {'class': 'edit_post_form reply'}).find('form')['action'])
+ post_link = str(
+ r.html.find('div', {'class': 'edit_post_form reply'}).find('form')['action'])
post = M.Post.query.find().first()
post.status = 'pending'
self.app.post(post_link + 'moderate', params=dict(spam='spam'))
- assert submit_spam.call_args[0] ==('Test post',), submit_spam.call_args[0]
+ assert submit_spam.call_args[0] == (
+ 'Test post',), submit_spam.call_args[0]
post = M.Post.query.find().first()
assert post.status == 'spam'
self.app.post(post_link + 'moderate', params=dict(approve='approve'))
@@ -163,8 +174,8 @@ class TestDiscuss(TestController):
def test_post_paging(self):
home = self.app.get('/wiki/_discuss/')
- thread_link = [ a for a in home.html.findAll('a')
- if 'thread' in a['href'] ][0]['href']
+ thread_link = [a for a in home.html.findAll('a')
+ if 'thread' in a['href']][0]['href']
# just make sure it doesn't 500
r = self.app.get('%s?limit=50&page=0' % thread_link)
@@ -175,31 +186,37 @@ class TestDiscuss(TestController):
assert create_activity.call_args[0][1] == 'posted'
create_activity.reset_mock()
thread_url = r.request.url
- reply_form = r.html.find('div',{'class':'edit_post_form reply'}).find('form')
+ reply_form = r.html.find(
+ 'div', {'class': 'edit_post_form reply'}).find('form')
post_link = str(reply_form['action'])
- assert 'This is a post' in str(r.html.find('div',{'class':'display_post'}))
- assert 'Last edit:' not in str(r.html.find('div',{'class':'display_post'}))
+ assert 'This is a post' in str(
+ r.html.find('div', {'class': 'display_post'}))
+ assert 'Last edit:' not in str(
+ r.html.find('div', {'class': 'display_post'}))
params = dict()
inputs = reply_form.findAll('input')
for field in inputs:
if field.has_key('name'):
- params[field['name']] = field.has_key('value') and field['value'] or ''
+ params[field['name']] = field.has_key(
+ 'value') and field['value'] or ''
params[reply_form.find('textarea')['name']] = 'zzz'
self.app.post(post_link, params)
assert create_activity.call_count == 1, create_activity.call_count
assert create_activity.call_args[0][1] == 'modified'
r = self.app.get(thread_url)
- assert 'zzz' in str(r.html.find('div',{'class':'display_post'}))
- assert 'Last edit: Test Admin less than 1 minute ago' in str(r.html.find('div',{'class':'display_post'}))
+ assert 'zzz' in str(r.html.find('div', {'class': 'display_post'}))
+ assert 'Last edit: Test Admin less than 1 minute ago' in str(
+ r.html.find('div', {'class': 'display_post'}))
+
class TestAttachment(TestController):
def setUp(self):
super(TestAttachment, self).setUp()
home = self.app.get('/wiki/_discuss/')
- self.thread_link = [ a['href'].encode("utf-8")
- for a in home.html.findAll('a')
- if 'thread' in a['href'] ][0]
+ self.thread_link = [a['href'].encode("utf-8")
+ for a in home.html.findAll('a')
+ if 'thread' in a['href']][0]
thread = self.app.get(self.thread_link)
for f in thread.html.findAll('form'):
if f.get('action', '').endswith('/post'):
@@ -209,12 +226,14 @@ class TestAttachment(TestController):
inputs = f.findAll('input')
for field in inputs:
if field.has_key('name'):
- params[field['name']] = field.has_key('value') and field['value'] or ''
+ params[field['name']] = field.has_key(
+ 'value') and field['value'] or ''
params[f.find('textarea')['name']] = 'Test Post'
r = self.app.post(f['action'].encode('utf-8'), params=params,
- headers={'Referer':self.thread_link})
+ headers={'Referer': self.thread_link})
r = r.follow()
- self.post_link = str(r.html.find('div',{'class':'edit_post_form reply'}).find('form')['action'])
+ self.post_link = str(
+ r.html.find('div', {'class': 'edit_post_form reply'}).find('form')['action'])
def test_attach(self):
r = self.app.post(self.post_link + 'attach',
@@ -237,13 +256,14 @@ class TestAttachment(TestController):
def test_reply_attach(self, notify):
notify.return_value = True
r = self.app.get(self.thread_link)
- post_form = r.html.find('form', {'action':self.post_link + 'reply'})
+ post_form = r.html.find('form', {'action': self.post_link + 'reply'})
params = dict()
inputs = post_form.findAll('input')
for field in inputs:
- if field.has_key('name') and (field['name']!='file_info'):
- params[field['name']] = field.has_key('value') and field['value'] or ''
+ if field.has_key('name') and (field['name'] != 'file_info'):
+ params[field['name']] = field.has_key(
+ 'value') and field['value'] or ''
params[post_form.find('textarea')['name']] = 'Reply'
r = self.app.post(self.post_link + 'reply',
params=params,
http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/c93733ac/Allura/allura/tests/functional/test_feeds.py
----------------------------------------------------------------------
diff --git a/Allura/allura/tests/functional/test_feeds.py b/Allura/allura/tests/functional/test_feeds.py
index 000ab74..54416a5 100644
--- a/Allura/allura/tests/functional/test_feeds.py
+++ b/Allura/allura/tests/functional/test_feeds.py
@@ -20,7 +20,9 @@ from formencode.variabledecode import variable_encode
from allura.tests import TestController
from allura.tests import decorators as td
+
class TestFeeds(TestController):
+
def setUp(self):
TestController.setUp(self)
self._setUp()
@@ -33,7 +35,7 @@ class TestFeeds(TestController):
self.app.post(
'/bugs/save_ticket',
params=variable_encode(dict(
- ticket_form=dict(
+ ticket_form=dict(
ticket_num='',
labels='',
assigned_to='',
@@ -49,7 +51,7 @@ class TestFeeds(TestController):
title=title,
text="Nothing much",
labels='',
- ),
+ ),
status=302)
self.app.get('/wiki/%s/' % title)
@@ -65,10 +67,10 @@ class TestFeeds(TestController):
@td.with_wiki
def test_wiki_page_feed(self):
self.app.post('/wiki/Root/update', params={
- 'title':'Root',
- 'text':'',
- 'labels':'',
- 'viewable_by-0.id':'all'})
+ 'title': 'Root',
+ 'text': '',
+ 'labels': '',
+ 'viewable_by-0.id': 'all'})
self.app.get('/wiki/Root/feed.rss')
self.app.get('/wiki/Root/feed.atom')
@@ -82,14 +84,13 @@ class TestFeeds(TestController):
self.app.get('/bugs/1/feed.rss')
r = self.app.get('/bugs/1/feed.atom')
self.app.post('/bugs/1/update_ticket', params=dict(
- assigned_to='',
- ticket_num='',
- labels='',
- summary='This is a new ticket',
- status='unread',
- milestone='',
- description='This is another description'), extra_environ=dict(username='root'))
+ assigned_to='',
+ ticket_num='',
+ labels='',
+ summary='This is a new ticket',
+ status='unread',
+ milestone='',
+ description='This is another description'), extra_environ=dict(username='root'))
r = self.app.get('/bugs/1/feed.atom')
assert '=&gt' in r
assert '\n+' in r
-
http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/c93733ac/Allura/allura/tests/functional/test_gravatar.py
----------------------------------------------------------------------
diff --git a/Allura/allura/tests/functional/test_gravatar.py b/Allura/allura/tests/functional/test_gravatar.py
index 4f6940b..bea43f3 100644
--- a/Allura/allura/tests/functional/test_gravatar.py
+++ b/Allura/allura/tests/functional/test_gravatar.py
@@ -33,7 +33,8 @@ class TestGravatar(TestController):
email = u'Vin\u00EDcius@example.com'
expected_id = 'e00968255d68523b034a6a39c522efdb'
actual_id = gravatar.id(email)
- assert expected_id == actual_id, 'Expected gravitar ID %s, got %s' % (repr(expected_id), repr(actual_id))
+ assert expected_id == actual_id, 'Expected gravitar ID %s, got %s' % (
+ repr(expected_id), repr(actual_id))
def test_url(self):
email = 'Wolf@example.com'