From 350fbf20db95182a3c35bea03fdbf0513ba1337d Mon Sep 17 00:00:00 2001 From: Zbynek Winkler Date: Fri, 13 Dec 2013 23:39:42 +0100 Subject: [PATCH 1/8] Add the ability to self check the database. Subclasses Postgres to prepare for write-wrapping for #1549 and to add self checks for #1180 and #1705. Fixes #1180, #1705. --- gittip/billing/payday.py | 4 ++ gittip/models/__init__.py | 98 ++++++++++++++++++++++++++++++++++++++ gittip/testing/__init__.py | 8 ++++ gittip/wireup.py | 4 +- tests/test_billing.py | 2 +- tests/test_charts_json.py | 6 +++ tests/test_participant.py | 6 +-- 7 files changed, 121 insertions(+), 7 deletions(-) diff --git a/gittip/billing/payday.py b/gittip/billing/payday.py index 9278f96414..92c6e6fb29 100644 --- a/gittip/billing/payday.py +++ b/gittip/billing/payday.py @@ -127,6 +127,8 @@ def run(self): crashes. """ + self.db.self_check() + _start = aspen.utils.utcnow() log("Greetings, program! It's PAYDAY!!!!") ts_start = self.start() @@ -141,6 +143,8 @@ def run(self): self.end() + self.db.self_check() + _end = aspen.utils.utcnow() _delta = _end - _start fmt_past = "Script ran for {age} (%s)." % _delta diff --git a/gittip/models/__init__.py b/gittip/models/__init__.py index 74e614a264..ca28865fc5 100644 --- a/gittip/models/__init__.py +++ b/gittip/models/__init__.py @@ -6,3 +6,101 @@ everything on Gittip. """ +from postgres import Postgres + +class GittipDB(Postgres): + + def self_check(self): + """ + Runs all available self checks on the database. + """ + self._check_balances() + self._check_tips() + self._check_orphans() + + def _check_tips(self): + """ + Checks that there are no rows in tips with duplicate (tipper, tippee, mtime). + + https://github.com/gittip/www.gittip.com/issues/1704 + """ + conflicting_tips = self.one(""" + SELECT count(*) + FROM + ( + SELECT * FROM tips + EXCEPT + SELECT DISTINCT ON(tipper, tippee, mtime) * + FROM tips + ORDER BY tipper, tippee, mtime + ) AS foo + """) + assert conflicting_tips == 0 + + def _check_balances(self): + """ + Recalculates balances for all participants from transfers and exchanges. + + https://github.com/gittip/www.gittip.com/issues/1118 + """ + b = self.one(""" + select count(*) + from ( + select username, sum(a) as balance + from ( + select participant as username, sum(amount) as a + from exchanges + where amount > 0 + group by participant + + union + + select participant as username, sum(amount-fee) as a + from exchanges + where amount < 0 + group by participant + + union + + select tipper as username, sum(-amount) as a + from transfers + group by tipper + + union + + select tippee as username, sum(amount) as a + from transfers + group by tippee + ) as foo + group by username + + except + + select username, balance + from participants + ) as foo2 + """) + assert b == 0, "conflicting balances: {}".format(b) + + def _check_orphans(self): + """ + Finds participants that + * does not have corresponding elsewhere account + * have not been absorbed by other participant + + These are broken because new participants arise from elsewhere + and elsewhere is detached only by take over which makes a note + in absorptions if it removes the last elsewhere account. + + Especially bad case is when also claimed_time is set because + there must have been elsewhere account attached and used to sign in. + + https://github.com/gittip/www.gittip.com/issues/617 + """ + e = self.one(""" + select count((username, ctime, claimed_time)) + from participants + where not exists (select * from elsewhere where elsewhere.participant=username) + and not exists (select * from absorptions where archived_as=username) + """) + assert e == 0, "missing elsewheres: {}".format(e) diff --git a/gittip/testing/__init__.py b/gittip/testing/__init__.py index 9058aaea29..ff28c08873 100644 --- a/gittip/testing/__init__.py +++ b/gittip/testing/__init__.py @@ -77,6 +77,7 @@ def setUpClass(cls): cls._tablenames = cls.db.all("SELECT tablename FROM pg_tables " "WHERE schemaname='public'") cls.clear_tables(cls.db, cls._tablenames[:]) + cls.seq = 0 def tearDown(self): self.clear_tables(self.db, self._tablenames[:]) @@ -112,6 +113,13 @@ def make_participant(self, username, **kw): participant = Participant.with_random_username() participant.change_username(username) + if 'elsewhere' in kw or 'claimed_time' in kw: + platform = kw.pop('elsewhere', 'github') + user_info = dict(login=username) + self.seq += 1 + self.db.run("INSERT INTO elsewhere (platform, user_id, participant, user_info) " + "VALUES (%s,%s,%s,%s)", (platform, self.seq, username, user_info)) + # brute force update for use in testing for k,v in kw.items(): if k == 'claimed_time': diff --git a/gittip/wireup.py b/gittip/wireup.py index 8e5b610b94..f0e1e8e6b5 100644 --- a/gittip/wireup.py +++ b/gittip/wireup.py @@ -15,7 +15,7 @@ import gittip.utils.mixpanel from gittip.models.community import Community from gittip.models.participant import Participant -from postgres import Postgres +from gittip.models import GittipDB def canonical(): @@ -27,7 +27,7 @@ def canonical(): def db(): dburl = os.environ['DATABASE_URL'] maxconn = int(os.environ['DATABASE_MAXCONN']) - db = Postgres(dburl, maxconn=maxconn) + db = GittipDB(dburl, maxconn=maxconn) # register hstore type with db.get_cursor() as cursor: diff --git a/tests/test_billing.py b/tests/test_billing.py index e10d10cac5..0b8e322987 100644 --- a/tests/test_billing.py +++ b/tests/test_billing.py @@ -17,7 +17,7 @@ class TestBillingBase(Harness): def setUp(self): super(Harness, self).setUp() - self.alice = self.make_participant('alice') + self.alice = self.make_participant('alice', elsewhere='github') class TestBalancedCard(Harness): diff --git a/tests/test_charts_json.py b/tests/test_charts_json.py index aa5e8ef80b..1d3bf0c3d3 100644 --- a/tests/test_charts_json.py +++ b/tests/test_charts_json.py @@ -14,6 +14,12 @@ def make_participants_and_tips(self): alice = self.make_participant('alice', balance=10, claimed_time='now') bob = self.make_participant('bob', balance=10, claimed_time='now') self.make_participant('carl', claimed_time='now') + self.db.run(""" + INSERT INTO EXCHANGES + (amount, fee, participant) VALUES + (10.00, 0.00, 'alice'), + (10.00, 0.00, 'bob') + """) alice.set_tip_to('carl', '1.00') bob.set_tip_to('carl', '2.00') diff --git a/tests/test_participant.py b/tests/test_participant.py index ba02e2ca51..737939fee8 100644 --- a/tests/test_participant.py +++ b/tests/test_participant.py @@ -183,10 +183,8 @@ class TestParticipant(Harness): def setUp(self): super(Harness, self).setUp() now = utcnow() - for idx, username in enumerate(['alice', 'bob', 'carl'], start=1): - self.make_participant(username, claimed_time=now) - twitter_account = TwitterAccount(self.db, idx, {'screen_name': username}) - Participant.from_username(username).take_over(twitter_account) + for username in ['alice', 'bob', 'carl']: + self.make_participant(username, claimed_time=now, elsewhere='twitter') def test_bob_is_singular(self): expected = True From 1ce072cc7a1cc580ea594ba588a842b824a28dcc Mon Sep 17 00:00:00 2001 From: Zbynek Winkler Date: Sat, 14 Dec 2013 12:40:30 +0100 Subject: [PATCH 2/8] Use global self check. --- tests/test_participant.py | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/tests/test_participant.py b/tests/test_participant.py index 737939fee8..b4b72acd12 100644 --- a/tests/test_participant.py +++ b/tests/test_participant.py @@ -118,19 +118,6 @@ def test_there_is_no_more_deadbeef(self): class TestTakeOver(Harness): - def self_test(self): - a = self.db.one(""" - SELECT count(*) - FROM ( - SELECT * FROM tips - EXCEPT - SELECT DISTINCT ON(tipper, tippee, mtime) * - FROM tips - ORDER BY tipper, tippee, mtime - ) AS foo - """) - assert a == 0 - def test_cross_tip_doesnt_become_self_tip(self): alice = TwitterAccount(self.db, 1, dict(screen_name='alice')) bob = TwitterAccount(self.db, 2, dict(screen_name='bob')) @@ -138,7 +125,7 @@ def test_cross_tip_doesnt_become_self_tip(self): bob_participant = bob.opt_in('bob')[0].participant alice_participant.set_tip_to('bob', '1.00') bob_participant.take_over(alice, have_confirmation=True) - self.self_test() + self.db.self_check() def test_zero_cross_tip_doesnt_become_self_tip(self): alice = TwitterAccount(self.db, 1, dict(screen_name='alice')) @@ -148,7 +135,7 @@ def test_zero_cross_tip_doesnt_become_self_tip(self): alice_participant.set_tip_to('bob', '1.00') alice_participant.set_tip_to('bob', '0.00') bob_participant.take_over(alice, have_confirmation=True) - self.self_test() + self.db.self_check() def test_do_not_take_over_zero_tips_giving(self): alice = TwitterAccount(self.db, 1, dict(screen_name='alice')) @@ -162,7 +149,7 @@ def test_do_not_take_over_zero_tips_giving(self): alice_participant.take_over(carl, have_confirmation=True) ntips = self.db.one("select count(*) from tips") assert 2 == ntips - self.self_test() + self.db.self_check() def test_do_not_take_over_zero_tips_receiving(self): alice = TwitterAccount(self.db, 1, dict(screen_name='alice')) @@ -176,7 +163,7 @@ def test_do_not_take_over_zero_tips_receiving(self): alice_participant.take_over(carl, have_confirmation=True) ntips = self.db.one("select count(*) from tips") assert 2 == ntips - self.self_test() + self.db.self_check() class TestParticipant(Harness): From 1014b5a80d704e7cc8120f4c5dec59188afe05d8 Mon Sep 17 00:00:00 2001 From: Zbynek Winkler Date: Sat, 14 Dec 2013 18:12:14 +0100 Subject: [PATCH 3/8] Add currently known orphans to the self_check. Also run self_check from the homepage updater thread. This way we should learn as soon as possible about new orphans by Sentry report. --- configure-aspen.py | 1 + gittip/models/__init__.py | 26 +++++++++++++++++++++++--- 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/configure-aspen.py b/configure-aspen.py index 2184acc9b4..4491375bae 100644 --- a/configure-aspen.py +++ b/configure-aspen.py @@ -131,6 +131,7 @@ def update_homepage_queries(): try: utils.update_global_stats(website) utils.update_homepage_queries_once(website.db) + website.db.self_check() except: if tell_sentry: tell_sentry(None) diff --git a/gittip/models/__init__.py b/gittip/models/__init__.py index ca28865fc5..8bed4e51f6 100644 --- a/gittip/models/__init__.py +++ b/gittip/models/__init__.py @@ -97,10 +97,30 @@ def _check_orphans(self): https://github.com/gittip/www.gittip.com/issues/617 """ - e = self.one(""" - select count((username, ctime, claimed_time)) + orphans = self.all(""" + select username from participants where not exists (select * from elsewhere where elsewhere.participant=username) and not exists (select * from absorptions where archived_as=username) """) - assert e == 0, "missing elsewheres: {}".format(e) + known = set(( + "4c46cc22afdd", + "82b0d81fe9e8", + "6b6527ac6c02", + "cbde8c31c11c", + "bcfc65158eaf", + "31d54a0c19ae", + "afbddadaac3c", + "a78c4e42bb93", + "42eb93b3ab89", + "b1bc5e47fe8e", + "3ac515cc8da6", + "14a79340c40d", + "14d60c6884e7", + "0c783dee50ed", + "e2020536ef6d", + "60a5099d49c7", + "64f4f959b322" + )) + real = set(orphans) - known + assert len(real) == 0, "missing elsewheres: {}".format(len(real)) From 7bd0a8d77fdf5b2176f4c7e9a9780d58d6fccd8f Mon Sep 17 00:00:00 2001 From: Zbynek Winkler Date: Sat, 14 Dec 2013 18:50:36 +0100 Subject: [PATCH 4/8] Skip checking of balances while payday is running. --- gittip/models/__init__.py | 60 +++++++++++++++++++++------------------ 1 file changed, 32 insertions(+), 28 deletions(-) diff --git a/gittip/models/__init__.py b/gittip/models/__init__.py index 8bed4e51f6..3c6c4331c0 100644 --- a/gittip/models/__init__.py +++ b/gittip/models/__init__.py @@ -43,43 +43,47 @@ def _check_balances(self): https://github.com/gittip/www.gittip.com/issues/1118 """ - b = self.one(""" - select count(*) - from ( - select username, sum(a) as balance + with self.get_cursor() as cursor: + if cursor.one("select exists (select * from paydays where ts_end < ts_start) as running"): + # payday is running and the query bellow does not account for pending + return + b = cursor.one(""" + select count(*) from ( - select participant as username, sum(amount) as a - from exchanges - where amount > 0 - group by participant + select username, sum(a) as balance + from ( + select participant as username, sum(amount) as a + from exchanges + where amount > 0 + group by participant - union + union - select participant as username, sum(amount-fee) as a - from exchanges - where amount < 0 - group by participant + select participant as username, sum(amount-fee) as a + from exchanges + where amount < 0 + group by participant - union + union - select tipper as username, sum(-amount) as a - from transfers - group by tipper + select tipper as username, sum(-amount) as a + from transfers + group by tipper - union + union - select tippee as username, sum(amount) as a - from transfers - group by tippee - ) as foo - group by username + select tippee as username, sum(amount) as a + from transfers + group by tippee + ) as foo + group by username - except + except - select username, balance - from participants - ) as foo2 - """) + select username, balance + from participants + ) as foo2 + """) assert b == 0, "conflicting balances: {}".format(b) def _check_orphans(self): From e818bf8e3205f508d811c2c42cb7cb43b7837ec5 Mon Sep 17 00:00:00 2001 From: Zbynek Winkler Date: Mon, 16 Dec 2013 19:32:35 +0100 Subject: [PATCH 5/8] Check that orphans have no non zero tips. --- gittip/models/__init__.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gittip/models/__init__.py b/gittip/models/__init__.py index 3c6c4331c0..e29bbcec91 100644 --- a/gittip/models/__init__.py +++ b/gittip/models/__init__.py @@ -17,6 +17,7 @@ def self_check(self): self._check_balances() self._check_tips() self._check_orphans() + self._check_orphans_no_tips() def _check_tips(self): """ @@ -128,3 +129,23 @@ def _check_orphans(self): )) real = set(orphans) - known assert len(real) == 0, "missing elsewheres: {}".format(len(real)) + + def _check_orphans_no_tips(self): + tips_with_orphans = self.all(""" + WITH orphans AS ( + SELECT username FROM participants + WHERE NOT EXISTS (SELECT 1 FROM elsewhere WHERE participant=username) + ), valid_tips AS ( + SELECT * FROM ( + SELECT DISTINCT ON (tipper, tippee) * + FROM tips + ORDER BY tipper, tippee, mtime DESC + ) AS foo + WHERE amount > 0 + ) + SELECT * FROM valid_tips + WHERE tipper IN (SELECT * FROM orphans) + OR tippee IN (SELECT * FROM orphans) + """) + assert len(tips_with_orphans) == 0, tips_with_orphans +# From f11d399320ccd1134a3ca63d67f271a6a39746a6 Mon Sep 17 00:00:00 2001 From: Zbynek Winkler Date: Sun, 5 Jan 2014 16:37:13 +0100 Subject: [PATCH 6/8] Update to current data, add more comments. --- gittip/models/__init__.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/gittip/models/__init__.py b/gittip/models/__init__.py index e29bbcec91..0ba3cca098 100644 --- a/gittip/models/__init__.py +++ b/gittip/models/__init__.py @@ -125,12 +125,21 @@ def _check_orphans(self): "0c783dee50ed", "e2020536ef6d", "60a5099d49c7", - "64f4f959b322" + "64f4f959b322", + "0bdf90d51786" )) real = set(orphans) - known - assert len(real) == 0, "missing elsewheres: {}".format(len(real)) + assert len(real) == 0, "missing elsewheres: {}".format(list(real)) def _check_orphans_no_tips(self): + """ + Finds participants + * without elsewhere account attached + * having non zero outstanding tip + + This should not happen because when we remove the last elsewhere account + in take_over we also zero out all tips. + """ tips_with_orphans = self.all(""" WITH orphans AS ( SELECT username FROM participants From 9748a5074077aac8fd1fc4bc6d692a54f1b5c528 Mon Sep 17 00:00:00 2001 From: Chad Whitacre Date: Mon, 6 Jan 2014 12:32:52 -0500 Subject: [PATCH 7/8] Merge branch 'master' into self-check Conflicts: configure-aspen.py gittip/testing/__init__.py tests/test_billing.py tests/test_charts_json.py --- 404.html.spt | 6 +- Gruntfile.js | 3 +- README.md | 105 +++---- bin/post_compile | 32 -- configure-aspen.py | 165 +++++----- default_local.env | 5 +- default_tests.env | 3 +- gittip/elsewhere/bitbucket.py | 4 +- gittip/elsewhere/github.py | 4 +- gittip/elsewhere/twitter.py | 4 +- gittip/security/__init__.py | 22 ++ gittip/security/authentication.py | 8 +- gittip/security/csrf.py | 4 +- gittip/testing/__init__.py | 234 ++++----------- gittip/testing/client.py | 106 ------- gittip/utils/__init__.py | 17 +- gittip/utils/cache_static.py | 4 +- gittip/utils/mixpanel.py | 78 ----- gittip/wireup.py | 40 +-- img-src/success.png | Bin 280170 -> 199851 bytes js/gittip/horn.js | 103 ------- js/gittip/jump.js | 4 +- js/gittip/payments.js | 40 ++- js/gittip/profile.js | 116 +++---- js/gittip/tips.js | 140 +++++---- requirements.txt | 11 +- scss/elements.scss | 1 - scss/fonts-colors-mixins.scss | 20 +- scss/gittip.scss | 6 - scss/horn.scss | 81 ----- scss/layout.scss | 47 +-- scss/lib/_chart.scss | 20 +- scss/lib/_dropdown.scss | 34 +-- scss/modules.scss | 6 +- scss/profile-edit.scss | 14 +- scss/team.scss | 28 +- scss/utils.scss | 13 +- scss/widgets/_sign_in.scss | 3 - scss/widgets/my_tip.scss | 8 +- templates/about.html | 10 +- templates/base.html | 55 +--- templates/community-listing.html | 2 +- templates/connected-accounts.html | 85 +++--- templates/for-contributors.html | 14 +- templates/my-tip-bulk.html | 9 +- templates/my-tip.html | 36 +-- templates/nav.html | 8 +- templates/participant.html | 48 +-- templates/participant.tip.html | 14 +- templates/profile-edit.html | 36 +-- templates/profile.html | 33 +- templates/sign-in-using-to-give.html | 2 +- templates/sign-in-using.html | 6 +- templates/team-listing.html | 4 +- templates/tip-distribution.html | 2 +- tests/test_anonymous_json.py | 24 +- tests/test_associate.py | 65 ++-- tests/test_billing.py | 3 +- tests/test_billing_payday.py | 37 +-- tests/test_charts_json.py | 53 ++-- tests/test_communities_json.py | 116 ++----- tests/test_elsewhere_bitbucket.py | 6 +- tests/test_elsewhere_bountysource.py | 3 +- tests/test_elsewhere_github.py | 5 +- tests/test_fake_data.py | 3 - tests/test_goal_json.py | 28 +- tests/test_hooks.py | 20 +- tests/test_is_suspicious.py | 6 +- tests/test_lookup_json.py | 40 +-- tests/test_membername_json.py | 283 ++++-------------- tests/test_pages.py | 87 +++--- tests/test_participant.py | 6 +- tests/test_public_json.py | 24 +- tests/test_record_an_exchange.py | 29 +- tests/test_statement_json.py | 28 +- tests/test_stats.py | 59 ++-- tests/test_teams.py | 2 +- tests/test_tip_json.py | 39 ++- tests/test_tips_json.py | 78 ++--- tests/test_username_json.py | 43 +-- tests/test_utils.py | 20 +- vendor/aspen-0.26.1.tar.bz2 | Bin 61673 -> 0 bytes www/%username/charts.json.spt | 19 ++ www/%username/giving/index.html.spt | 16 +- www/%username/history/index.html.spt | 30 +- www/%username/horn/index.html.spt | 42 --- www/%username/horn/toot.json.spt | 15 - www/%username/horn/toots.json.spt | 74 ----- www/%username/index.html.spt | 26 +- www/%username/members/index.html.spt | 6 +- .../receipts/%exchange_id.int.html.spt | 4 +- www/%username/username.json.spt | 2 +- www/%username/widget.html.spt | 52 +--- www/%username/widgets/index.html.spt | 54 +--- www/about/charts.html.spt | 4 +- www/about/charts.json.spt | 2 +- www/about/error.html.spt | 6 +- www/about/faq.html.spt | 4 +- www/about/fraud/2012-11-05.html.spt | 50 ++-- www/about/fraud/index.html.spt | 4 +- www/about/fraud/review.html.spt | 12 +- www/about/index.html.spt | 4 +- www/about/me.html.spt | 10 +- www/about/privacy/index.html.spt | 8 +- www/about/stats.spt | 26 +- www/about/teams/index.html.spt | 4 +- www/about/terms/index.html.spt | 2 +- www/about/terms/of-service.html.spt | 2 +- www/about/top.json.spt | 71 ----- www/assets/%version/admin.js | 2 +- www/assets/%version/gittip.css.spt | 10 +- www/assets/jquery-1.7.1.min.js | 4 - www/assets/jquery-1.8.3.min.js | 2 - www/assets/widgets/0001.css | 4 +- www/assets/widgets/0001.js | 2 +- www/bank-account.html.spt | 32 +- www/credit-card.html.spt | 30 +- www/credit-card.json.spt | 1 - www/for/%slug/index.html.spt | 34 +-- www/for/contributors/index.html.spt | 2 +- .../contributors/mission-statement.html.spt | 2 +- .../ways-to-help/build-gittip.html.spt | 2 +- .../contributors/ways-to-help/index.html.spt | 2 +- .../ways-to-help/support-users.html.spt | 2 +- .../tell-people-about-gittip.html.spt | 2 +- .../train-new-contributors.html.spt | 2 +- www/for/contributors/where-we-work.html.spt | 2 +- www/for/index.html.spt | 18 +- www/index.html.spt | 24 +- www/on/bitbucket/%username/index.html.spt | 62 ++-- www/on/bitbucket/associate.spt | 3 - www/on/bountysource/failure.html.spt | 8 +- www/on/confirm.html.spt | 102 +++---- www/on/github/%login/index.html.spt | 58 ++-- www/on/github/%login/lock-fail.html.spt | 6 +- www/on/github/associate.spt | 3 - www/on/twitter/%screen_name/index.html.spt | 30 +- .../twitter/%screen_name/lock-fail.html.spt | 8 +- www/on/twitter/associate.spt | 3 - www/robots.txt | 4 +- www/sign-out.html.spt | 6 +- www/version.txt | 2 +- 142 files changed, 1404 insertions(+), 2629 deletions(-) delete mode 100644 bin/post_compile delete mode 100644 gittip/testing/client.py delete mode 100644 gittip/utils/mixpanel.py delete mode 100644 js/gittip/horn.js delete mode 100644 scss/horn.scss delete mode 100644 vendor/aspen-0.26.1.tar.bz2 delete mode 100644 www/%username/horn/index.html.spt delete mode 100644 www/%username/horn/toot.json.spt delete mode 100644 www/%username/horn/toots.json.spt delete mode 100644 www/about/top.json.spt delete mode 100644 www/assets/jquery-1.7.1.min.js delete mode 100644 www/assets/jquery-1.8.3.min.js diff --git a/404.html.spt b/404.html.spt index b72f302f4f..5c5a368b9c 100644 --- a/404.html.spt +++ b/404.html.spt @@ -1,11 +1,11 @@ [---] -{% extends templates/base.html %} +{% extends "templates/base.html" %} {% block heading %}

Page Not Found

-{% end %} +{% endblock %} {% block box %}

@@ -14,4 +14,4 @@

-{% end %} +{% endblock %} diff --git a/Gruntfile.js b/Gruntfile.js index 909ec75b2f..f6c026f458 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -39,7 +39,6 @@ module.exports = function(grunt) { Gittip: true, _gttp: true, gttpURI: true, - mixpanel: true, alert: true } } @@ -61,7 +60,7 @@ module.exports = function(grunt) { urlRoot: '/karma/', proxies: { '/': 'http://' + env.CANONICAL_HOST + '/' }, files: [ - 'www/assets/jquery-1.8.3.min.js', + 'www/assets/jquery-1.10.2.min.js', 'www/assets/%version/utils.js', 'jstests/**/test_*.js', ], diff --git a/README.md b/README.md index 618f6aeb24..14a631ef7c 100644 --- a/README.md +++ b/README.md @@ -50,14 +50,16 @@ Thanks for hacking on Gittip! Be sure to review [CONTRIBUTING](https://github.com/gittip/www.gittip.com/blob/master/CONTRIBUTING.md#readme) as well if that's what you're planning to do. + Dependencies ------------ -The only hard requirement on your system is [Python -2.7](http://python.org/download/releases/2.7.4/). +Building `www.gittip.com` requires [Python +2.7](http://python.org/download/releases/2.7.4/), and a gcc/make toolchain. + +All Python library dependencies are bundled in the repo (under `vendor/`) and +by default the app is configured to use a Postgres instance in the cloud. -All library dependencies are bundled in the repo (under `vendor/`) and by -default the app is configured to use a Postgres instance in the cloud. Building -------- @@ -106,48 +108,43 @@ If Gittip launches successfully it will look like this: ``` $ make run ./env/bin/swaddle local.env ./env/bin/aspen \ - --www_root=www/ \ - --project_root=.. \ - --show_tracebacks=yes \ - --changes_reload=yes \ - --network_address=:8537 -[SWADDLE] Skipping line: . -[SWADDLE] Skipping line: . -[SWADDLE] Skipping line: . -[SWADDLE] Skipping line: . -[SWADDLE] Skipping line: . + --www_root=www/ \ + --project_root=. \ + --show_tracebacks=yes \ + --changes_reload=yes \ + --network_address=:8537 pid-12508 thread-140735090330816 (MainThread) Reading configuration from defaults, environment, and command line. pid-12508 thread-140735090330816 (MainThread) changes_reload False default pid-12508 thread-140735090330816 (MainThread) changes_reload True command line option --changes_reload=yes pid-12508 thread-140735090330816 (MainThread) charset_dynamic UTF-8 default pid-12508 thread-140735090330816 (MainThread) charset_static None default pid-12508 thread-140735090330816 (MainThread) configuration_scripts [] default -pid-12508 thread-140735090330816 (MainThread) indices [u'index.html', u'index.json', u'index'] default +pid-12508 thread-140735090330816 (MainThread) indices [u'index.html', u'index.json', u'index', u'index.html.spt', u'index.json.spt', u'index.spt'] default pid-12508 thread-140735090330816 (MainThread) list_directories False default pid-12508 thread-140735090330816 (MainThread) logging_threshold 0 default pid-12508 thread-140735090330816 (MainThread) media_type_default text/plain default pid-12508 thread-140735090330816 (MainThread) media_type_json application/json default pid-12508 thread-140735090330816 (MainThread) network_address ((u'0.0.0.0', 8080), 2) default pid-12508 thread-140735090330816 (MainThread) network_address ((u'0.0.0.0', 8537), 2) command line option --network_address=:8537 -pid-12508 thread-140735090330816 (MainThread) network_engine cherrypy default +pid-12508 thread-140735090330816 (MainThread) network_engine cheroot default pid-12508 thread-140735090330816 (MainThread) project_root None default -pid-12508 thread-140735090330816 (MainThread) project_root .. command line option --project_root=.. -pid-12508 thread-140735090330816 (MainThread) renderer_default tornado default +pid-12508 thread-140735090330816 (MainThread) project_root . command line option --project_root=. +pid-12508 thread-140735090330816 (MainThread) renderer_default stdlib_percent default pid-12508 thread-140735090330816 (MainThread) show_tracebacks False default pid-12508 thread-140735090330816 (MainThread) show_tracebacks True command line option --show_tracebacks=yes -pid-12508 thread-140735090330816 (MainThread) unavailable 0 default pid-12508 thread-140735090330816 (MainThread) www_root None default pid-12508 thread-140735090330816 (MainThread) www_root www/ command line option --www_root=www/ -pid-12508 thread-140735090330816 (MainThread) project_root is relative: '..'. +pid-12508 thread-140735090330816 (MainThread) project_root is relative to CWD: '.'. pid-12508 thread-140735090330816 (MainThread) project_root set to /Your/path/to/www.gittip.com. +pid-12508 thread-140735090330816 (MainThread) Found plugin for renderer 'tornado' +pid-12508 thread-140735090330816 (MainThread) Won't log to Sentry (SENTRY_DSN is empty). +pid-12508 thread-140735090330816 (MainThread) Loading configuration file '/Your/path/to/www.gittip.com/configure-aspen.py' (possibly changing settings) pid-12508 thread-140735090330816 (MainThread) Renderers (*ed are unavailable, CAPS is default): -pid-12508 thread-140735090330816 (MainThread) TORNADO -pid-12508 thread-140735090330816 (MainThread) *pystache ImportError: No module named pystache -pid-12508 thread-140735090330816 (MainThread) stdlib_template -pid-12508 thread-140735090330816 (MainThread) stdlib_format -pid-12508 thread-140735090330816 (MainThread) *jinja2 ImportError: No module named jinja2 -pid-12508 thread-140735090330816 (MainThread) stdlib_percent -pid-12508 thread-140735090330816 (MainThread) Starting cherrypy engine. +pid-12508 thread-140735090330816 (MainThread) stdlib_percent +pid-12508 thread-140735090330816 (MainThread) TORNADO +pid-12508 thread-140735090330816 (MainThread) stdlib_format +pid-12508 thread-140735090330816 (MainThread) stdlib_template +pid-12508 thread-140735090330816 (MainThread) Starting cheroot engine. pid-12508 thread-140735090330816 (MainThread) Greetings, program! Welcome to port 8537. pid-12508 thread-140735090330816 (MainThread) Aspen will restart when configuration scripts or Python modules change. pid-12508 thread-140735090330816 (MainThread) Starting up Aspen website. @@ -213,21 +210,12 @@ should change the `DATABASE_URL` using the following format: DATABASE_URL=postgres://@localhost/ - Modifying CSS ============= -We use SCSS, with files stored in `scss/`. Out of the box, your Gittip -installation will use the stylesheet from production, per the `GITTIP_CSS_HREF` -setting in `local.env`. If you want to modify styles then you should install -[sass](http://sass-lang.com/) and change `GITTIP_CSS_HREF` in your `local.env` -to `/assets/-/gittip.css`. That will route to -`www/assets/%version/gittip.css.spt`, which is a simplate that shells out to -`sass` to dynamically generate the stylesheet on each request. The `-` prevents -HTTP caching. Sass does its own caching on disk so it's performant enough for -development (in production we route through a CDN so the origin only gets hit -once per new version). - +We use SCSS, with files stored in `scss/`. All of the individual files are +combined in `scss/gittip.scss` which itself is compiled by `libsass` in +`www/assets/%version/gittip.css.spt` on each request. Testing [![Testing](https://secure.travis-ci.org/gittip/www.gittip.com.png)](http://travis-ci.org/gittip/www.gittip.com) ======= @@ -338,29 +326,6 @@ some fake data, so that more of the site is functional, run this command: $ make data -### Notes for Mac OS X users - -If when running the tests you see errors of the form: - - psycopg2.OperationalError: FATAL: sorry, too many clients already - -You will need to configure Postgres to accept more connections. You can do this -by editing your `postgresql.conf`, and setting: - - max_connections = 40 - -To get this to work you will also need to change your kernel's shared memory -parameters. You can do this by running these shell commands: - - sudo sysctl -w kern.sysv.shmmax=8388608 - sudo sysctl -w kern.sysv.shmall=2048 - -You will need to restart Postgres for the max_connections parameter to -take effect. Once restarted, the test suite should pass for you. These changes -will not persist after a reboot, so you will have to set these again after -a reboot. - - API === @@ -379,7 +344,7 @@ an array of objects, one per week, showing aggregate numbers over time. The **[/about/stats.json](https://www.gittip.com/about/stats.json)** ([source](https://github.com/gittip/www.gittip.com/tree/master/www/about/stats.spt))—public—Returns an object giving a point-in-time snapshot of Gittip. The -[stats](https://www.gittip.com/about/stats.html.spt) page displays the same info. +[stats](https://www.gittip.com/about/stats.html) page displays the same info. **/`%username`/charts.json** ([example](https://www.gittip.com/Gittip/charts.json), @@ -511,21 +476,20 @@ and [crowdsourcing.org's](http://www.crowdsourcing.org/directory)* - [NetworkForGood](http://www1.networkforgood.org/) - [AnyFu](http://anyfu.com/) - hire an expert for one-on-one, screen-share work sessions - [OpenOfficeHours](http://ohours.org/) - - [VideoVivoApp](http://videovivoapp.com/) - - [TipJoy](http://techcrunch.com/2009/08/20/tipjoy-heads-to-the-deadpool/) [discontinued] + - [discontinued] [TipJoy](http://techcrunch.com/2009/08/20/tipjoy-heads-to-the-deadpool/) - [HopeMob](http://hopemob.org/) - [AwesomeFoundation](http://www.awesomefoundation.org/) - [CrowdRise](http://www.crowdrise.com/) - - [ChipIn](http://www.chipin.com/) + - [discontinued] [ChipIn](http://www.chipin.com/) - [Fundable](http://www.fundable.com/) - fund start-up companies - [ModestNeeds](https://www.modestneeds.org/) - crowdfunding campaigns in support of the “working poor” - [FreedomSponsors](http://www.freedomsponsors.org/) - Crowdfunding Free Software, one issue at a time - [GumRoad](https://gumroad.com/) - [MacHeist](http://macheist.com/) - [Prosper](http://www.prosper.com/) - peer-to-peer lending - - [Togather](http://togather.me/) + - [discontinued] [Togather](http://togather.me/) - [PaySwarm](http://payswarm.com/) - open payment protocol - - [Gitbo](http://git.bo/) - another implementation of the bounty model + - [discontinued] [Gitbo](http://git.bo/) - another implementation of the bounty model - [Affero](http://www.affero.com/) - old skool attempt “to bring a culture of patronage to the Internet” - [ShareAGift](http://www.shareagift.com) - one-off, crowd-sourced cash gifts - [GoFundMe](http://www.gofundme.com/) - derpy-looking platform that [reaches normal people](http://pittsburgh.cbslocal.com/2013/02/19/crowdfunding-growing-in-popularity-as-fundraising-tool/) (my dad emailed this link to me) @@ -537,7 +501,7 @@ and [crowdsourcing.org's](http://www.crowdsourcing.org/directory)* - [IssueHunter](http://issuehunter.co/) - FOSS bounty site - [TinyPass](http://www.tinypass.com/) - Soft paywall, used by e.g. [Daily Dish](http://dish.andrewsullivan.com/) - [Patreon](http://www.patreon.com/) - Patronage model for content creators(!) - - [WhyNotMe](http://www.whynotme.me/) - "Give as a group to any non-profit in America" + - [discontinued] [WhyNotMe](http://www.whynotme.me/) - "Give as a group to any non-profit in America" - [LoveMachine](http://web.archive.org/web/20110214110248/http://sendlove.us/trial/faq.php) - "the cool new employee recognition system" (supposedly came out of Linden Lab) - [See.Me](https://www.see.me/) - sustainable crowdfunding for artists - [NoiseTrade](http://www.noisetrade.com/) - band mailing lists + tips @@ -554,3 +518,6 @@ and [crowdsourcing.org's](http://www.crowdsourcing.org/directory)* - [PieTrust](http://www.pietrust.com/) - an "open company" developing a secure reputation system for sharing credit. - [BountyOSS](https://bountyoss.com/) - Where crowdfunding means business - [Suprmasv](https://www.suprmasv.com/) - Empowering the Hacker Class. + - [Tip4Commit](http://tip4commit.com/) - Donate bitcoins to open source projects or make commits and get tips for it. + - [BitHub](https://whispersystems.org/blog/bithub/) - An experiment in funding privacy OSS. + - [Fundly](https://fundly.com/) - Crowdfund Anything diff --git a/bin/post_compile b/bin/post_compile deleted file mode 100644 index 803f03097e..0000000000 --- a/bin/post_compile +++ /dev/null @@ -1,32 +0,0 @@ -#!/usr/bin/env bash - -# This script gets run by heroku-buildpack-python during deployment. - - -indent() { - sed -u 's/^/ /' -} - - - -# Install SASS. -# ============= -# Adapted from https://github.com/abhishekmunie/heroku-buildpack-static-css/blo -# b/d5879d74e615bb25db0ed3d780dba71def661b0b/bin/compile - -echo "-----> Installing SASS..." -mkdir /app/.gem -gem install sass --no-rdoc --no-ri --install-dir /app/.gem | indent - - -# Set up environment variables. -# ============================= -# This is done with a script in .profile.d/: -# -# https://devcenter.heroku.com/articles/profiled - -mkdir -p .profile.d -cat << EOF > .profile.d/gittip-sass.sh -export PATH=/app/.gem/bin:$PATH -export GEM_PATH=/app/.gem:$GEM_PATH -EOF diff --git a/configure-aspen.py b/configure-aspen.py index 4491375bae..0b6f143d8a 100644 --- a/configure-aspen.py +++ b/configure-aspen.py @@ -7,29 +7,74 @@ import gittip import gittip.wireup -import gittip.security.authentication -import gittip.security.csrf -import gittip.utils.cache_static +from gittip import canonize, configure_payments +from gittip.security import authentication, csrf, x_frame_options +from gittip.utils import cache_static, timer from aspen import log_dammit +# Wireup Algorithm +# ================ + version_file = os.path.join(website.www_root, 'version.txt') __version__ = open(version_file).read().strip() website.version = os.environ['__VERSION__'] = __version__ -website.renderer_default = "tornado" +website.renderer_default = "jinja2" +website.default_renderers_by_media_type['application/json'] = 'stdlib_format' + +website.renderer_factories['jinja2'].Renderer.global_context = { + 'range': range, + 'unicode': unicode, + 'enumerate': enumerate, + 'len': len, + 'float': float, + 'type': type, + 'str': str +} gittip.wireup.canonical() website.db = gittip.wireup.db() gittip.wireup.billing() gittip.wireup.username_restrictions(website) -gittip.wireup.mixpanel(website) gittip.wireup.nanswers() gittip.wireup.nmembers(website) gittip.wireup.envvars(website) -tell_sentry = gittip.wireup.sentry(website) +tell_sentry = gittip.wireup.make_sentry_teller(website) + + +# The homepage wants expensive queries. Let's periodically select into an +# intermediate table. + +UPDATE_HOMEPAGE_EVERY = int(os.environ['UPDATE_HOMEPAGE_EVERY']) +def update_homepage_queries(): + from gittip import utils + while 1: + try: + utils.update_global_stats(website) + utils.update_homepage_queries_once(website.db) + website.db.self_check() + except: + if tell_sentry: + tell_sentry(None) + else: + tb = traceback.format_exc().strip() + log_dammit(tb) + time.sleep(UPDATE_HOMEPAGE_EVERY) + +if UPDATE_HOMEPAGE_EVERY > 0: + homepage_updater = threading.Thread(target=update_homepage_queries) + homepage_updater.daemon = True + homepage_updater.start() +else: + from gittip import utils + utils.update_global_stats(website) + + +# Server Algorithm +# ================ def up_minthreads(website): # https://github.com/gittip/www.gittip.com/issues/1098 @@ -64,54 +109,14 @@ def log_busy_threads(): thread.start() -website.hooks.startup.insert(0, up_minthreads) -website.hooks.startup.append(setup_busy_threads_logging) - - -website.hooks.inbound_early += [ gittip.canonize - , gittip.configure_payments - , gittip.security.authentication.inbound - , gittip.security.csrf.inbound - ] +website.server_algorithm.insert_before('start', up_minthreads) +website.server_algorithm.insert_before('start', setup_busy_threads_logging) -website.hooks.inbound_late += [ gittip.utils.cache_static.inbound - #, gittip.security.authentication.check_role - #, participant.typecast - #, community.typecast - ] -website.hooks.outbound += [ gittip.security.authentication.outbound - , gittip.security.csrf.outbound - , gittip.utils.cache_static.outbound - ] +# Website Algorithm +# ================= - -# X-Frame-Origin -# ============== -# This is a security measure to prevent clickjacking: -# http://en.wikipedia.org/wiki/Clickjacking - -def x_frame_options(response): - if 'X-Frame-Options' not in response.headers: - response.headers['X-Frame-Options'] = 'SAMEORIGIN' - elif response.headers['X-Frame-Options'] == 'ALLOWALL': - - # ALLOWALL is non-standard. It's useful as a signal from a simplate - # that it doesn't want X-Frame-Options set at all, but because it's - # non-standard we don't send it. Instead we unset the header entirely, - # which has the desired effect of allowing framing indiscriminately. - # - # Refs.: - # - # http://en.wikipedia.org/wiki/Clickjacking#X-Frame-Options - # http://ipsec.pl/node/1094 - - del response.headers['X-Frame-Options'] - -website.hooks.outbound += [x_frame_options] - - -def add_stuff(request): +def add_stuff_to_context(request): from gittip.elsewhere import bitbucket, github, twitter, bountysource request.context['username'] = None request.context['bitbucket'] = bitbucket @@ -119,36 +124,38 @@ def add_stuff(request): request.context['twitter'] = twitter request.context['bountysource'] = bountysource -website.hooks.inbound_early += [add_stuff] -# The homepage wants expensive queries. Let's periodically select into an -# intermediate table. +algorithm = website.algorithm +algorithm.functions = [ timer.start + , algorithm['parse_environ_into_request'] + , algorithm['tack_website_onto_request'] + , algorithm['raise_200_for_OPTIONS'] -UPDATE_HOMEPAGE_EVERY = int(os.environ['UPDATE_HOMEPAGE_EVERY']) -def update_homepage_queries(): - from gittip import utils - while 1: - try: - utils.update_global_stats(website) - utils.update_homepage_queries_once(website.db) - website.db.self_check() - except: - if tell_sentry: - tell_sentry(None) - else: - tb = traceback.format_exc().strip() - log_dammit(tb) - time.sleep(UPDATE_HOMEPAGE_EVERY) + , canonize + , configure_payments + , authentication.inbound + , csrf.inbound + , add_stuff_to_context -if UPDATE_HOMEPAGE_EVERY > 0: - homepage_updater = threading.Thread(target=update_homepage_queries) - homepage_updater.daemon = True - homepage_updater.start() -else: - from gittip import utils - utils.update_global_stats(website) + , algorithm['dispatch_request_to_filesystem'] + , algorithm['apply_typecasters_to_path'] + + , cache_static.inbound + + , algorithm['get_response_for_socket'] + , algorithm['get_resource_for_request'] + , algorithm['get_response_for_resource'] + , algorithm['get_response_for_exception'] + + , authentication.outbound + , csrf.outbound + , cache_static.outbound + , x_frame_options + , algorithm['log_traceback_for_5xx'] + , algorithm['delegate_error_to_simplate'] + , algorithm['log_traceback_for_exception'] + , algorithm['log_result_of_request'] -# Do this last so we get accurate times. -if website.log_metrics: - gittip.wireup.request_metrics(website) + , timer.end + ] diff --git a/default_local.env b/default_local.env index cadf98d717..b1f1b77d22 100644 --- a/default_local.env +++ b/default_local.env @@ -4,9 +4,10 @@ CANONICAL_SCHEME=http MIN_THREADS=10 DATABASE_URL= DATABASE_MAXCONN=10 -GITTIP_CSS_HREF=https://www.gittip.com/assets/-/gittip.css +GITTIP_CSS_HREF=/assets/-/gittip.css GITTIP_JS_SRC=/assets/-/gittip.js GITTIP_CACHE_STATIC=no +GITTIP_COMPRESS_ASSETS=no STRIPE_SECRET_API_KEY=1 STRIPE_PUBLISHABLE_API_KEY=1 BALANCED_API_SECRET=90bb3648ca0a11e1a977026ba7e239a9 @@ -21,7 +22,6 @@ TWITTER_CONSUMER_SECRET=mUymh1hVMiQdMQbduQFYRi79EYYVeOZGrhj27H59H78 TWITTER_ACCESS_TOKEN=34175404-G6W8Hh19GWuUhIMEXK0LyZsy7N9aCMcy1bYJ9rI TWITTER_ACCESS_TOKEN_SECRET=K6wxV1OCsihZAkEPkWtoLYDiRJnWajBBWn4UgliTRQ TWITTER_CALLBACK=http://127.0.0.1:8537/on/twitter/associate -MIXPANEL_TOKEN=cb9dec68ac0ee57071f0be39f164a417 NANSWERS_THRESHOLD=2 NMEMBERS_THRESHOLD=50 UPDATE_HOMEPAGE_EVERY=10 @@ -30,7 +30,6 @@ BOUNTYSOURCE_API_HOST=https://staging-qa.bountysource.com BOUNTYSOURCE_WWW_HOST=https://staging.bountysource.com BOUNTYSOURCE_CALLBACK=http://127.0.0.1:8537/on/bountysource/associate GOOGLE_ANALYTICS_ID= -GAUGES_ID= SENTRY_DSN= LOG_BUSY_THREADS_EVERY=0 LOG_METRICS=0 diff --git a/default_tests.env b/default_tests.env index 06a6753e96..7b74ccff51 100644 --- a/default_tests.env +++ b/default_tests.env @@ -7,6 +7,7 @@ DATABASE_MAXCONN=10 GITTIP_CSS_HREF= GITTIP_JS_SRC= GITTIP_CACHE_STATIC=no +GITTIP_COMPRESS_ASSETS=no STRIPE_SECRET_API_KEY=1 STRIPE_PUBLISHABLE_API_KEY=1 BALANCED_API_SECRET=90bb3648ca0a11e1a977026ba7e239a9 @@ -21,7 +22,6 @@ TWITTER_CONSUMER_SECRET=mUymh1hVMiQdMQbduQFYRi79EYYVeOZGrhj27H59H78 TWITTER_ACCESS_TOKEN=34175404-G6W8Hh19GWuUhIMEXK0LyZsy7N9aCMcy1bYJ9rI TWITTER_ACCESS_TOKEN_SECRET=K6wxV1OCsihZAkEPkWtoLYDiRJnWajBBWn4UgliTRQ TWITTER_CALLBACK=http://127.0.0.1:8537/on/twitter/associate -MIXPANEL_TOKEN=cb9dec68ac0ee57071f0be39f164a417 NANSWERS_THRESHOLD=2 NMEMBERS_THRESHOLD=50 UPDATE_HOMEPAGE_EVERY=0 @@ -30,7 +30,6 @@ BOUNTYSOURCE_API_HOST=https://staging-qa.bountysource.com BOUNTYSOURCE_WWW_HOST=https://staging.bountysource.com BOUNTYSOURCE_CALLBACK=http://127.0.0.1:8537/on/bountysource/associate GOOGLE_ANALYTICS_ID= -GAUGES_ID= SENTRY_DSN= LOG_BUSY_THREADS_EVERY=0 LOG_METRICS=0 diff --git a/gittip/elsewhere/bitbucket.py b/gittip/elsewhere/bitbucket.py index 53a87c3672..600bd62eca 100644 --- a/gittip/elsewhere/bitbucket.py +++ b/gittip/elsewhere/bitbucket.py @@ -3,7 +3,7 @@ import gittip import requests from aspen import json, log, Response -from aspen.http.request import UnicodeWithParams +from aspen.http.request import PathPart from aspen.utils import typecheck from gittip.elsewhere import AccountElsewhere @@ -42,7 +42,7 @@ def get_user_info(db, username): :returns: A dictionary containing bitbucket specific information for the user. """ - typecheck(username, (unicode, UnicodeWithParams)) + typecheck(username, (unicode, PathPart)) rec = db.one(""" SELECT user_info FROM elsewhere WHERE platform='bitbucket' diff --git a/gittip/elsewhere/github.py b/gittip/elsewhere/github.py index d2adc42b03..a5e0f454c8 100644 --- a/gittip/elsewhere/github.py +++ b/gittip/elsewhere/github.py @@ -4,7 +4,7 @@ import requests import os from aspen import json, Response -from aspen.http.request import UnicodeWithParams +from aspen.http.request import PathPart from aspen.utils import typecheck from aspen.website import Website from gittip import log @@ -89,7 +89,7 @@ def get_user_info(db, login): :returns: A dictionary containing github specific information for the user. """ - typecheck(login, (unicode, UnicodeWithParams)) + typecheck(login, (unicode, PathPart)) rec = db.one(""" SELECT user_info FROM elsewhere WHERE platform='github' diff --git a/gittip/elsewhere/twitter.py b/gittip/elsewhere/twitter.py index dd32631d8a..79f5cac95f 100644 --- a/gittip/elsewhere/twitter.py +++ b/gittip/elsewhere/twitter.py @@ -2,7 +2,7 @@ import gittip import requests from aspen import json, log, Response -from aspen.http.request import UnicodeWithParams +from aspen.http.request import PathPart from aspen.utils import to_age, utc, typecheck from gittip.elsewhere import AccountElsewhere from os import environ @@ -33,7 +33,7 @@ def oauth_url(website, action, then=""): def get_user_info(db, screen_name): """Given a unicode, return a dict. """ - typecheck(screen_name, (unicode, UnicodeWithParams)) + typecheck(screen_name, (unicode, PathPart)) rec = db.one(""" SELECT user_info FROM elsewhere WHERE platform='twitter' diff --git a/gittip/security/__init__.py b/gittip/security/__init__.py index e69de29bb2..0d730ae6f7 100644 --- a/gittip/security/__init__.py +++ b/gittip/security/__init__.py @@ -0,0 +1,22 @@ +def x_frame_options(response): + """X-Frame-Origin + + This is a security measure to prevent clickjacking: + http://en.wikipedia.org/wiki/Clickjacking + + """ + if 'X-Frame-Options' not in response.headers: + response.headers['X-Frame-Options'] = 'SAMEORIGIN' + elif response.headers['X-Frame-Options'] == 'ALLOWALL': + + # ALLOWALL is non-standard. It's useful as a signal from a simplate + # that it doesn't want X-Frame-Options set at all, but because it's + # non-standard we don't send it. Instead we unset the header entirely, + # which has the desired effect of allowing framing indiscriminately. + # + # Refs.: + # + # http://en.wikipedia.org/wiki/Clickjacking#X-Frame-Options + # http://ipsec.pl/node/1094 + + del response.headers['X-Frame-Options'] diff --git a/gittip/security/authentication.py b/gittip/security/authentication.py index e1d3dccc0a..8f7e94f0af 100644 --- a/gittip/security/authentication.py +++ b/gittip/security/authentication.py @@ -76,9 +76,9 @@ def check_role(request): request.redirect('..') -def outbound(response): - if 'user' in response.request.context: - user = response.request.context['user'] +def outbound(request, response): + if 'user' in request.context: + user = request.context['user'] if not isinstance(user, User): raise Response(400, "If you define 'user' in a simplate it has to " "be a User instance.") @@ -86,7 +86,7 @@ def outbound(response): user = User() if user.ANON: # user is anonymous - if 'session' not in response.request.headers.cookie: + if 'session' not in request.headers.cookie: # no cookie in the request, don't set one on response return else: diff --git a/gittip/security/csrf.py b/gittip/security/csrf.py index ef76215621..8bde4b0973 100644 --- a/gittip/security/csrf.py +++ b/gittip/security/csrf.py @@ -149,9 +149,9 @@ def inbound(request): raise Response(403, REASON_BAD_TOKEN) -def outbound(response): +def outbound(request, response): - csrf_token = response.request.context.get('csrf_token') + csrf_token = request.context.get('csrf_token') # If csrf_token is unset, then inbound was never called, probaby because diff --git a/gittip/testing/__init__.py b/gittip/testing/__init__.py index ff28c08873..099aa3d929 100644 --- a/gittip/testing/__init__.py +++ b/gittip/testing/__init__.py @@ -1,26 +1,27 @@ """Helpers for testing Gittip. """ -from __future__ import print_function, unicode_literals +from __future__ import absolute_import, division, print_function, unicode_literals import datetime -import random import unittest from decimal import Decimal from os.path import join, dirname, realpath -import gittip import pytz from aspen import resources -from aspen.testing import Website, StubRequest -from aspen.utils import utcnow +from aspen.testing.client import Client from gittip.billing.payday import Payday from gittip.models.participant import Participant from gittip.security.user import User +from gittip import wireup from psycopg2 import IntegrityError, InternalError -TOP = join(realpath(dirname(dirname(__file__))), '..') +TOP = realpath(join(dirname(dirname(__file__)), '..')) SCHEMA = open(join(TOP, "schema.sql")).read() +WWW_ROOT = str(realpath(join(TOP, 'www'))) +PROJECT_ROOT = str(TOP) + DUMMY_GITHUB_JSON = u'{"html_url":"https://github.com/whit537","type":"User",'\ '"public_repos":25,"blog":"http://whit537.org/","gravatar_id":"fb054b407a6461'\ @@ -69,29 +70,64 @@ # JSON data as returned from bountysource for corytheboyd! hello, whit537 ;) +class ClientWithAuth(Client): + + def __init__(self, *a, **kw): + Client.__init__(self, *a, **kw) + Client.website = Client.hydrate_website(self) + + def build_wsgi_environ(self, *a, **kw): + """Extend base class to support authenticating as a certain user. + """ + + # csrf - for both anon and authenticated + self.cookie[b'csrf_token'] = b'sotokeny' + kw[b'HTTP_X-CSRF-TOKEN'] = b'sotokeny' + + # user authentication + auth_as = kw.pop('auth_as', None) + if auth_as is None: + if b'session' in self.cookie: + del self.cookie[b'session'] + else: + user = User.from_username(auth_as) + user.sign_in() + self.cookie[b'session'] = user.participant.session_token + + return Client.build_wsgi_environ(self, *a, **kw) + + class Harness(unittest.TestCase): @classmethod def setUpClass(cls): - cls.db = test_website.db - cls._tablenames = cls.db.all("SELECT tablename FROM pg_tables " - "WHERE schemaname='public'") - cls.clear_tables(cls.db, cls._tablenames[:]) + cls.client = ClientWithAuth(www_root=WWW_ROOT, project_root=PROJECT_ROOT) + cls.db = cls.client.website.db + cls.tablenames = cls.db.all("SELECT tablename FROM pg_tables " + "WHERE schemaname='public'") cls.seq = 0 + + def setUp(self): + self.clear_tables() + + def tearDown(self): - self.clear_tables(self.db, self._tablenames[:]) + resources.__cache__ = {} # Clear the simplate cache. + self.clear_tables() + - @staticmethod - def clear_tables(db, tablenames): + def clear_tables(self): + tablenames = self.tablenames[:] while tablenames: tablename = tablenames.pop() try: # I tried TRUNCATE but that was way slower for me. - db.run("DELETE FROM %s CASCADE" % tablename) + self.db.run("DELETE FROM %s CASCADE" % tablename) except (IntegrityError, InternalError): tablenames.insert(0, tablename) + def show_table(self, table): print('\n{:=^80}'.format(table)) data = self.db.all('select * from '+table, back_as='namedtuple') @@ -109,7 +145,11 @@ def show_table(self, table): print("{0:{width}}".format(unicode(v), width=w), end=' | ') print() + def make_participant(self, username, **kw): + # At this point wireup.db() has been called, but not ... + wireup.username_restrictions(self.client.website) + participant = Participant.with_random_username() participant.change_username(username) @@ -131,6 +171,7 @@ def make_participant(self, username, **kw): return participant + def make_payday(self, *transfers): with self.db.get_cursor() as cursor: @@ -156,168 +197,3 @@ class GittipPaydayTest(Harness): def setUp(self): super(GittipPaydayTest, self).setUp() self.payday = Payday(self.db) - - -# Helpers for managing test data. -# =============================== - -def start_payday(*data): - context = load(*data) - context.payday = Payday(test_website.db) - ts_start = context.payday.start() - context.payday.zero_out_pending(ts_start) - context.ts_start = ts_start - return context - - -def setup_tips(*recs): - """Setup some participants and tips. recs is a list of:: - - ("tipper", "tippee", '2.00', True, False, True, "github", "12345") - ^ ^ ^ - | | | - | | -- claimed? - | -- is_suspicious? - |-- good cc? - - tipper must be a unicode - tippee can be None or unicode - amount can be None or unicode - good_cc can be True, False, or None - is_suspicious can be True, False, or None - claimed can be True or False - platform can be unicode - user_id can be unicode - - """ - tips = [] - - _participants = {} - randid = lambda: unicode(random.randint(1, 1000000)) - - for rec in recs: - good_cc, is_suspicious, claimed, platform, user_id = \ - (True, False, True, "github", randid()) - - if len(rec) == 3: - tipper, tippee, amount = rec - elif len(rec) == 4: - tipper, tippee, amount, good_cc = rec - is_suspicious, claimed = (False, True) - elif len(rec) == 5: - tipper, tippee, amount, good_cc, is_suspicious = rec - claimed = True - elif len(rec) == 6: - tipper, tippee, amount, good_cc, is_suspicious, claimed = rec - elif len(rec) == 7: - tipper, tippee, amount, good_cc, is_suspicious, claimed, platform \ - = rec - elif len(rec) == 8: - tipper, tippee, amount, good_cc, is_suspicious, claimed, \ - platform, user_id = rec - else: - raise Exception(rec) - - assert good_cc in (True, False, None), good_cc - assert is_suspicious in (True, False, None), is_suspicious - _participants[tipper] = \ - (good_cc, is_suspicious, True, platform, user_id) - - if tippee is None: - continue - assert claimed in (True, False), claimed # refers to tippee - if tippee not in _participants: - _participants[tippee] = (None, False, claimed, "github", randid()) - now = utcnow() - tips.append({ "ctime": now - , "mtime": now - , "tipper": tipper - , "tippee": tippee - , "amount": Decimal(amount) - }) - - then = utcnow() - datetime.timedelta(seconds=3600) - - participants = [] - elsewhere = [] - for username, crap in _participants.items(): - (good_cc, is_suspicious, claimed, platform, user_id) = crap - username_key = "login" if platform == 'github' else "screen_name" - elsewhere.append({ "platform": platform - , "user_id": user_id - , "participant": username - , "user_info": { "id": user_id - , username_key: username - } - }) - rec = {"username": username} - if good_cc is not None: - rec["last_bill_result"] = "" if good_cc else "Failure!" - rec["balanced_account_uri"] = "/v1/blah/blah/" + username - rec["is_suspicious"] = is_suspicious - if claimed: - rec["claimed_time"] = then - participants.append(rec) - - return ["participants"] + participants \ - + ["tips"] + tips \ - + ["elsewhere"] + elsewhere - - -def tip_graph(*a, **kw): - context = load(*setup_tips(*a, **kw)) - - def resolve_elsewhere(username): - recs = context.db.all( "SELECT platform, user_id FROM elsewhere " - "WHERE participant=%s" - , (username,) - ) - if recs is not None: - recs = [(rec['platform'], rec['user_id']) for rec in recs] - return recs - - context.resolve_elsewhere = resolve_elsewhere # Wheeee! :D - - return context - - -# Helpers for testing simplates. -# ============================== - -test_website = Website([ '--www_root', str(join(TOP, 'www')) - , '--project_root', str(TOP) - , '--show_tracebacks', str('yes') - ]) - -def serve_request(path, user=None): - """Given an URL path, return response. - """ - request = StubRequest(path) - request.website = test_website - if user is not None: - user = User.from_username(user) - # Note that Cookie needs a bytestring. - request.headers.cookie[str('session')] = user.session_token - response = test_website.handle_safely(request) - return response - -def load_request(path): - """Given an URL path, return request. - """ - request = StubRequest(path) - request.website = test_website - - # XXX HACK - aspen.website should be refactored - from aspen import dispatcher, sockets - test_website.hooks.run('inbound_early', request) - dispatcher.dispatch(request) # sets request.fs - request.socket = sockets.get(request) - test_website.hooks.run('inbound_late', request) - - return request - -def load_simplate(path): - """Given an URL path, return resource. - """ - request = load_request(path) - return resources.get(request) diff --git a/gittip/testing/client.py b/gittip/testing/client.py deleted file mode 100644 index 50544235b1..0000000000 --- a/gittip/testing/client.py +++ /dev/null @@ -1,106 +0,0 @@ -from __future__ import print_function, unicode_literals - -from Cookie import SimpleCookie -from StringIO import StringIO - -from aspen.http.request import Request -from aspen.testing import StubWSGIRequest -from gittip.security.user import User -from gittip.testing import test_website - - -BOUNDARY = b'BoUnDaRyStRiNg' -MULTIPART_CONTENT = b'multipart/form-data; boundary=%s' % BOUNDARY - - -def encode_multipart(boundary, data): - """ - Encodes multipart POST data from a dictionary of form values. - - Borrowed from Django - The key will be used as the form data name; the value will be transmitted - as content. If the value is a file, the contents of the file will be sent - as an application/octet-stream; otherwise, str(value) will be sent. - """ - lines = [] - - for (key, value) in data.items(): - lines.extend([ - b'--' + boundary, - b'Content-Disposition: form-data; name="%s"' % str(key), - b'', - str(value) - ]) - - lines.extend([ - b'--' + boundary + b'--', - b'', - ]) - return b'\r\n'.join(lines) - - -# XXX TODO: Move the TestClient up into the Aspen code base so it can be shared -# and used on other OSS projects. - -class TestClient(object): - - def __init__(self): - self.cookies = SimpleCookie() - - def get_request(self, path, method="GET", body=b'', - **extra): - env = StubWSGIRequest(path.encode('utf8')) - env[b'REQUEST_METHOD'] = method.encode('utf8') - env[b'wsgi.input'] = StringIO(body) - env[b'HTTP_COOKIE'] = self.cookies.output(header='', sep='; ').encode('utf8') - for k,v in extra.items(): - env[k.encode('utf8')] = v.encode('utf8') - return Request.from_wsgi(env) - - def perform_request(self, request, user): - request.website = test_website - if user is not None: - user = User.from_username(user) - user.sign_in() - # Note that Cookie needs a bytestring. - request.headers.cookie[str('session')] = \ - user.participant.session_token - - response = test_website.handle_safely(request) - if response.headers.cookie: - self.cookies.update(response.headers.cookie) - return response - - def post(self, path, data, user=None, content_type=MULTIPART_CONTENT, - **extra): - """Perform a dummy POST request against the test website. - - :param path: - The url to perform the virutal-POST to. - - :param data: - A dictionary or list of tuples to be encoded before being POSTed. - - :param user: - The user id performing the POST. - - Any additional parameters will be sent as headers. NOTE that in Aspen - (request.py make_franken_headers) only headers beginning with ``HTTP`` - are included in the request - and those are changed to no longer - include ``HTTP``. There are currently 2 exceptions to this: - ``'CONTENT_TYPE'``, ``'CONTENT_LENGTH'`` which are explicitly checked - for. - """ - post_data = data - - if content_type is MULTIPART_CONTENT: - post_data = encode_multipart(BOUNDARY, data) - - request = self.get_request(path, "POST", post_data, - CONTENT_TYPE=str(content_type), - **extra) - return self.perform_request(request, user) - - def get(self, path, user=None, **extra): - request = self.get_request(path, "GET", **extra) - return self.perform_request(request, user) diff --git a/gittip/utils/__init__.py b/gittip/utils/__init__.py index 42aeb18aa5..cfddc565f0 100644 --- a/gittip/utils/__init__.py +++ b/gittip/utils/__init__.py @@ -2,11 +2,11 @@ import time import gittip +import re from aspen import log_dammit, Response from aspen.utils import typecheck -from tornado.escape import linkify from postgres.cursors import SimpleCursorBase - +from jinja2 import escape COUNTRIES = ( ('AF', u'Afghanistan'), @@ -266,10 +266,17 @@ def wrap(u): """Given a unicode, return a unicode. """ typecheck(u, unicode) - u = linkify(u) # Do this first, because it calls xthml_escape. - u = u.replace(u'\r\n', u'
\r\n').replace(u'\n', u'
\n') - return u if u else '...' + linkified = linkify(u) # Do this first, because it calls xthml_escape. + out = linkified.replace(u'\r\n', u'
\r\n').replace(u'\n', u'
\n') + return out if out else '...' + +def linkify(u): + escaped = unicode(escape(u)) + + urls = re.compile(r"((https?):((//)|(\\\\))+[\w\d:#@%/;$()~_?\+-=\\\.&]*)", re.MULTILINE|re.UNICODE) + value = urls.sub(r'\1', escaped) + return value def dict_to_querystring(mapping): if not mapping: diff --git a/gittip/utils/cache_static.py b/gittip/utils/cache_static.py index 98d3791b5e..a1058d9534 100644 --- a/gittip/utils/cache_static.py +++ b/gittip/utils/cache_static.py @@ -95,11 +95,9 @@ def inbound(request): raise response -def outbound(response): +def outbound(request, response, website): """Set caching headers for resources under assets/. """ - request = response.request - website = request.website uri = request.line.uri version = website.version diff --git a/gittip/utils/mixpanel.py b/gittip/utils/mixpanel.py deleted file mode 100644 index 85da5d7ff2..0000000000 --- a/gittip/utils/mixpanel.py +++ /dev/null @@ -1,78 +0,0 @@ -"""Implement a Mixpanel wrapper. - -Mixpanel doesn't maintain a Python library. Their docs show you how to use cURL -via subprocess(!): - - https://mixpanel.com/docs/integration-libraries/python - -They try to steer you towards their JavaScript library. Now, you're supposed to -"do your best to only call alias once on each new user." - - https://mixpanel.com/docs/integration-libraries/using-mixpanel-alias - -The trouble is that we don't have a single landing page when a user registers. -Instead we redirect them back to the page they were on or possibly elsewhere. -Rather than trying to signal to gittip.js somehow that it should alias the -user, we simply do the aliasing server-side. For tracking we still use the -JavaScript library. - -I thought about implementing the HTTP call in a thread with a queue, but -decided to keep it simple for now. What happens when a client-side track call -happens before a server-side alias call lands, for example? - -""" -from __future__ import unicode_literals - -from Cookie import SimpleCookie -from urllib import unquote - -import requests -from aspen import json -from aspen.utils import typecheck - - -MIXPANEL_TOKEN = None -session = requests.session() - - -def alias_and_track(cookie, gittip_user_id): - """Given a cookie and a unicode, hit Mixpanel in a thread. - """ - typecheck(cookie, SimpleCookie, gittip_user_id, unicode) - - # Pull distinct_id out of Mixpanel cookie. Yay undocumented internals! - # This is bound to fail some day. Since this is in a thread, it shouldn't - # affect the user experience, and we'll still get a record of the failure - # in Sentry. - - mpcookie = [v for k, v in cookie.items() if k.endswith('_mixpanel')] - if mpcookie: - distinct_id = json.loads(unquote(mpcookie[0].value))['distinct_id'] - distinct_id = distinct_id.decode("utf8") - alias(distinct_id, gittip_user_id) - - track(gittip_user_id, u"Opt In") - - -def alias(mixpanel_user_id, gittip_user_id): - track(mixpanel_user_id, "$create_alias", {"alias": gittip_user_id}) - - -def track(user_id, event, properties=None): - if MIXPANEL_TOKEN is None: - return - - typecheck(user_id, unicode, event, unicode, properties, (None, dict)) - if properties is None: - properties = {} - properties['token'] = MIXPANEL_TOKEN - properties['distinct_id'] = user_id - data = {"event": event, "properties": properties} - data = json.dumps(data).encode("base64") - #response = session.get("http://api.mixpanel.com/track?data=" + data) - response = session.get("http://api.mixpanel.com/track", - params={'data': data}) - - # Read response.content to take advantage of keep-alive. See: - # http://docs.python-requests.org/en/latest/user/advanced/#keep-alive - response.content diff --git a/gittip/wireup.py b/gittip/wireup.py index f0e1e8e6b5..47a4cd570b 100644 --- a/gittip/wireup.py +++ b/gittip/wireup.py @@ -3,8 +3,6 @@ from __future__ import absolute_import, division, print_function, unicode_literals import os import sys -import threading -import time import aspen import balanced @@ -12,7 +10,6 @@ import raven import psycopg2 import stripe -import gittip.utils.mixpanel from gittip.models.community import Community from gittip.models.participant import Participant from gittip.models import GittipDB @@ -23,7 +20,6 @@ def canonical(): gittip.canonical_host = os.environ['CANONICAL_HOST'] -# wireup.db() should only ever be called once by the application def db(): dburl = os.environ['DATABASE_URL'] maxconn = int(os.environ['DATABASE_MAXCONN']) @@ -46,24 +42,14 @@ def billing(): def username_restrictions(website): - gittip.RESTRICTED_USERNAMES = os.listdir(website.www_root) + if not hasattr(gittip, 'RESTRICTED_USERNAMES'): + gittip.RESTRICTED_USERNAMES = os.listdir(website.www_root) -def request_metrics(website): - def add_start_timestamp(request): - request.x_start = time.time() - def log_request_count_and_response_time(response): - print("count#requests=1") - response_time = time.time() - response.request.x_start - print("measure#response_time={}ms".format(response_time * 1000)) - website.hooks.inbound_early.insert(0, add_start_timestamp) - website.hooks.outbound += [log_request_count_and_response_time] - - -def sentry(website): +def make_sentry_teller(website): if not website.sentry_dsn: aspen.log_dammit("Won't log to Sentry (SENTRY_DSN is empty).") - return + return None sentry = raven.Client(website.sentry_dsn) @@ -145,14 +131,8 @@ def tell_sentry(request): aspen.log_dammit('Exception reference: ' + ident) - website.hooks.error_early += [tell_sentry] return tell_sentry - -def mixpanel(website): - website.mixpanel_token = os.environ['MIXPANEL_TOKEN'] - gittip.utils.mixpanel.MIXPANEL_TOKEN = os.environ['MIXPANEL_TOKEN'] - def nanswers(): from gittip.models import participant participant.NANSWERS_THRESHOLD = int(os.environ['NANSWERS_THRESHOLD']) @@ -162,6 +142,10 @@ def nmembers(website): community.NMEMBERS_THRESHOLD = int(os.environ['NMEMBERS_THRESHOLD']) website.NMEMBERS_THRESHOLD = community.NMEMBERS_THRESHOLD + +class BadEnvironment(SystemExit): + pass + def envvars(website): missing_keys = [] @@ -208,9 +192,9 @@ def is_yesish(val): website.js_src = envvar('GITTIP_JS_SRC') \ .replace('%version', website.version) website.cache_static = is_yesish(envvar('GITTIP_CACHE_STATIC')) + website.compress_assets = is_yesish(envvar('GITTIP_COMPRESS_ASSETS')) website.google_analytics_id = envvar('GOOGLE_ANALYTICS_ID') - website.gauges_id = envvar('GAUGES_ID') website.sentry_dsn = envvar('SENTRY_DSN') website.min_threads = envvar('MIN_THREADS', int) @@ -232,7 +216,8 @@ def is_yesish(val): aspen.log_dammit("See ./default_local.env for hints.") aspen.log_dammit("=" * 42) - raise SystemExit + keys = ', '.join([key for key in malformed_values]) + raise BadEnvironment("Malformed envvar{}: {}.".format(plural, keys)) if missing_keys: missing_keys.sort() @@ -256,4 +241,5 @@ def is_yesish(val): aspen.log_dammit("See ./default_local.env for hints.") aspen.log_dammit("=" * 42) - raise SystemExit + keys = ', '.join([key for key in missing_keys]) + raise BadEnvironment("Missing envvar{}: {}.".format(plural, keys)) diff --git a/img-src/success.png b/img-src/success.png index f6a46bd3d4a4a4c43e577feb1c6b08f0aa158ee3..7035b678614bdab3c27cc3b558ae7072b75cc183 100644 GIT binary patch literal 199851 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

oCRVW=t6Sz^uJyX3X^E>jp;s{AHvCS(T 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 r$p77b@0c literal 280170 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%0A{ky}xG&+uG;5AUXlO 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%0D2p*!3)!rRDw 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�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 - + @@ -28,17 +26,8 @@ - - - - - {% block head %}{% end %} - {% block head2 %}{% end %} + {% block head %}{% endblock %} + {% block head2 %}{% endblock %} @@ -55,7 +44,7 @@

{{ website.gnactive }} users exchanging ${{ website.gtransfer_volume }} per week {% if user.ANON %} - {% include sign-in-using.html %} + {% include "templates/sign-in-using.html" %} {% else %}
{{ user.participant.username }} – @@ -65,28 +54,28 @@

Receiving: ${{ user.participant.get_dollars_receiving() }}/wk

- {% end %} + {% endif %}
{% block heading %} - {% if 'title' in globals() %} + {% if title %}

{{ title }}

- {% end %} - {% end %} + {% endif %} + {% endblock %}
{% block killbox %}
- {% block box %}{% end %} + {% block box %}{% endblock %}
- {% end %} + {% endblock %}
- {% block page %}{% end %} + {% block page %}{% endblock %}
diff --git a/templates/community-listing.html b/templates/community-listing.html index d0bc456843..b48fbfe8ea 100644 --- a/templates/community-listing.html +++ b/templates/community-listing.html @@ -8,6 +8,6 @@

Communities

with {{ nothers }} other{{ plural(nothers) }}
- {% end %} + {% endfor %} Join Communities diff --git a/templates/connected-accounts.html b/templates/connected-accounts.html index 36b1269f6f..178ef0daed 100644 --- a/templates/connected-accounts.html +++ b/templates/connected-accounts.html @@ -1,28 +1,27 @@

Connected Accounts

- @@ -30,22 +29,22 @@

Connected Accounts

@@ -53,23 +52,23 @@

Connected Accounts

@@ -77,23 +76,23 @@

Connected Accounts

@@ -108,23 +107,23 @@

Connected Accounts

These spans are here because otherwise Chrome effs up the unicode(?!) --> - {% if participant.last_bill_result != "" %}✘{% else %}✔{% end %} + {% if participant.last_bill_result != "" %}✘{% else %}✔{% endif %}       Bank account: - {% if participant.last_ach_result != "" %}✘{% else %}✔{% end %} + {% if participant.last_ach_result != "" %}✘{% else %}✔{% endif %} {% else %} Credit card: - {% if participant.last_bill_result != "" %}✘{% else %}✔{% end %} + {% if participant.last_bill_result != "" %}✘{% else %}✔{% endif %}       Bank account: - {% if participant.last_ach_result != "" %}✘{% else %}✔{% end %} + {% if participant.last_ach_result != "" %}✘{% else %}✔{% endif %} - {% end %} + {% endif %} + >on Balanced Payments{% else %}on Balanced Payments{% endif %}
diff --git a/templates/for-contributors.html b/templates/for-contributors.html index eebd91a4e5..c69ebd5c63 100644 --- a/templates/for-contributors.html +++ b/templates/for-contributors.html @@ -1,4 +1,4 @@ -{% extends base.html %} +{% extends "templates/base.html" %} {% block head %} -{% end %} +{% endblock %} {% block heading %}

For Contributors

-{% end %} +{% endblock %} {% block box %} {% set current_page = path.raw.split('/')[3] %} {% set nav_base = "/for/contributors" %} {% if len(path.raw.split('/')) > 4 %} {% set current_page = path.raw.split('/')[4] %} {% set nav_base = "/for/contributors/ways-to-help" %} - {% end %} -{% end %} + {% endif %} +{% endblock %} diff --git a/templates/my-tip-bulk.html b/templates/my-tip-bulk.html index 860effc0a0..d50ea8a8e7 100644 --- a/templates/my-tip-bulk.html +++ b/templates/my-tip-bulk.html @@ -1,13 +1,12 @@ -
+
$ / wk + data-tippee="{{ tippee }}"> / week Cancel -
+ diff --git a/templates/my-tip.html b/templates/my-tip.html index d769d2d12a..266fb4e10d 100644 --- a/templates/my-tip.html +++ b/templates/my-tip.html @@ -1,20 +1,20 @@ -
-
-
- $ / week -
+
+
+
+ $ / week +
- -
+ +
-
-
- Cancel -
-
+ + diff --git a/templates/nav.html b/templates/nav.html index 267112ee45..018603fed4 100644 --- a/templates/nav.html +++ b/templates/nav.html @@ -1,8 +1,8 @@ {% for slug, name in pages %} -{% if slug is None %} +{% if slug == None %}

{% else %} {{ name }} -{% end %} -{% end %} + class="selected"{% endif %}>{{ name }} +{% endif %} +{% endfor %} diff --git a/templates/participant.html b/templates/participant.html index d8eac2cdc2..b3812ab0e8 100644 --- a/templates/participant.html +++ b/templates/participant.html @@ -1,67 +1,67 @@ -{% extends base.html %} +{% extends "templates/base.html" %} {% block box %} - +
- {% set g = giving = participant.get_dollars_giving() %} - {% set r = receiving = participant.get_dollars_receiving() %} + {% set giving = participant.get_dollars_giving() %} + {% set receiving = participant.get_dollars_receiving() %} - {% if g > r and not participant.anonymous %} + {% if giving > receiving and not participant.anonymous %}

{{ participant.username }} gives

{% if user.participant == participant %} ${{ giving }} {% else %} ${{ giving }} - {% end %} + {% endif %}
per - week{% if r > 0 %}, and receives ${{ receiving }}{% end %} + week{% if receiving > 0 %}, and receives ${{ receiving }}{% endif %}
- {% elif r > 0 %} + {% elif receiving > 0 %}

{{ participant.username }} receives

${{ receiving }}
per - week{% if g > 0 %}, and gives + week{% if giving > 0 %}, and gives {% if participant.anonymous %} anonymously {% elif user.participant == participant %} ${{ giving }} {% else %} ${{ giving }} - {% end %} - {% end %} + {% endif %} + {% endif %}
{% else %} {% set age = participant.get_age_in_seconds() %}

{{ participant.username }} - {% if g > 0 %} + {% if giving > 0 %} gives anonymously {% elif age < 60 %} just joined Gittip! :D {% elif age < (60 * 60 * 24 * 7) %} joined recently {% else %} - is lurking - {% end %} + is quietly watching the Gittip world + {% endif %}

- {% end %} + {% endif %}
{% if participant.accepts_tips %} {% if (user.ANON or (participant != user.participant)) %} -{% include "participant.tip.html" %} -{% end %} -{% end %} +{% include "templates/participant.tip.html" %} +{% endif %} +{% endif %} -{% block nav %}{% end %} +{% block nav %}{% endblock %} {% if participant.username == 'aaronsw' %} diff --git a/templates/profile-edit.html b/templates/profile-edit.html index c30070415a..fb1f521a82 100644 --- a/templates/profile-edit.html +++ b/templates/profile-edit.html @@ -4,8 +4,8 @@

You are - {{ escape(user.participant.username) }} - + {{ user.participant.username|e }} + @@ -18,7 +18,7 @@

Have you linked to your Gittip profile from other

@@ -57,8 +57,8 @@

Statement - {% include "team-listing.html" %} - {% include "community-listing.html" %} + {% include "templates/team-listing.html" %} + {% include "templates/community-listing.html" %} @@ -78,38 +78,38 @@

Funding Goal Gittip. {% elif user.participant.goal == 0 %} {{ I_M }} here as a patron. - {% elif user.participant.goal is None %} + {% elif user.participant.goal == None %} {{ I_M }} grateful for gifts, but don't have a specific funding goal. {% else %} {{ I_M }} here as a patron, and politely decline to receive gifts. - {% end %} + {% endif %}
0 %} checked="true"{% end %}/> + {% if user.participant.goal > 0 %} checked="true"{% endif %}/> + {% endif %} />
+ {% if user.participant.goal == None %} checked="true"{% endif %}/>
+ {% if user.participant.goal == 0 %} checked="true"{% endif %}/> @@ -117,18 +117,18 @@

Funding Goal + {% if (user.participant.goal != None) and user.participant.goal < 0 %} checked="true"{% endif %}/>

- {% include "charts-for-user.html" %} + {% include "templates/charts-for-user.html" %} - {% include "connected-accounts.html" %} + {% include "templates/connected-accounts.html" %} @@ -149,7 +149,7 @@

API Key

{% set tip_distribution = participant.get_tip_distribution()[0] %}

Tips Received, by Number of Tips

- {% include "tip-distribution.html" %} + {% include "templates/tip-distribution.html" %}
@@ -166,8 +166,8 @@

Tips Received, by Dollar Amount

(${{ summed }}) - {% end %} + {% endfor %}
-{% end %} +{% endif %} diff --git a/templates/profile.html b/templates/profile.html index 2f143e311e..f4d75d4f5d 100644 --- a/templates/profile.html +++ b/templates/profile.html @@ -1,41 +1,34 @@ -{% extends "participant.html" %} +{% extends "templates/participant.html" %} {% block head2 %} - {% if user.ADMIN %}{% end %} + {% if user.ADMIN %}{% endif %} -{% end %} +{% endblock %} -{% block heading %}

{{ hero }}

{% end %} +{% block heading %}

{{ hero }}

{% endblock %} {% block nav %} {% set current_page = path.raw.split('/')[2] %} {% if user.participant == participant or user.ADMIN %} {% elif participant.show_as_team(user) %} -{% else %} - -{% end %} -{% end %} +{% endif %} +{% endblock %} diff --git a/templates/sign-in-using-to-give.html b/templates/sign-in-using-to-give.html index 73eccf73a2..ff9b3414eb 100644 --- a/templates/sign-in-using-to-give.html +++ b/templates/sign-in-using-to-give.html @@ -1,5 +1,5 @@ diff --git a/templates/sign-in-using.html b/templates/sign-in-using.html index d0dcd6638c..7263062ecc 100644 --- a/templates/sign-in-using.html +++ b/templates/sign-in-using.html @@ -3,17 +3,17 @@ Sign in -{% end %} +{% endif %} diff --git a/templates/tip-distribution.html b/templates/tip-distribution.html index 68b2e0ad59..265290d1c9 100644 --- a/templates/tip-distribution.html +++ b/templates/tip-distribution.html @@ -9,5 +9,5 @@ ({{ ncontributors }}) - {% end %} + {% endfor %} diff --git a/tests/test_anonymous_json.py b/tests/test_anonymous_json.py index 72d2e5effe..f3eb2e7c5d 100644 --- a/tests/test_anonymous_json.py +++ b/tests/test_anonymous_json.py @@ -1,31 +1,17 @@ from __future__ import print_function, unicode_literals from aspen import json - -from gittip.elsewhere.twitter import TwitterAccount from gittip.testing import Harness -from gittip.testing.client import TestClient class Tests(Harness): + def setUp(self): + Harness.setUp(self) + self.make_participant('alice') + def hit_anonymous(self, method='GET', expected_code=200): - user, ignored = TwitterAccount(self.db, 'alice', {}).opt_in('alice') - - client = TestClient() - response = client.get('/') - csrf_token = response.request.context['csrf_token'] - - if method == 'GET': - response = client.get( "/alice/anonymous.json" - , user='alice' - ) - else: - assert method == 'POST' - response = client.post( "/alice/anonymous.json" - , {'csrf_token': csrf_token} - , user='alice' - ) + response = self.client.hit(method, "/alice/anonymous.json", auth_as='alice') if response.code != expected_code: print(response.body) return response diff --git a/tests/test_associate.py b/tests/test_associate.py index 91391cc76c..a2f623af07 100644 --- a/tests/test_associate.py +++ b/tests/test_associate.py @@ -1,29 +1,17 @@ from __future__ import division, print_function, unicode_literals import mock -from gittip.testing import Harness, test_website as _test_website -from gittip.testing.client import TestClient +from gittip.testing import Harness from gittip.elsewhere.bitbucket import BitbucketAccount from gittip.elsewhere.twitter import TwitterAccount class Tests(Harness): - def setUp(self): - Harness.setUp(self) - self.website = _test_website - self.client = TestClient() - - def tearDown(self): - Harness.tearDown(self) - self.website.oauth_cache = {} - - @mock.patch('requests.post') @mock.patch('requests.get') - @mock.patch('gittip.utils.mixpanel.track') - def test_associate_opts_in(self, track, get, post): - self.website.oauth_cache = {"deadbeef": ("deadbeef", "opt-in", "")} + def test_associate_opts_in(self, get, post): + self.client.website.oauth_cache = {"deadbeef": ("deadbeef", "opt-in", "")} post.return_value.status_code = 200 post.return_value.text = "oauth_token=foo&oauth_token_secret=foo&user_id=foo" @@ -31,18 +19,17 @@ def test_associate_opts_in(self, track, get, post): get.return_value.status_code = 200 get.return_value.text = '{"id": 1234, "screen_name": "alice"}' - response = self.client.get("/on/twitter/associate?oauth_token=deadbeef&" + response = self.client.GxT("/on/twitter/associate?oauth_token=deadbeef&" "oauth_verifier=donald_trump") assert response.code == 302, response.body - assert response.headers['Location'] == "/alice/", response.headers + assert response.headers['Location'] == "/alice/" @mock.patch('requests.post') @mock.patch('requests.get') - @mock.patch('gittip.utils.mixpanel.track') - def test_associate_connects(self, track, get, post): + def test_associate_connects(self, get, post): self.make_participant('alice') - self.website.oauth_cache = {"deadbeef": ("deadbeef", "connect", "")} + self.client.website.oauth_cache = {"deadbeef": ("deadbeef", "connect", "")} post.return_value.status_code = 200 post.return_value.text = "oauth_token=foo&oauth_token_secret=foo&user_id=foo" @@ -50,10 +37,10 @@ def test_associate_connects(self, track, get, post): get.return_value.status_code = 200 get.return_value.text = '{"id": 1234, "screen_name": "alice"}' - response = self.client.get("/on/twitter/associate?oauth_token=deadbeef&" - "oauth_verifier=donald_trump", user="alice") + response = self.client.GxT("/on/twitter/associate?oauth_token=deadbeef&" + "oauth_verifier=donald_trump", auth_as="alice") assert response.code == 302, response.body - assert response.headers['Location'] == "/alice/", response.headers + assert response.headers['Location'] == "/alice/" rec = self.db.one("SELECT * FROM elsewhere") assert rec.participant == 'alice', rec @@ -62,12 +49,11 @@ def test_associate_connects(self, track, get, post): @mock.patch('requests.post') @mock.patch('requests.get') - @mock.patch('gittip.utils.mixpanel.track') - def test_associate_confirms_on_connect(self, track, get, post): + def test_associate_confirms_on_connect(self, get, post): TwitterAccount(self.db, '1234', {'screen_name': 'alice'}).opt_in('alice') self.make_participant('bob') - self.website.oauth_cache = {"deadbeef": ("deadbeef", "connect", "")} + self.client.website.oauth_cache = {"deadbeef": ("deadbeef", "connect", "")} post.return_value.status_code = 200 post.return_value.text = "oauth_token=foo&oauth_token_secret=foo&user_id=foo" @@ -75,21 +61,19 @@ def test_associate_confirms_on_connect(self, track, get, post): get.return_value.status_code = 200 get.return_value.text = '{"id": 1234, "screen_name": "alice"}' - self.client.get('/') # populates cookies['csrf_token'] - response = self.client.get("/on/twitter/associate?oauth_token=deadbeef&" - "oauth_verifier=donald_trump", user="bob") - assert "Please Confirm" in response.body, response.body + response = self.client.GxT("/on/twitter/associate?oauth_token=deadbeef&" + "oauth_verifier=donald_trump", auth_as="bob") + assert "Please Confirm" in response.body @mock.patch('requests.post') @mock.patch('requests.get') - @mock.patch('gittip.utils.mixpanel.track') - def test_confirmation_properly_displays_remaining_bitbucket(self, track, get, post): + def test_confirmation_properly_displays_remaining_bitbucket(self, get, post): alice, foo = TwitterAccount(self.db, '1234', {'screen_name': 'alice'}).opt_in('alice') alice.participant.take_over(BitbucketAccount(self.db, '1234', {'username': 'alice_bb'})) self.make_participant('bob') - self.website.oauth_cache = {"deadbeef": ("deadbeef", "connect", "")} + self.client.website.oauth_cache = {"deadbeef": ("deadbeef", "connect", "")} post.return_value.status_code = 200 post.return_value.text = "oauth_token=foo&oauth_token_secret=foo&user_id=foo" @@ -97,27 +81,24 @@ def test_confirmation_properly_displays_remaining_bitbucket(self, track, get, po get.return_value.status_code = 200 get.return_value.text = '{"id": 1234, "screen_name": "alice"}' - self.client.get('/') # populates cookies['csrf_token'] - response = self.client.get("/on/twitter/associate?oauth_token=deadbeef&" - "oauth_verifier=donald_trump", user="bob") - assert response.body.count("alice_bb
") == 2, response.body + response = self.client.GxT("/on/twitter/associate?oauth_token=deadbeef&" + "oauth_verifier=donald_trump", auth_as="bob") + assert response.body.count("alice_bb
") == 2 def test_can_post_to_take_over(self): TwitterAccount(self.db, '1234', {'screen_name': 'alice'}).opt_in('alice') self.make_participant('bob') - self.website.connect_tokens = {("bob", "twitter", "1234"): "deadbeef"} + self.client.website.connect_tokens = {("bob", "twitter", "1234"): "deadbeef"} - csrf_token = self.client.get('/').request.context['csrf_token'] - response = self.client.post( "/on/take-over.html" + response = self.client.PxST( "/on/take-over.html" , data={ "platform": "twitter" , "user_id": "1234" - , "csrf_token": csrf_token , "connect_token": "deadbeef" , "should_reconnect": "yes" } - , user="bob" + , auth_as="bob" ) assert response.code == 302, response.body diff --git a/tests/test_billing.py b/tests/test_billing.py index 0b8e322987..3d02135a43 100644 --- a/tests/test_billing.py +++ b/tests/test_billing.py @@ -3,7 +3,6 @@ import balanced import mock -import gittip from gittip import billing from gittip.security import authentication from gittip.testing import Harness @@ -16,7 +15,7 @@ class TestBillingBase(Harness): card_uri = '/v1/marketplaces/M123/accounts/A123/cards/C123' def setUp(self): - super(Harness, self).setUp() + Harness.setUp(self) self.alice = self.make_participant('alice', elsewhere='github') diff --git a/tests/test_billing_payday.py b/tests/test_billing_payday.py index 984742d7ce..cdcaa4d457 100644 --- a/tests/test_billing_payday.py +++ b/tests/test_billing_payday.py @@ -17,6 +17,10 @@ class TestPaydayBase(TestBillingBase): + def setUp(self): + TestBillingBase.setUp(self) + self.payday = Payday(self.db) + def fetch_payday(self): return self.db.one("SELECT * FROM paydays", back_as=dict) @@ -24,10 +28,6 @@ def fetch_payday(self): class TestPaydayCharge(TestPaydayBase): STRIPE_CUSTOMER_ID = 'cus_deadbeef' - def setUp(self): - super(TestBillingBase, self).setUp() - self.payday = Payday(self.db) - def get_numbers(self): """Return a list of 10 ints: @@ -49,15 +49,13 @@ def get_numbers(self): return [payday[key] for key in keys] def test_charge_without_cc_details_returns_None(self): - alice = self.make_participant('alice') self.payday.start() - actual = self.payday.charge(alice, Decimal('1.00')) + actual = self.payday.charge(self.alice, Decimal('1.00')) assert actual is None def test_charge_without_cc_marked_as_failure(self): - alice = self.make_participant('alice') self.payday.start() - self.payday.charge(alice, Decimal('1.00')) + self.payday.charge(self.alice, Decimal('1.00')) actual = self.get_numbers() assert actual == [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0] @@ -166,10 +164,6 @@ class TestBillingCharges(TestPaydayBase): BALANCED_TOKEN = u'/v1/marketplaces/M123/accounts/A123/cards/C123' STRIPE_CUSTOMER_ID = u'cus_deadbeef' - def setUp(self): - super(TestBillingCharges, self).setUp() - self.payday = Payday(self.db) - def test_mark_missing_funding(self): self.payday.start() before = self.fetch_payday() @@ -258,11 +252,12 @@ def test_charge_on_balanced_failure(self, ba): class TestPrepHit(TestPaydayBase): - # XXX Consider turning _prep_hit in to a class method - @classmethod - def setUpClass(cls): - TestPaydayBase.setUpClass() - cls.payday = Payday(mock.Mock()) # Mock out the DB connection + + ## XXX Consider turning _prep_hit in to a class method + #@classmethod + #def setUpClass(cls): + # TestPaydayBase.setUpClass() + # cls.payday = Payday(mock.Mock()) # Mock out the DB connection def prep(self, amount): """Given a dollar amount as a string, return a 3-tuple. @@ -339,10 +334,6 @@ def test_prep_hit_at_nine_forty_two(self): class TestBillingPayday(TestPaydayBase): BALANCED_ACCOUNT_URI = '/v1/marketplaces/M123/accounts/A123' - def setUp(self): - super(TestBillingPayday, self).setUp() - self.payday = Payday(self.db) - def test_move_pending_to_balance_for_teams_does_so(self): self.make_participant('A', number='plural', balance=2, pending=3) self.payday.move_pending_to_balance_for_teams() @@ -612,8 +603,7 @@ def test_payday(self, end, payin, init, log): class TestBillingTransfer(TestPaydayBase): def setUp(self): - super(TestPaydayBase, self).setUp() - self.payday = Payday(self.db) + TestPaydayBase.setUp(self) self.payday.start() self.tipper = self.make_participant('lgtest') self.balanced_account_uri = '/v1/marketplaces/M123/accounts/A123' @@ -757,6 +747,7 @@ def test_record_credit_doesnt_update_balance_if_error(self): class TestPachinko(Harness): def setUp(self): + Harness.setUp(self) self.payday = Payday(self.db) def test_get_participants_gets_participants(self): diff --git a/tests/test_charts_json.py b/tests/test_charts_json.py index 1d3bf0c3d3..d84f3538e3 100644 --- a/tests/test_charts_json.py +++ b/tests/test_charts_json.py @@ -5,8 +5,9 @@ from gittip.billing.payday import Payday from gittip.testing import Harness -from gittip.testing.client import TestClient +def today(): + return datetime.datetime.utcnow().date().strftime('%Y-%m-%d') class Tests(Harness): @@ -20,6 +21,7 @@ def make_participants_and_tips(self): (10.00, 0.00, 'alice'), (10.00, 0.00, 'bob') """) + self.make_participant('notactive', claimed_time='now') alice.set_tip_to('carl', '1.00') bob.set_tip_to('carl', '2.00') @@ -32,24 +34,24 @@ def run_payday(self): def test_no_payday_returns_empty_list(self): self.make_participants_and_tips() - assert json.loads(TestClient().get('/carl/charts.json').body) == [] + assert json.loads(self.client.GET('/carl/charts.json').body) == [] def test_zeroth_payday_is_ignored(self): self.make_participants_and_tips() self.run_payday() # zeroeth - assert json.loads(TestClient().get('/carl/charts.json').body) == [] + assert json.loads(self.client.GET('/carl/charts.json').body) == [] def test_first_payday_comes_through(self): alice, bob = self.make_participants_and_tips() self.run_payday() # zeroeth, ignored self.run_payday() # first - expected = [ { "date": datetime.date.today().strftime('%Y-%m-%d') + expected = [ { "date": today() , "npatrons": 2 , "receipts": 3.00 } ] - actual = json.loads(TestClient().get('/carl/charts.json').body) + actual = json.loads(self.client.GET('/carl/charts.json').body) assert actual == expected @@ -63,16 +65,16 @@ def test_second_payday_comes_through(self): self.run_payday() # second - expected = [ { "date": datetime.date.today().strftime('%Y-%m-%d') + expected = [ { "date": today() , "npatrons": 1 # most recent first , "receipts": 5.00 } - , { "date": datetime.date.today().strftime('%Y-%m-%d') + , { "date": today() , "npatrons": 2 , "receipts": 3.00 } ] - actual = json.loads(TestClient().get('/carl/charts.json').body) + actual = json.loads(self.client.GET('/carl/charts.json').body) assert actual == expected @@ -90,20 +92,20 @@ def test_sandwiched_tipless_payday_comes_through(self): alice.set_tip_to('carl', '5.00') self.run_payday() # third - expected = [ { "date": datetime.date.today().strftime('%Y-%m-%d') + expected = [ { "date": today() , "npatrons": 1 # most recent first , "receipts": 5.00 } - , { "date": datetime.date.today().strftime('%Y-%m-%d') + , { "date": today() , "npatrons": 0 , "receipts": 0.00 } - , { "date": datetime.date.today().strftime('%Y-%m-%d') + , { "date": today() , "npatrons": 2 , "receipts": 3.00 } ] - actual = json.loads(TestClient().get('/carl/charts.json').body) + actual = json.loads(self.client.GET('/carl/charts.json').body) assert actual == expected @@ -120,20 +122,20 @@ def test_out_of_band_transfer_gets_included_with_prior_payday(self): self.run_payday() # third - expected = [ { "date": datetime.date.today().strftime('%Y-%m-%d') + expected = [ { "date": today() , "npatrons": 2 # most recent first , "receipts": 3.00 } - , { "date": datetime.date.today().strftime('%Y-%m-%d') + , { "date": today() , "npatrons": 3 # Since this is rare, don't worry that we double-count alice. , "receipts": 7.00 } - , { "date": datetime.date.today().strftime('%Y-%m-%d') + , { "date": today() , "npatrons": 2 , "receipts": 3.00 } ] - actual = json.loads(TestClient().get('/carl/charts.json').body) + actual = json.loads(self.client.GET('/carl/charts.json').body) assert actual == expected @@ -145,6 +147,23 @@ def test_never_received_gives_empty_array(self): self.run_payday() # third expected = [] - actual = json.loads(TestClient().get('/alice/charts.json').body) + actual = json.loads(self.client.GET('/alice/charts.json').body) + + assert actual == expected + + def test_transfer_volume(self): + self.make_participants_and_tips() + self.run_payday() + self.run_payday() + + expected = { "date": today() + , "weekly_gifts": 3.0 + , "charges": 0.0 + , "withdrawals": 0.0 + , "active_users": 3 + , "total_users": 4 + , "total_gifts": 6.0 + } + actual = json.loads(self.client.GET('/about/charts.json').body)[0] assert actual == expected diff --git a/tests/test_communities_json.py b/tests/test_communities_json.py index 2dd586a2b4..3d19ccf9ec 100644 --- a/tests/test_communities_json.py +++ b/tests/test_communities_json.py @@ -1,121 +1,63 @@ from __future__ import unicode_literals -import pytz -import base64 import json from aspen.utils import utcnow from gittip.testing import Harness -from gittip.testing.client import TestClient class TestCommunitiesJson(Harness): - def make_client_and_csrf(self): - client = TestClient() - - csrf_token = client.get('/').request.context['csrf_token'] - - return client, csrf_token - - def test_post_name_pattern_none_returns_400(self): - client, csrf_token = self.make_client_and_csrf() - - response = client.post('/for/communities.json' - , { 'name': 'BadName!' - , 'csrf_token': csrf_token - } - ) - - actual = response.code - - assert actual == 400 + response = self.client.PxST('/for/communities.json', {'name': 'BadName!'}) + assert response.code == 400 def test_post_is_member_not_bool_returns_400(self): - client, csrf_token = self.make_client_and_csrf() - - response = client.post('/for/communities.json' - , { 'name': 'Good Name' - , 'is_member': 'no' - , 'csrf_token': csrf_token - } - ) - - actual = response.code - - assert actual == 400 + response = self.client.PxST( '/for/communities.json' + , {'name': 'Good Name', 'is_member': 'no'} + ) + assert response.code == 400 def test_post_can_join_community(self): - client, csrf_token = self.make_client_and_csrf() - community = 'Test' - self.make_participant("alice", claimed_time=utcnow()) - response = client.get('/for/communities.json', 'alice') - - actual = len(json.loads(response.body)['communities']) - assert actual == 0 + response = self.client.GET('/for/communities.json', auth_as='alice') + assert len(json.loads(response.body)['communities']) == 0 - response = client.post('/for/communities.json' - , { 'name': community - , 'is_member': 'true' - , 'csrf_token': csrf_token - } - , user='alice' - ) + response = self.client.POST( '/for/communities.json' + , {'name': 'Test', 'is_member': 'true'} + , auth_as='alice' + ) communities = json.loads(response.body)['communities'] - - actual = len(communities) - assert actual == 1 + assert len(communities) == 1 actual = communities[0]['name'] - assert actual == community + assert actual == 'Test' def test_post_can_leave_community(self): - client, csrf_token = self.make_client_and_csrf() - community = 'Test' - self.make_participant("alice", claimed_time=utcnow()) - response = client.post('/for/communities.json' - , { 'name': community - , 'is_member': 'true' - , 'csrf_token': csrf_token - } - , user='alice' - ) + response = self.client.POST( '/for/communities.json' + , {'name': 'Test', 'is_member': 'true'} + , auth_as='alice' + ) - response = client.post('/for/communities.json' - , { 'name': community - , 'is_member': 'false' - , 'csrf_token': csrf_token - } - , user='alice' - ) + response = self.client.POST( '/for/communities.json' + , {'name': 'Test', 'is_member': 'false'} + , auth_as='alice' + ) - response = client.get('/for/communities.json', 'alice') + response = self.client.GET('/for/communities.json', auth_as='alice') - actual = len(json.loads(response.body)['communities']) - assert actual == 0 + assert len(json.loads(response.body)['communities']) == 0 def test_get_can_get_communities_for_user(self): - client, csrf_token = self.make_client_and_csrf() - self.make_participant("alice", claimed_time=utcnow()) - - response = client.get('/for/communities.json', 'alice') - - actual = len(json.loads(response.body)['communities']) - assert actual == 0 + response = self.client.GET('/for/communities.json', auth_as='alice') + assert len(json.loads(response.body)['communities']) == 0 def test_get_can_get_communities_when_anon(self): - client, csrf_token = self.make_client_and_csrf() - - response = client.get('/for/communities.json') - - actual = response.code - assert actual == 200 + response = self.client.GET('/for/communities.json') - actual = len(json.loads(response.body)['communities']) - assert actual == 0 + assert response.code == 200 + assert len(json.loads(response.body)['communities']) == 0 diff --git a/tests/test_elsewhere_bitbucket.py b/tests/test_elsewhere_bitbucket.py index da84fd77d1..21f0f33688 100644 --- a/tests/test_elsewhere_bitbucket.py +++ b/tests/test_elsewhere_bitbucket.py @@ -1,6 +1,6 @@ from __future__ import print_function, unicode_literals -from aspen.http.request import UnicodeWithParams +from aspen.http.request import PathPart from gittip.elsewhere import bitbucket from gittip.testing import Harness @@ -13,8 +13,8 @@ def test_get_user_info_gets_user_info(self): actual = bitbucket.get_user_info(self.db, 'alice') assert actual == expected - def test_get_user_info_gets_user_info_from_UnicodeWithParams(self): + def test_get_user_info_gets_user_info_from_PathPart(self): bitbucket.BitbucketAccount(self.db, "1", {'username': 'alice'}).opt_in('alice') expected = {"username": "alice"} - actual = bitbucket.get_user_info(self.db, UnicodeWithParams('alice', {})) + actual = bitbucket.get_user_info(self.db, PathPart('alice', {})) assert actual == expected diff --git a/tests/test_elsewhere_bountysource.py b/tests/test_elsewhere_bountysource.py index 92f3edd270..3593de2667 100644 --- a/tests/test_elsewhere_bountysource.py +++ b/tests/test_elsewhere_bountysource.py @@ -1,12 +1,11 @@ from __future__ import absolute_import, division, print_function, unicode_literals from gittip.testing import Harness -from gittip.testing.client import TestClient class Tests(Harness): def test_redirect_redirects(self): self.make_participant('alice') - actual = TestClient().get('/on/bountysource/redirect', user='alice').code + actual = self.client.GxT('/on/bountysource/redirect', auth_as='alice').code assert actual == 302 diff --git a/tests/test_elsewhere_github.py b/tests/test_elsewhere_github.py index 50b7e1fd16..220f5659ac 100644 --- a/tests/test_elsewhere_github.py +++ b/tests/test_elsewhere_github.py @@ -4,14 +4,12 @@ from gittip.elsewhere import github from gittip.testing import Harness, DUMMY_GITHUB_JSON -from gittip.testing.client import TestClient class TestElsewhereGithub(Harness): @patch('gittip.elsewhere.github.requests') def test_github_user_info_status_handling(self, requests): - client = TestClient() # Check that different possible github statuses are handled correctly for (github_status, github_content), expected_gittip_response in [ ((200, DUMMY_GITHUB_JSON), 200), @@ -21,7 +19,8 @@ def test_github_user_info_status_handling(self, requests): requests.get().status_code = github_status requests.get().text = github_content - response = client.get('/on/github/not-in-the-db/') + method = self.client.GET if expected_gittip_response == 200 else self.client.GxT + response = method('/on/github/not-in-the-ab/') assert response.code == expected_gittip_response diff --git a/tests/test_fake_data.py b/tests/test_fake_data.py index 354141c8a9..9a9d1d0e1a 100644 --- a/tests/test_fake_data.py +++ b/tests/test_fake_data.py @@ -9,9 +9,6 @@ class TestFakeData(Harness): Ensure the fake_data script doesn't throw any exceptions """ - def setUp(self): - super(Harness, self).setUp() - def test_fake_data(self): num_participants = 5 num_tips = 5 diff --git a/tests/test_goal_json.py b/tests/test_goal_json.py index ad09553fdf..8d4e2c49aa 100644 --- a/tests/test_goal_json.py +++ b/tests/test_goal_json.py @@ -3,34 +3,26 @@ import json from decimal import Decimal -from aspen.utils import utcnow from gittip.testing import Harness from gittip.models.participant import Participant -from gittip.testing.client import TestClient class Tests(Harness): def make_alice(self): - return self.make_participant('alice', claimed_time=utcnow()) + return self.make_participant('alice', claimed_time='now') - def change_goal(self, goal, goal_custom="", username="alice"): + def change_goal(self, goal, goal_custom="", username="alice", expecting_error=False): if isinstance(username, Participant): username = username.username elif username == 'alice': self.make_alice() - client = TestClient() - response = client.get('/') - csrf_token = response.request.context['csrf_token'] - - response = client.post( "/alice/goal.json" - , { 'goal': goal - , 'goal_custom': goal_custom - , 'csrf_token': csrf_token - } - , user=username - ) + method = self.client.POST if not expecting_error else self.client.PxST + response = method( "/alice/goal.json" + , {'goal': goal, 'goal_custom': goal_custom} + , auth_as=username + ) return response @@ -60,15 +52,15 @@ def test_wonky_custom_amounts_are_standardized(self): assert actual == "100,100.00" def test_anonymous_gets_404(self): - response = self.change_goal("100.00", username=None) + response = self.change_goal("100.00", username=None, expecting_error=True) assert response.code == 404, response.code def test_invalid_is_400(self): - response = self.change_goal("cheese") + response = self.change_goal("cheese", expecting_error=True) assert response.code == 400, response.code def test_invalid_custom_amount_is_400(self): - response = self.change_goal("custom", "cheese") + response = self.change_goal("custom", "cheese", expecting_error=True) assert response.code == 400, response.code diff --git a/tests/test_hooks.py b/tests/test_hooks.py index feb2d05845..0fa9157346 100644 --- a/tests/test_hooks.py +++ b/tests/test_hooks.py @@ -3,14 +3,12 @@ import os from gittip import wireup from gittip.testing import Harness -from gittip.testing.client import TestClient from gittip.models.participant import Participant class Tests(Harness): def setUp(self): - self.client = TestClient() Harness.setUp(self) self._blech = ( os.environ['CANONICAL_SCHEME'] @@ -28,7 +26,10 @@ def tearDown(self): def test_canonize_canonizes(self): - response = self.client.get("/", HTTP_HOST='www.gittip.com', HTTP_X_FORWARDED_PROTO='http') + response = self.client.GxT( "/" + , HTTP_HOST='www.gittip.com' + , HTTP_X_FORWARDED_PROTO='http' + ) assert response.code == 302 assert response.headers['Location'] == 'https://www.gittip.com/' @@ -37,8 +38,8 @@ def test_session_cookie_set_in_auth_response(self): self.make_participant('alice') # Make a normal authenticated request. - normal = self.client.get( "/" - , user='alice' + normal = self.client.GET( "/" + , auth_as='alice' , HTTP_X_FORWARDED_PROTO='https' , HTTP_HOST='www.gittip.com' ) @@ -52,10 +53,11 @@ def test_session_cookie_is_sent_for_http_as_well(self): self.make_participant('alice') # Now make a request that canonizer will redirect. - redirect = self.client.get( "/" - , user='alice' + redirect = self.client.GET( "/" + , auth_as='alice' , HTTP_X_FORWARDED_PROTO='http' , HTTP_HOST='www.gittip.com' + , raise_immediately=False ) assert redirect.code == 302 assert redirect.headers.cookie['session'].value == "" @@ -73,8 +75,8 @@ def test_session_cookie_is_sent_for_http_as_well(self): def test_session_cookie_is_secure_if_it_should_be(self): # https://github.com/gittip/www.gittip.com/issues/940 - response = self.client.get( "/" - , user=self.make_participant('alice').username + response = self.client.GET( "/" + , auth_as=self.make_participant('alice').username , HTTP_X_FORWARDED_PROTO='https' , HTTP_HOST='www.gittip.com' ) diff --git a/tests/test_is_suspicious.py b/tests/test_is_suspicious.py index 49788d454b..31408d6dcd 100644 --- a/tests/test_is_suspicious.py +++ b/tests/test_is_suspicious.py @@ -1,18 +1,16 @@ from __future__ import print_function, unicode_literals from gittip.testing import Harness -from gittip.testing.client import TestClient from gittip.models.participant import Participant class TestIsSuspicious(Harness): def setUp(self): - super(Harness, self).setUp() + Harness.setUp(self) self.make_participant('bar', is_admin=True) def toggle_is_suspicious(self): - client = TestClient() - client.get('/foo/toggle-is-suspicious.json', user='bar') + self.client.GET('/foo/toggle-is-suspicious.json', auth_as='bar') def test_that_is_suspicious_defaults_to_None(self): foo = self.make_participant('foo') diff --git a/tests/test_lookup_json.py b/tests/test_lookup_json.py index 4d995d4d83..a68b5b6354 100644 --- a/tests/test_lookup_json.py +++ b/tests/test_lookup_json.py @@ -4,49 +4,25 @@ from aspen.utils import utcnow from gittip.testing import Harness -from gittip.testing.client import TestClient class TestLookupJson(Harness): - def make_client_and_csrf(self): - client = TestClient() - - csrf_token = client.get('/').request.context['csrf_token'] - - return client, csrf_token - def test_get_without_query_querystring_returns_400(self): - client, csrf_token = self.make_client_and_csrf() - - response = client.get('/lookup.json') - - actual = response.code - assert actual == 400 + response = self.client.GET('/lookup.json') + assert response.code == 400 def test_get_non_existent_user(self): - client, csrf_token = self.make_client_and_csrf() - - response = client.get('/lookup.json?query={}'.format('alice')) - + response = self.client.GET('/lookup.json?query={}'.format('alice')) data = json.loads(response.body) - actual = len(data) - assert actual == 1 - - actual = data[0]['id'] - assert actual == -1 + assert len(data) == 1 + assert data[0]['id'] == -1 def test_get_existing_user(self): - client, csrf_token = self.make_client_and_csrf() - self.make_participant("alice", claimed_time=utcnow()) - response = client.get('/lookup.json?query={}'.format('alice')) - + response = self.client.GET('/lookup.json?query={}'.format('alice')) data = json.loads(response.body) - actual = len(data) - assert actual == 1 - - actual = data[0]['id'] - assert actual != -1 + assert len(data) == 1 + assert data[0]['id'] != -1 diff --git a/tests/test_membername_json.py b/tests/test_membername_json.py index fa1eac0bb6..530564210e 100644 --- a/tests/test_membername_json.py +++ b/tests/test_membername_json.py @@ -1,289 +1,106 @@ from __future__ import unicode_literals -import json - +import pytest +from aspen import json from aspen.utils import utcnow from gittip.testing import Harness -from gittip.testing.client import TestClient class TestMembernameJson(Harness): - def make_client_and_csrf(self): - client = TestClient() - - csrf_token = client.get('/').request.context['csrf_token'] - - return client, csrf_token - - def make_team_and_participant(self): + def setUp(self): + Harness.setUp(self) self.make_participant("team", claimed_time=utcnow(), number='plural') self.make_participant("alice", claimed_time=utcnow()) def test_post_team_is_not_team_returns_404(self): - client, csrf_token = self.make_client_and_csrf() - - self.make_team_and_participant() - - response = client.post('/alice/members/team.json' - , { 'csrf_token': csrf_token } - , user='alice' - ) - - actual = response.code - assert actual == 404 + response = self.client.PxST('/alice/members/team.json', auth_as='alice') + assert response.code == 404 def test_post_participant_doesnt_exist_returns_404(self): - client, csrf_token = self.make_client_and_csrf() - - self.make_team_and_participant() - - response = client.post('/team/members/bob.json' - , { 'csrf_token': csrf_token } - , user='team' - ) - - actual = response.code - assert actual == 404 + response = self.client.PxST('/team/members/bob.json', auth_as='team') + assert response.code == 404 def test_post_user_is_not_member_or_team_returns_403(self): - client, csrf_token = self.make_client_and_csrf() - - self.make_team_and_participant() self.make_participant("bob", claimed_time=utcnow(), number='plural') + response = self.client.POST('/team/members/alice.json', {'take': '0.01'}, auth_as='team') + assert response.code == 200 - response = client.post('/team/members/alice.json' - , { - 'take': '0.01' - , 'csrf_token': csrf_token - } - , user='team' - ) - - actual = response.code - assert actual == 200 - - response = client.post('/team/members/bob.json' - , { - 'take': '0.01' - , 'csrf_token': csrf_token - } - , user='team' - ) - - actual = response.code - assert actual == 200 + response = self.client.POST('/team/members/bob.json', {'take': '0.01'}, auth_as='team') + assert response.code == 200 - response = client.post('/team/members/alice.json' - , { 'csrf_token': csrf_token } - , user='bob' - ) - - actual = response.code - assert actual == 403 + response = self.client.PxST('/team/members/alice.json', auth_as='bob') + assert response.code == 403 def test_post_take_is_not_decimal_returns_400(self): - client, csrf_token = self.make_client_and_csrf() - - self.make_team_and_participant() - - response = client.post('/team/members/alice.json' - , { - 'take': 'bad' - , 'csrf_token': csrf_token - } - , user='team' - ) - - actual = response.code - assert actual == 400 + response = self.client.PxST('/team/members/alice.json', {'take': 'bad'}, auth_as='team') + assert response.code == 400 def test_post_member_equals_team_returns_400(self): - client, csrf_token = self.make_client_and_csrf() - - self.make_team_and_participant() - - response = client.post('/team/members/team.json' - , { - 'take': '0.01' - , 'csrf_token': csrf_token - } - , user='team' - ) - - actual = response.code - assert actual == 400 + response = self.client.PxST('/team/members/team.json', {'take': '0.01'}, auth_as='team') + assert response.code == 400 def test_post_take_is_not_zero_or_penny_returns_400(self): - client, csrf_token = self.make_client_and_csrf() - - self.make_team_and_participant() - - response = client.post('/team/members/alice.json' - , { - 'take': '0.02' - , 'csrf_token': csrf_token - } - , user='team' - ) - - actual = response.code - assert actual == 400 - - def test_post_zero_take_on_non_member_returns_500(self): - client, csrf_token = self.make_client_and_csrf() - - self.make_team_and_participant() - - response = client.post('/team/members/alice.json' - , { - 'take': '0.00' - , 'csrf_token': csrf_token - } - , user='team' - ) + response = self.client.PxST('/team/members/alice.json', {'take': '0.02'}, auth_as='team') + assert response.code == 400 - actual = response.code - assert actual == 500 + def test_post_zero_take_on_non_member_raises_Exception(self): + pytest.raises( Exception + , self.client.PxST + , '/team/members/alice.json' + , {'take': '0.00'} + , auth_as='team' + ) def test_post_can_add_member_to_team(self): - client, csrf_token = self.make_client_and_csrf() - - self.make_team_and_participant() - - response = client.post('/team/members/alice.json' - , { - 'take': '0.01' - , 'csrf_token': csrf_token - } - , user='team' - ) - + response = self.client.POST('/team/members/alice.json', {'take': '0.01'}, auth_as='team') data = json.loads(response.body) - - actual = len(data) - assert actual == 2 + assert len(data) == 2 for rec in data: assert rec['username'] in ('team', 'alice'), rec['username'] def test_post_can_remove_member_from_team(self): - client, csrf_token = self.make_client_and_csrf() - - self.make_team_and_participant() - - response = client.post('/team/members/alice.json' - , { - 'take': '0.01' - , 'csrf_token': csrf_token - } - , user='team' - ) + response = self.client.POST('/team/members/alice.json', {'take': '0.01'}, auth_as='team') data = json.loads(response.body) - - actual = len(data) - assert actual == 2 + assert len(data) == 2 for rec in data: assert rec['username'] in ('team', 'alice'), rec['username'] - response = client.post('/team/members/alice.json' - , { - 'take': '0.00' - , 'csrf_token': csrf_token - } - , user='team' - ) + response = self.client.POST('/team/members/alice.json', {'take': '0.00'}, auth_as='team') data = json.loads(response.body) - - actual = len(data) - assert actual == 1 - - actual = data[0]['username'] - assert actual == 'team' + assert len(data) == 1 + assert data[0]['username'] == 'team' def test_post_non_team_member_adds_member_returns_403(self): - client, csrf_token = self.make_client_and_csrf() - - self.make_team_and_participant() self.make_participant("bob", claimed_time=utcnow()) - response = client.post('/team/members/alice.json' - , { - 'take': '0.01' - , 'csrf_token': csrf_token - } - , user='team' - ) - - actual = response.code - assert actual == 200 + response = self.client.POST('/team/members/alice.json', {'take': '0.01'}, auth_as='team') + assert response.code == 200 - response = client.post('/team/members/bob.json' - , { - 'take': '0.01' - , 'csrf_token': csrf_token - } - , user='alice' - ) - - actual = response.code - assert actual == 403 + response = self.client.PxST('/team/members/bob.json', {'take': '0.01'}, auth_as='alice') + assert response.code == 403 def test_get_team_when_team_equals_member(self): - client, csrf_token = self.make_client_and_csrf() - - self.make_team_and_participant() - - response = client.get('/team/members/team.json', 'team') - + response = self.client.GET('/team/members/team.json', auth_as='team') data = json.loads(response.body) - - actual = response.code - assert actual == 200 - - actual = data['username'] - assert actual == 'team' + assert response.code == 200 + assert data['username'] == 'team' def test_get_team_member_returns_null_when_non_member(self): - client, csrf_token = self.make_client_and_csrf() - - self.make_team_and_participant() - - response = client.get('/team/members/alice.json', 'team') - - actual = response.code - assert actual == 200 - - actual = response.body - assert actual == 'null' + response = self.client.GET('/team/members/alice.json', auth_as='team') + assert response.code == 200 + assert response.body == 'null' def test_get_team_members_returns_take_when_member(self): - client, csrf_token = self.make_client_and_csrf() - - self.make_team_and_participant() - - response = client.post('/team/members/alice.json' - , { - 'take': '0.01' - , 'csrf_token': csrf_token - } - , user='team' - ) - - actual = response.code - assert actual == 200 - - response = client.get('/team/members/alice.json', 'team') + response = self.client.POST('/team/members/alice.json', {'take': '0.01'}, auth_as='team') + assert response.code == 200 + response = self.client.GET('/team/members/alice.json', auth_as='team') data = json.loads(response.body) - actual = response.code - assert actual == 200 - - actual = data['username'] - assert actual == 'alice' - - actual = data['take'] - assert actual == '0.01' + assert response.code == 200 + assert data['username'] == 'alice' + assert data['take'] == '0.01' diff --git a/tests/test_pages.py b/tests/test_pages.py index 9628165075..a4b8e27e78 100644 --- a/tests/test_pages.py +++ b/tests/test_pages.py @@ -1,27 +1,15 @@ from __future__ import print_function, unicode_literals -import datetime - from mock import patch -import pytz - from gittip.elsewhere.twitter import TwitterAccount from gittip.testing import GITHUB_USER_UNREGISTERED_LGTEST, Harness -from gittip.testing.client import TestClient from gittip.utils import update_homepage_queries_once class TestPages(Harness): - def setUp(self): - super(Harness, self).setUp() - self.client = TestClient() - - def get(self, url, returning='body'): - request = self.client.get(url) - return getattr(request, returning) def test_homepage(self): - actual = self.client.get('/').body + actual = self.client.GET('/').body expected = "Sustainable Crowdfunding" assert expected in actual @@ -31,57 +19,51 @@ def test_homepage_with_anonymous_giver(self): alice.set_tip_to('bob', 1) update_homepage_queries_once(self.db) - actual = self.client.get('/').body + actual = self.client.GET('/').body expected = "Anonymous" assert expected in actual def test_profile(self): - self.make_participant('cheese', - claimed_time=datetime.datetime.now(pytz.utc)) + self.make_participant('cheese', claimed_time='now') expected = "I'm grateful for gifts" - actual = self.get('/cheese/').decode('utf8') # deal with cent sign + actual = self.client.GET('/cheese/').body.decode('utf8') # deal with cent sign assert expected in actual def test_widget(self): - self.make_participant('cheese', - claimed_time=datetime.datetime.now(pytz.utc)) + self.make_participant('cheese', claimed_time='now') expected = "javascript: window.open" - actual = self.get('/cheese/widget.html') + actual = self.client.GET('/cheese/widget.html').body assert expected in actual def test_bank_account(self): expected = "add
or change your bank account" - actual = self.get('/bank-account.html') + actual = self.client.GET('/bank-account.html').body assert expected in actual def test_credit_card(self): expected = "add
or change your credit card" - actual = self.get('/credit-card.html') + actual = self.client.GET('/credit-card.html').body assert expected in actual def test_github_associate(self): - expected = "Bad request, program!" - actual = self.get('/on/github/associate') - assert expected in actual + assert self.client.GxT('/on/github/associate').code == 400 def test_twitter_associate(self): - expected = "Bad request, program!" - actual = self.get('/on/twitter/associate') - assert expected in actual + assert self.client.GxT('/on/twitter/associate').code == 400 def test_about(self): expected = "small weekly cash gifts" - actual = self.get('/about/') + actual = self.client.GET('/about/').body assert expected in actual def test_about_stats(self): expected = "have joined Gittip" - actual = self.get('/about/stats.html') + actual = self.client.GET('/about/stats.html').body assert expected in actual def test_about_charts(self): expected = "Money transferred" - actual = self.get('/about/charts.html') + actual = self.client.GET('/about/charts.html').body assert expected in actual @patch('gittip.elsewhere.github.requests') @@ -89,45 +71,46 @@ def test_github_proxy(self, requests): requests.get().status_code = 200 requests.get().text = GITHUB_USER_UNREGISTERED_LGTEST expected = "lgtest has not joined" - actual = self.get('/on/github/lgtest/').decode('utf8') + actual = self.client.GET('/on/github/lgtest/').body.decode('utf8') assert expected in actual # This hits the network. XXX add a knob to skip this def test_twitter_proxy(self): expected = "Twitter has not joined" - actual = self.get('/on/twitter/twitter/').decode('utf8') + actual = self.client.GET('/on/twitter/twitter/').body.decode('utf8') assert expected in actual def test_404(self): - actual = self.get('/about/four-oh-four.html') - assert "Page Not Found" in actual - assert "{%" not in actual + response = self.client.GET('/about/four-oh-four.html', raise_immediately=False) + assert "Page Not Found" in response.body + assert "{%" not in response.body def test_bank_account_complete(self): - expected = "Page Not Found" - actual = self.get('/bank-account-complete.html') - assert expected in actual + assert self.client.GxT('/bank-account-complete.html').code == 404 + + def test_ways_to_help(self): + actual = self.client.GET('/for/contributors/ways-to-help/').body.decode('utf8') + assert 'Ways to Help' in actual + + # The regression I'm seeing in #1824 actually has 'Ways to Help' in the + # traceback, so let's also test 'For Contributors'. + + assert 'For Contributors' in actual def test_bank_account_json(self): - expected = "Page Not Found" - actual = self.get('/bank-account.json') - assert expected in actual + assert self.client.GxT('/bank-account.json').code == 404 def test_credit_card_json(self): - expected = "Page Not Found" - actual = self.get('/credit-card.json') - assert expected in actual + assert self.client.GxT('/credit-card.json').code == 404 def test_anonymous_sign_out_redirects(self): - response = self.client.get('/') - csrf_token = response.request.context['csrf_token'] - response = self.client.post('/sign-out.html', {'csrf_token': csrf_token}) + response = self.client.PxST('/sign-out.html') assert response.code == 302 assert response.headers['Location'] == '/' def test_receipts_signed_in(self): - alice = self.make_participant('alice', - claimed_time=datetime.datetime.now(pytz.utc)) - self.db.run("INSERT INTO exchanges (id, participant, amount, fee) VALUES(100,'alice',1,0.1)") - request = self.client.get("/alice/receipts/100.html", "alice") + self.make_participant('alice', claimed_time='now') + self.db.run("INSERT INTO exchanges (id, participant, amount, fee) " + "VALUES(100,'alice',1,0.1)") + request = self.client.GET("/alice/receipts/100.html", auth_as="alice") assert request.code == 200 diff --git a/tests/test_participant.py b/tests/test_participant.py index b4b72acd12..66cba4a352 100644 --- a/tests/test_participant.py +++ b/tests/test_participant.py @@ -62,7 +62,7 @@ def test_need_confirmation8(self): class TestAbsorptions(Harness): # TODO: These tests should probably be moved to absorptions tests def setUp(self): - super(Harness, self).setUp() + Harness.setUp(self) now = utcnow() hour_ago = now - datetime.timedelta(hours=1) for username in ['alice', 'bob', 'carl']: @@ -168,7 +168,7 @@ def test_do_not_take_over_zero_tips_receiving(self): class TestParticipant(Harness): def setUp(self): - super(Harness, self).setUp() + Harness.setUp(self) now = utcnow() for username in ['alice', 'bob', 'carl']: self.make_participant(username, claimed_time=now, elsewhere='twitter') @@ -250,7 +250,7 @@ def random_restricted_username(self): return random_item def setUp(self): - super(Harness, self).setUp() + Harness.setUp(self) self.participant = self.make_participant('user1') # Our protagonist diff --git a/tests/test_public_json.py b/tests/test_public_json.py index f75a148130..29a094bbf8 100644 --- a/tests/test_public_json.py +++ b/tests/test_public_json.py @@ -2,11 +2,9 @@ import json import datetime -from decimal import Decimal import pytz from gittip.testing import Harness -from gittip.testing.client import TestClient class Tests(Harness): @@ -21,7 +19,7 @@ def test_anonymous_gets_receiving(self): alice.set_tip_to('bob', '1.00') - data = json.loads(TestClient().get('/bob/public.json').body) + data = json.loads(self.client.GET('/bob/public.json').body) assert data['receiving'] == '1.00' @@ -31,7 +29,7 @@ def test_anonymous_does_not_get_my_tip(self): alice.set_tip_to('bob', '1.00') - data = json.loads(TestClient().get('/bob/public.json').body) + data = json.loads(self.client.GET('/bob/public.json').body) assert data.has_key('my_tip') == False @@ -41,7 +39,7 @@ def test_anonymous_gets_giving(self): alice.set_tip_to('bob', '1.00') - data = json.loads(TestClient().get('/alice/public.json').body) + data = json.loads(self.client.GET('/alice/public.json').body) assert data['giving'] == '1.00' @@ -52,23 +50,23 @@ def test_anonymous_gets_null_giving_if_user_anonymous(self): ) self.make_participant('bob') alice.set_tip_to('bob', '1.00') - data = json.loads(TestClient().get('/alice/public.json').body) + data = json.loads(self.client.GET('/alice/public.json').body) assert data['giving'] == None def test_anonymous_does_not_get_goal_if_user_regifts(self): self.make_participant('alice', last_bill_result='', goal=0) - data = json.loads(TestClient().get('/alice/public.json').body) + data = json.loads(self.client.GET('/alice/public.json').body) assert data.has_key('goal') == False def test_anonymous_gets_null_goal_if_user_has_no_goal(self): self.make_participant('alice', last_bill_result='') - data = json.loads(TestClient().get('/alice/public.json').body) + data = json.loads(self.client.GET('/alice/public.json').body) assert data['goal'] == None def test_anonymous_gets_user_goal_if_set(self): self.make_participant('alice', last_bill_result='', goal=1) - data = json.loads(TestClient().get('/alice/public.json').body) + data = json.loads(self.client.GET('/alice/public.json').body) assert data['goal'] == '1.00' def test_authenticated_user_gets_their_tip(self): @@ -77,7 +75,7 @@ def test_authenticated_user_gets_their_tip(self): alice.set_tip_to('bob', '1.00') - raw = TestClient().get('/bob/public.json', user='alice').body + raw = self.client.GET('/bob/public.json', auth_as='alice').body data = json.loads(raw) @@ -94,7 +92,7 @@ def test_authenticated_user_doesnt_get_other_peoples_tips(self): bob.set_tip_to('dana', '3.00') carl.set_tip_to('dana', '12.00') - raw = TestClient().get('/dana/public.json', user='alice').body + raw = self.client.GET('/dana/public.json', auth_as='alice').body data = json.loads(raw) @@ -108,7 +106,7 @@ def test_authenticated_user_gets_zero_if_they_dont_tip(self): bob.set_tip_to('carl', '3.00') - raw = TestClient().get('/carl/public.json', user='alice').body + raw = self.client.GET('/carl/public.json', auth_as='alice').body data = json.loads(raw) @@ -121,7 +119,7 @@ def test_authenticated_user_gets_self_for_self(self): alice.set_tip_to('bob', '3.00') - raw = TestClient().get('/bob/public.json', user='bob').body + raw = self.client.GET('/bob/public.json', auth_as='bob').body data = json.loads(raw) diff --git a/tests/test_record_an_exchange.py b/tests/test_record_an_exchange.py index c0a880b1b0..e948d3183a 100644 --- a/tests/test_record_an_exchange.py +++ b/tests/test_record_an_exchange.py @@ -1,9 +1,10 @@ from __future__ import unicode_literals from decimal import Decimal +import pytest from aspen.utils import utcnow +from psycopg2 import IntegrityError from gittip.testing import Harness -from gittip.testing.client import TestClient class TestRecordAnExchange(Harness): @@ -11,24 +12,14 @@ class TestRecordAnExchange(Harness): # fixture # ======= - def setUp(self): - super(Harness, self).setUp() - self.client = TestClient() - - def get_csrf_token(self): - response = self.client.get('/') - return response.request.context['csrf_token'] - def record_an_exchange(self, amount, fee, note, make_participants=True): if make_participants: now = utcnow() self.make_participant('alice', claimed_time=now, is_admin=True) self.make_participant('bob', claimed_time=now) - return self.client.post( '/bob/history/record-an-exchange' - , { 'amount': amount, 'fee': fee, 'note': note - , 'csrf_token': self.get_csrf_token() - } - , 'alice' + return self.client.PxST( '/bob/history/record-an-exchange' + , {'amount': amount, 'fee': fee, 'note': note} + , auth_as='alice' ) # tests @@ -47,8 +38,9 @@ def test_non_admin_is_404(self): def test_non_post_is_405(self): self.make_participant('alice', claimed_time=utcnow(), is_admin=True) self.make_participant('bob', claimed_time=utcnow()) - actual = \ - self.client.get('/bob/history/record-an-exchange', 'alice').code + actual = self.client.GxT( '/bob/history/record-an-exchange' + , auth_as='alice' + ).code assert actual == 405 def test_bad_amount_is_400(self): @@ -67,9 +59,8 @@ def test_whitespace_note_is_400(self): actual = self.record_an_exchange('10', '0', ' ').code assert actual == 400 - def test_dropping_balance_below_zero_is_500(self): - actual = self.record_an_exchange('-10', '0', 'noted').code - assert actual == 500 + def test_dropping_balance_below_zero_raises_IntegrityError(self): + pytest.raises(IntegrityError, self.record_an_exchange, '-10', '0', 'noted') def test_success_records_exchange(self): self.record_an_exchange('10', '0.50', 'noted') diff --git a/tests/test_statement_json.py b/tests/test_statement_json.py index 649a9165fc..b52c1b62c7 100644 --- a/tests/test_statement_json.py +++ b/tests/test_statement_json.py @@ -3,25 +3,19 @@ import json from gittip.testing import Harness -from gittip.testing.client import TestClient class Tests(Harness): - def change_statement(self, statement, number='singular', user='alice'): + def change_statement(self, statement, number='singular', auth_as='alice', + expecting_error=False): self.make_participant('alice') - client = TestClient() - response = client.get('/') - csrf_token = response.request.context['csrf_token'] - - response = client.post( "/alice/statement.json" - , { 'statement': statement - , 'number': number - , 'csrf_token': csrf_token - } - , user=user - ) + method = self.client.POST if not expecting_error else self.client.PxST + response = method( "/alice/statement.json" + , {'statement': statement, 'number': number} + , auth_as=auth_as + ) return response def test_participant_can_change_their_statement(self): @@ -35,9 +29,13 @@ def test_participant_can_change_their_number(self): assert actual == 'plural' def test_anonymous_gets_404(self): - response = self.change_statement('being awesome.', 'singular', user=None) + response = self.change_statement( 'being awesome.' + , 'singular' + , auth_as=None + , expecting_error=True + ) assert response.code == 404, response.code def test_invalid_is_400(self): - response = self.change_statement('', 'none') + response = self.change_statement('', 'none', expecting_error=True) assert response.code == 400, response.code diff --git a/tests/test_stats.py b/tests/test_stats.py index db1874f1fc..13dcf64ec9 100644 --- a/tests/test_stats.py +++ b/tests/test_stats.py @@ -1,6 +1,6 @@ from __future__ import print_function, unicode_literals -from datetime import datetime +import datetime from decimal import Decimal from mock import patch @@ -8,15 +8,14 @@ from gittip import wireup from gittip.billing.payday import Payday from gittip.models.participant import Participant -from gittip.testing import Harness, load_simplate -from gittip.testing.client import TestClient +from gittip.testing import Harness class TestCommaize(Harness): # XXX This really ought to be in helper methods test file def setUp(self): - super(Harness, self).setUp() - simplate = load_simplate(b'/about/stats.html') + Harness.setUp(self) + simplate = self.client.load_resource(b'/about/stats.html') self.commaize = simplate.pages[0]['commaize'] def test_commaize_commaizes(self): @@ -30,7 +29,7 @@ def test_commaize_commaizes_and_obeys_decimal_places(self): class TestChartOfReceiving(Harness): def setUp(self): - super(Harness, self).setUp() + Harness.setUp(self) for participant in ['alice', 'bob']: self.make_participant(participant, last_bill_result='') @@ -78,35 +77,43 @@ def test_get_tip_distribution_ignores_missing_cc(self): class TestRenderingStatsPage(Harness): def get_stats_page(self): - return TestClient().get('/about/stats.html').body + return self.client.GET('/about/stats.html').body - @patch('datetime.datetime') - def test_stats_description_accurate_during_payday_run(self, mock_datetime): + def test_stats_description_accurate_during_payday_run(self): """Test that stats page takes running payday into account. This test was originally written to expose the fix required for https://github.com/gittip/www.gittip.com/issues/92. """ - a_thursday = datetime(2012, 8, 9, 11, 00, 01) - mock_datetime.utcnow.return_value = a_thursday - wireup.billing() - payday = Payday(self.db) - payday.start() + # Hydrating a website requires a functioning datetime module. + self.client.hydrate_website() - body = self.get_stats_page() - assert "is changing hands right now!" in body, body - payday.end() + a_thursday = datetime.datetime(2012, 8, 9, 11, 00, 01) + with patch.object(datetime, 'datetime') as mock_datetime: + mock_datetime.utcnow.return_value = a_thursday - @patch('datetime.datetime') - def test_stats_description_accurate_outside_of_payday(self, mock_datetime): + wireup.billing() + payday = Payday(self.db) + payday.start() + + body = self.get_stats_page() + assert "is changing hands right now!" in body, body + payday.end() + + def test_stats_description_accurate_outside_of_payday(self): """Test stats page outside of the payday running""" - a_monday = datetime(2012, 8, 6, 11, 00, 01) - mock_datetime.utcnow.return_value = a_monday - payday = Payday(self.db) - payday.start() + # Hydrating a website requires a functioning datetime module. + self.client.hydrate_website() + + a_monday = datetime.datetime(2012, 8, 6, 11, 00, 01) + with patch.object(datetime, 'datetime') as mock_datetime: + mock_datetime.utcnow.return_value = a_monday + + payday = Payday(self.db) + payday.start() - body = self.get_stats_page() - assert "is ready for this Thursday" in body, body - payday.end() + body = self.get_stats_page() + assert "is ready for this Thursday" in body, body + payday.end() diff --git a/tests/test_teams.py b/tests/test_teams.py index 7a594a6a99..4d03ce6c1c 100644 --- a/tests/test_teams.py +++ b/tests/test_teams.py @@ -7,7 +7,7 @@ class Tests(Harness): def setUp(self): - super(Harness, self).setUp() + Harness.setUp(self) self.team = self.make_participant('A-Team', number='plural') def test_is_team(self): diff --git a/tests/test_tip_json.py b/tests/test_tip_json.py index 7db1d68bfb..2e9052b464 100644 --- a/tests/test_tip_json.py +++ b/tests/test_tip_json.py @@ -6,14 +6,12 @@ import pytz from gittip.testing import Harness -from gittip.testing.client import TestClient class TestTipJson(Harness): def test_get_amount_and_total_back_from_api(self): "Test that we get correct amounts and totals back on POSTs to tip.json" - client = TestClient() # First, create some test data # We need accounts @@ -22,18 +20,16 @@ def test_get_amount_and_total_back_from_api(self): self.make_participant("test_tippee2", claimed_time=now) self.make_participant("test_tipper") - # We need to get ourselves a token! - response = client.get('/') - csrf_token = response.request.context['csrf_token'] - # Then, add a $1.50 and $3.00 tip - response1 = client.post("/test_tippee1/tip.json", - {'amount': "1.00", 'csrf_token': csrf_token}, - user='test_tipper') + response1 = self.client.POST( "/test_tippee1/tip.json" + , {'amount': "1.00"} + , auth_as='test_tipper' + ) - response2 = client.post("/test_tippee2/tip.json", - {'amount': "3.00", 'csrf_token': csrf_token}, - user='test_tipper') + response2 = self.client.POST( "/test_tippee2/tip.json" + , {'amount': "3.00"} + , auth_as='test_tipper' + ) # Confirm we get back the right amounts. first_data = json.loads(response1.body) @@ -44,21 +40,20 @@ def test_get_amount_and_total_back_from_api(self): assert second_data['total_giving'] == "4.00" def test_set_tip_out_of_range(self): - client = TestClient() now = datetime.datetime.now(pytz.utc) self.make_participant("alice", claimed_time=now) self.make_participant("bob", claimed_time=now) - response = client.get('/') - csrf_token = response.request.context['csrf_token'] - response = client.post("/alice/tip.json", - {'amount': "110.00", 'csrf_token': csrf_token}, - user='bob') + response = self.client.PxST( "/alice/tip.json" + , {'amount': "110.00"} + , auth_as='bob' + ) assert "bad amount" in response.body assert response.code == 400 - - response = client.post("/alice/tip.json", - {'amount': "-1.00", 'csrf_token': csrf_token}, - user='bob') + + response = self.client.PxST( "/alice/tip.json" + , {'amount': "-1.00"} + , auth_as='bob' + ) assert "bad amount" in response.body assert response.code == 400 diff --git a/tests/test_tips_json.py b/tests/test_tips_json.py index 4d02a8368e..30f738a92d 100644 --- a/tests/test_tips_json.py +++ b/tests/test_tips_json.py @@ -7,82 +7,69 @@ import base64 from gittip.testing import Harness -from gittip.testing.client import TestClient class TestTipsJson(Harness): def also_prune_variant(self, also_prune, tippees=1): - client = TestClient() now = datetime.datetime.now(pytz.utc) self.make_participant("test_tippee1", claimed_time=now) self.make_participant("test_tippee2", claimed_time=now) self.make_participant("test_tipper", claimed_time=now) - api_key = json.loads(client.get('/test_tipper/api-key.json', 'test_tipper').body)['api_key'] - data = [ {'username': 'test_tippee1', 'platform': 'gittip', 'amount': '1.00'}, {'username': 'test_tippee2', 'platform': 'gittip', 'amount': '2.00'} ] - response = client.post( '/test_tipper/tips.json' - , json.dumps(data) - , user='test_tipper' - , content_type='application/json' - , HTTP_AUTHORIZATION='Basic ' + base64.b64encode(api_key + ':') - ) + response = self.client.POST( '/test_tipper/tips.json' + , body=json.dumps(data) + , content_type='application/json' + , auth_as='test_tipper' + ) assert response.code == 200 assert len(json.loads(response.body)) == 2 - response = client.post( '/test_tipper/tips.json?also_prune=' + also_prune - , json.dumps([{ 'username': 'test_tippee2' - , 'platform': 'gittip' - , 'amount': '1.00' - }]) - , user='test_tipper' - , content_type='application/json' - , HTTP_AUTHORIZATION='Basic ' + base64.b64encode(api_key + ':') - ) + response = self.client.POST( '/test_tipper/tips.json?also_prune=' + also_prune + , body=json.dumps([{ 'username': 'test_tippee2' + , 'platform': 'gittip' + , 'amount': '1.00' + }]) + , content_type='application/json' + , auth_as='test_tipper' + ) assert response.code == 200 - response = client.get('/test_tipper/tips.json', 'test_tipper') + response = self.client.GET('/test_tipper/tips.json', auth_as='test_tipper') assert response.code == 200 assert len(json.loads(response.body)) == tippees def test_get_response(self): - client = TestClient() - now = datetime.datetime.now(pytz.utc) self.make_participant("test_tipper", claimed_time=now) - response = client.get('/test_tipper/tips.json', 'test_tipper') + response = self.client.GET('/test_tipper/tips.json', auth_as='test_tipper') assert response.code == 200 assert len(json.loads(response.body)) == 0 # empty array def test_get_response_with_tips(self): - client = TestClient() - now = datetime.datetime.now(pytz.utc) self.make_participant("test_tippee1", claimed_time=now) self.make_participant("test_tipper", claimed_time=now) - response = client.get('/') - csrf_token = response.request.context['csrf_token'] - - response1 = client.post('/test_tippee1/tip.json', - {'amount': '1.00', 'csrf_token': csrf_token}, - user='test_tipper') + response = self.client.POST( '/test_tippee1/tip.json' + , {'amount': '1.00'} + , auth_as='test_tipper' + ) - response = client.get('/test_tipper/tips.json', 'test_tipper') - - assert response1.code == 200 - assert json.loads(response1.body)['amount'] == '1.00' + assert response.code == 200 + assert json.loads(response.body)['amount'] == '1.00' + response = self.client.GET('/test_tipper/tips.json', auth_as='test_tipper') data = json.loads(response.body)[0] assert response.code == 200 @@ -90,23 +77,18 @@ def test_get_response_with_tips(self): assert data['amount'] == '1.00' def test_post_bad_platform(self): - client = TestClient() - now = datetime.datetime.now(pytz.utc) self.make_participant("test_tippee1", claimed_time=now) self.make_participant("test_tipper", claimed_time=now) - api_key = json.loads(client.get('/test_tipper/api-key.json', 'test_tipper').body)['api_key'] - - response = client.post( '/test_tipper/tips.json' - , json.dumps([{ 'username': 'test_tippee1' - , 'platform': 'badname' - , 'amount': '1.00' - }]) - , user='test_tipper' - , content_type='application/json' - , HTTP_AUTHORIZATION='Basic ' + base64.b64encode(api_key + ':') - ) + response = self.client.POST( '/test_tipper/tips.json' + , body=json.dumps([{ 'username': 'test_tippee1' + , 'platform': 'badname' + , 'amount': '1.00' + }]) + , auth_as='test_tipper' + , content_type='application/json' + ) assert response.code == 200 diff --git a/tests/test_username_json.py b/tests/test_username_json.py index ff2f2ab206..5fed1996a2 100644 --- a/tests/test_username_json.py +++ b/tests/test_username_json.py @@ -3,25 +3,14 @@ import json from gittip.testing import Harness -from gittip.testing.client import TestClient class Tests(Harness): - def change_username(self, new_username, user='alice'): - self.make_participant('alice') - - client = TestClient() - response = client.get('/') - csrf_token = response.request.context['csrf_token'] - - response = client.post( "/alice/username.json" - , { 'username': new_username - , 'csrf_token': csrf_token - } - , user=user - ) - return response + def change_username(self, new_username, auth_as='alice', expecting_error=False): + self.make_participant('alice') if auth_as is not None else '' + method = self.client.POST if not expecting_error else self.client.PxST + return method("/alice/username.json", {'username': new_username}, auth_as=auth_as) def test_participant_can_change_their_username(self): @@ -30,29 +19,29 @@ def test_participant_can_change_their_username(self): assert actual == "bob" def test_anonymous_gets_404(self): - response = self.change_username("bob", user=None) - assert response.code == 404, (response.code, response.body) + response = self.change_username("bob", auth_as=None, expecting_error=True) + assert response.code == 404 def test_empty(self): - response = self.change_username(' ') - assert response.code == 400, (response.code, response.body) + response = self.change_username(' ', expecting_error=True) + assert response.code == 400 def test_invalid(self): - response = self.change_username("\u2034".encode('utf8')) - assert response.code == 400, (response.code, response.body) + response = self.change_username("\u2034".encode('utf8'), expecting_error=True) + assert response.code == 400 def test_restricted_username(self): - response = self.change_username("assets") - assert response.code == 400, (response.code, response.body) + response = self.change_username("assets", expecting_error=True) + assert response.code == 400 def test_unavailable(self): self.make_participant("bob") - response = self.change_username("bob") - assert response.code == 400, (response.code, response.body) + response = self.change_username("bob", expecting_error=True) + assert response.code == 400 def test_too_long(self): self.make_participant("bob") response = self.change_username("I am way too long, and you know it, " "and I know it, and the American " - "people know it.") - assert response.code == 400, (response.code, response.body) + "people know it.", expecting_error=True) + assert response.code == 400 diff --git a/tests/test_utils.py b/tests/test_utils.py index af5629cf63..d5bfab92b2 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -1,23 +1,27 @@ from __future__ import division, print_function, unicode_literals -from aspen import Response +from aspen.http.response import Response from gittip import utils -from gittip.testing import Harness, load_request -from gittip.elsewhere.twitter import TwitterAccount +from gittip.testing import Harness class Tests(Harness): def test_get_participant_gets_participant(self): - expected = TwitterAccount(self.db, "alice", {}).opt_in("alice")[0].participant - request = load_request(b'/alice/') - + expected = self.make_participant('alice', claimed_time='now') + request = self.client.GET( '/alice/' + , return_after='dispatch_request_to_filesystem' + , want='request' + ) actual = utils.get_participant(request, restrict=False) assert actual == expected def test_get_participant_canonicalizes(self): - expected, ignored = TwitterAccount(self.db, "alice", {}).opt_in("alice") - request = load_request(b'/Alice/') + self.make_participant('alice', claimed_time='now') + request = self.client.GET( '/Alice/' + , return_after='dispatch_request_to_filesystem' + , want='request' + ) with self.assertRaises(Response) as cm: utils.get_participant(request, restrict=False) diff --git a/vendor/aspen-0.26.1.tar.bz2 b/vendor/aspen-0.26.1.tar.bz2 deleted file mode 100644 index 9d7346f75d67868e0851981b998cd3c6e97de32e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 61673 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%0DUwq%9BT~Kc#Q`_ZLdB{bbDscON{QtW_tlLoM~S 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

d9Bim&ZmkcQ*a84V*FGe=q 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 - {% end %} + {% endif %} {% if participant == user %}

You give ${{ total }} per week

{% else %}

{{ participant.username }} gives ${{ total }} per week

- {% end %} + {% endif %} {% for tip in tips %} @@ -77,15 +77,15 @@ first_time = qs.get('first_time') == '1' {{ tippee }} {% include "templates/my-tip-bulk.html" %} - {% end %} - {% end %} + {% endif %} + {% endfor %} {% if unclaimed_total > 0 %}

Another ${{ unclaimed_total }} per week goes unclaimed

- {% end %} + {% endif %} {% for tip in unclaimed_tips %} {% set my_tip = tip.amount %} {% set tippee = tip.tippee %} @@ -97,7 +97,7 @@ first_time = qs.get('first_time') == '1' {% include "templates/my-tip-bulk.html" %} - {% end %} - {% end %} + {% endif %} + {% endfor %} -{% end %} +{% endblock %} diff --git a/www/%username/history/index.html.spt b/www/%username/history/index.html.spt index 057ef295b5..cbd7a2d1db 100644 --- a/www/%username/history/index.html.spt +++ b/www/%username/history/index.html.spt @@ -155,7 +155,7 @@ title = "%s - %s" % (participant.username, hero) locked = False [-----------------------------------------------------------------------------] -{% extends templates/profile.html %} +{% extends "templates/profile.html" %} {% block page %} @@ -178,7 +178,7 @@ locked = False - {% end %} + {% endif %} {% for event in paydays %} {% if event['event'] == 'payday-start' %} @@ -227,14 +227,14 @@ locked = False - {% if event['recorder'] is None %} + {% if event['recorder'] == None %} {% else %} - {% end %} + {% endif %} {% elif event['event'] == 'charge' %} @@ -245,10 +245,10 @@ locked = False @@ -264,7 +264,7 @@ locked = False {% else %} - {% end %} + {% endif %} @@ -273,7 +273,7 @@ locked = False {% else %} - {% end %} + {% endif %} {% else %} {% if user.ADMIN %} - {% end %} - {% end %} + {% endif %} + {% endif %} - {% end %} -{% end %} + {% endif %} +{% endfor %}
{{ -event['amount'] + event['fee'] }} {{ event['balance'] }}automatic withdrawal - “{{ escape(event['note']) }}”—{{ event['recorder'] }}
{{ event['balance'] }} - {% if event['recorder'] is None %}automatic charge{% else %} - “{{ escape(event['note']) }}”—{{ event['recorder'] }} - {% end %} + {% endif %} (receipt)
{{ event['amount'] }}{{ event['balance'] }}from {{ event['tipper'] }}from someoneto @@ -281,12 +281,12 @@ locked = False {% else %} to {{ event['tippee'] }}
-{% end %} +{% endblock %} diff --git a/www/%username/horn/index.html.spt b/www/%username/horn/index.html.spt deleted file mode 100644 index 7a9d5393b5..0000000000 --- a/www/%username/horn/index.html.spt +++ /dev/null @@ -1,42 +0,0 @@ -from aspen import Response -from gittip.utils import get_participant -[-----------------------------------------------------------------------------] - -participant = get_participant(request, restrict=False) -hero = "Horn" -title = "%s - %s" % (participant.username, hero) -locked = False -username = participant.username - -[-----------------------------------------------------------------------------] -{% extends templates/profile.html %} -{% block page %} -
-
- {% if not user.ANON %} - {% if user == participant %} -

Toot your own horn!

- {% else %} -

Toot their horn!

- {% end %} -
- -

- - {% if user == participant %} - What have you done today that's awesome? Don't be shy!
- {% else %} - Thank {{ participant.username }} for something!
- {% end %} -
- -

-
-
- {% end %} -
-
    -
    - - -{% end %} diff --git a/www/%username/horn/toot.json.spt b/www/%username/horn/toot.json.spt deleted file mode 100644 index 0dc75a4c14..0000000000 --- a/www/%username/horn/toot.json.spt +++ /dev/null @@ -1,15 +0,0 @@ -from aspen import Response - -[--------------------------------] - -if user.ANON: - raise Response(400) -tooter = user.participant.username -tootee = path['username'] -toot = body['toot'].strip() -if len(toot) > 140 or len(toot) < 1: - raise Response(400) -website.db.run( "INSERT INTO toots (tooter, tootee, toot) VALUES (%s, %s, %s)" - , (tooter, tootee, toot) - ) -response.code = 204 diff --git a/www/%username/horn/toots.json.spt b/www/%username/horn/toots.json.spt deleted file mode 100644 index b468fa32cc..0000000000 --- a/www/%username/horn/toots.json.spt +++ /dev/null @@ -1,74 +0,0 @@ -"""Return an array of toots for this participant. - -If the user is the participant, then the toot stream will include toots -referring to people they gave money to last week. - -""" -from gittip.utils import get_participant - -SQL_SELF = """ - - SELECT id, ctime - , tooter = %s AS user_is_tooter - , tootee = %s AS user_is_tootee - , tooter = tootee AS tooter_is_tootee - , tooter, tootee, toot - , %s AS horn - FROM toots - WHERE ( tootee = %s - OR tootee IN ( SELECT tippee - FROM transfers - WHERE tipper=%s - AND "timestamp" > (now() - interval '8 days') - ) - ) - AND id > %s - AND id <= %s - ORDER BY id DESC - LIMIT %s - -""" - -SQL_OTHER = """ - - SELECT id, ctime - , tooter = %s AS user_is_tooter - , tootee = %s AS user_is_tootee - , tooter = tootee AS tooter_is_tootee - , tooter, tootee, toot - , %s AS horn - FROM toots - WHERE tootee = %s - AND id > %s - AND id <= %s - ORDER BY id DESC - LIMIT %s - -""" - -DEFAULT_LIMIT = 200 -[------------------------------] -participant = get_participant(request, restrict=False) -username = participant.username -current_user = getattr(user.participant, 'username', None) - -try: - limit = min(int(qs.get('limit', DEFAULT_LIMIT)), DEFAULT_LIMIT) - since_id = long(qs.get('since_id', 0)) - if user == participant: - # When you look at your own horn you also get toots from people you - # tip. - SQL = SQL_SELF - args = [current_user]*2 + [username]*3 + [since_id, limit] - else: - SQL = SQL_OTHER - args = [current_user]*2 + [username]*2 + [since_id, limit] - - max_id = qs.get('max_id') - if max_id is None: - SQL = SQL.replace("AND id <= %s", "") - else: - args.insert(-1, long(max_id)) -except ValueError: # cast to int/long failed - raise Response(400) -response.body = website.db.all(SQL, tuple(args)) diff --git a/www/%username/index.html.spt b/www/%username/index.html.spt index 2d64650293..fdc839ff85 100644 --- a/www/%username/index.html.spt +++ b/www/%username/index.html.spt @@ -39,7 +39,7 @@ else: MY = "Our" [-----------------------------------------------------------------------------] -{% extends templates/profile.html %} +{% extends "templates/profile.html" %} {% block head %} @@ -47,12 +47,12 @@ else: {% if participant.statement %} - + {% else %} - {% end %} + {% endif %} -{% end %} +{% endblock %} {% block page %} {% if user.participant == participant %} @@ -62,17 +62,17 @@ else: {% else %}
    {% if participant.statement %} -
    +

    Statement

    {{ I_AM }} {{ MAKING }} {{ wrap(participant.statement) }}
    -
    +
    {% else %}
    - {% end %} + {% endif %} {% include "templates/team-listing.html" %} {% if communities %} @@ -84,13 +84,13 @@ else: {% set nothers = community.nmembers - 1 %}
    with {{ nothers }} other{{ plural(nothers) }}
    - {% end %} + {% endfor %} - {% end %} + {% endif %}

    Funding Goal

    - {% if participant.goal is None %} + {% if participant.goal == None %} {{ I_M }} grateful for gifts, but don't have a specific funding goal. {% elif participant.goal == 0 %} @@ -102,7 +102,7 @@ else: {{ MY }} goal is to receive ${{ locale.format("%.2f", participant.goal, grouping=True) }} per week on Gittip. - {% end %} + {% endif %}
    {% include "templates/charts-for-user.html" %} @@ -110,7 +110,7 @@ else: {% include "templates/connected-accounts.html" %}
    -{% end %} +{% endif %} -{% end %} +{% endblock %} diff --git a/www/%username/members/index.html.spt b/www/%username/members/index.html.spt index 88f596484e..4b3b0f3e78 100644 --- a/www/%username/members/index.html.spt +++ b/www/%username/members/index.html.spt @@ -17,7 +17,7 @@ github_account, twitter_account, bitbucket_account, bountysource_account = \ team.get_accounts_elsewhere() [-----------------------------------------------------------------------------] -{% extends templates/profile.html %} +{% extends "templates/profile.html" %} {% block page %} @@ -58,8 +58,8 @@ github_account, twitter_account, bitbucket_account, bountysource_account = \
    - {% end %} + {% endif %}
    -{% end %} +{% endblock %} diff --git a/www/%username/receipts/%exchange_id.int.html.spt b/www/%username/receipts/%exchange_id.int.html.spt index ab10d74802..1a5191bd11 100644 --- a/www/%username/receipts/%exchange_id.int.html.spt +++ b/www/%username/receipts/%exchange_id.int.html.spt @@ -97,8 +97,8 @@ if exchange is None: {{ card['address_1'] }}
    {% if card['address_2'] %} {{ card['address_2'] }}
    - {% end %} - {{ card['city_town'] }}{% if card['city_town'] %},{% end %} + {% endif %} + {{ card['city_town'] }}{% if card['city_town'] %},{% endif %} {{ card['state'] }} {{ card['zip'] }}
    {{ COUNTRIES_MAP.get(card['country'], '') }} diff --git a/www/%username/username.json.spt b/www/%username/username.json.spt index 3047fc2df0..ea7b29c5ff 100644 --- a/www/%username/username.json.spt +++ b/www/%username/username.json.spt @@ -14,4 +14,4 @@ try: response.body = {"username": new_username} log_dammit("user with username %s has become username %s" % (old_username, new_username)) except ProblemChangingUsername, e: - response = Response(400, {"error": str(e)}) + raise Response(400, {"error": str(e)}) diff --git a/www/%username/widget.html.spt b/www/%username/widget.html.spt index 6664994b5f..9e291a5414 100644 --- a/www/%username/widget.html.spt +++ b/www/%username/widget.html.spt @@ -15,12 +15,12 @@ response.headers['X-Frame-Options'] = "ALLOWALL" diff --git a/www/about/faq.html.spt b/www/about/faq.html.spt index f2f9350d0c..d3d18b2207 100644 --- a/www/about/faq.html.spt +++ b/www/about/faq.html.spt @@ -1,6 +1,6 @@ title = "Frequently Asked Questions" [---] -{% extends templates/about.html %} +{% extends "templates/about.html" %} {% block page %}
    @@ -154,4 +154,4 @@ title = "Frequently Asked Questions"
    -{% end %} +{% endblock %} diff --git a/www/about/fraud/2012-11-05.html.spt b/www/about/fraud/2012-11-05.html.spt index b090c81def..6dd7711208 100644 --- a/www/about/fraud/2012-11-05.html.spt +++ b/www/about/fraud/2012-11-05.html.spt @@ -169,7 +169,7 @@ fmtdate = lambda d: str(d)[:10] title = "The Delpan Incident" [---] -{% extends templates/base.html %} +{% extends "templates/base.html" %} {% block box %}
    @@ -219,29 +219,29 @@ title = "The Delpan Incident"
    -{% end %} +{% endblock %} {% block page %}
    @@ -83,17 +83,17 @@ title = "Bank Account" {% if bank_account and bank_account.is_setup %}

    Current: {{ bank_account['bank_name'] }} ******{{ bank_account['last_four'] }}

    - {% end %} + {% endif %}
    {% if user.participant.last_ach_result %}

    Failure

    {{ user.participant.last_ach_result }}

    - {% end %}
    + {% endif %}
    {% if account and 'merchant' in account.roles %}

    Identity Verification  

    Routing Information

    - {% end %} + {% endif %} {% if not account or 'merchant' not in account.roles %} @@ -144,17 +144,17 @@ title = "Bank Account"
    @@ -162,7 +162,7 @@ title = "Bank Account"

    Routing Information

    - {% end %} + {% endif %}
    @@ -197,11 +197,11 @@ title = "Bank Account"
    - {% end %} + {% endif %} - {% end %} -{% end %} + {% endif %} +{% endblock %} {% block page %} -{% end %} +{% endblock %} diff --git a/www/credit-card.html.spt b/www/credit-card.html.spt index 0b37c372e8..f1dbc35714 100644 --- a/www/credit-card.html.spt +++ b/www/credit-card.html.spt @@ -32,25 +32,25 @@ if not user.ANON: title = "Credit Card" [-----------------------------------------------------------------------------] -{% extends templates/base.html %} +{% extends "templates/base.html" %} {% block heading %}

    Your credit card is {{ status }}

    When you don't have enough money in your Gittip account to cover - your gifts, we {% if balanced_account_uri %}will{% else %}can{% end %} + your gifts, we {% if balanced_account_uri %}will{% else %}can{% endif %} attempt to pull money in using - {% if balanced_account_uri %}this{% else %}a{% end %} credit card. + {% if balanced_account_uri %}this{% else %}a{% endif %} credit card. If your credit card is missing or fails then your gifts won't go through for that week.

    -{% end %} +{% endblock %} {% block box %} {% if user.ANON %}

    - {% include templates/sign-in-using.html %} + {% include "templates/sign-in-using.html" %} and then you'll be able to add
    or change your credit card.

    Thanks! :-)

    @@ -62,6 +62,7 @@ title = "Credit Card" $(document).ready(function() { Gittip.payments.cc.init("{{ balanced.Marketplace.my_marketplace.uri }}", "{{ user.participant.username }}"); + $('#country').chosen(); });
    @@ -77,12 +78,12 @@ title = "Credit Card" {% if status != "missing" %}

    Current: {{ card['card_type'] }} {{ card['last4'] }}

    - {% end %} + {% endif %}
    {% if user.participant.last_bill_result %}

    Failure

    {{ user.participant.last_bill_result }}

    - {% end %}
    + {% endif %}

    Required

    @@ -140,14 +141,15 @@ title = "Credit Card" - + {% for each in COUNTRIES %} {% if each[0] == card['country'] %} {% else %} - {% end %} - {% end %} + {% endif %} + {% endfor %}
    @@ -166,8 +168,8 @@ title = "Credit Card" -{% end %} -{% end %} +{% endif %} +{% endblock %} {% block page %} -{% end %} +{% endblock %} diff --git a/www/credit-card.json.spt b/www/credit-card.json.spt index a26eab8c59..d071621370 100644 --- a/www/credit-card.json.spt +++ b/www/credit-card.json.spt @@ -9,7 +9,6 @@ a Balanced account object (creating one as needed). """ from aspen import Response from gittip import billing -from gittip.utils import mixpanel [-----------------------------------------------------------------------------] diff --git a/www/for/%slug/index.html.spt b/www/for/%slug/index.html.spt index 3ae6f81110..4629d675d4 100644 --- a/www/for/%slug/index.html.spt +++ b/www/for/%slug/index.html.spt @@ -179,11 +179,11 @@ if community.nmembers >= website.NMEMBERS_THRESHOLD: """, (community.slug, limit, offset))) [---] -{% extends templates/base.html %} +{% extends "templates/base.html" %} {% block heading %}

    Community

    Browse All Communities

    -{% end %} +{% endblock %} {% block box %}

    {{ community.name }}

    @@ -195,7 +195,7 @@ if community.nmembers >= website.NMEMBERS_THRESHOLD: -{% end %} +{% endblock %} {% block page %} -{% end %} +{% endblock %} {% block heading %}

    Sustainable Crowdfunding

    @@ -96,7 +96,7 @@ receivers = utter_hack(website.db, website.db.all("""

    -{% end %} +{% endblock %} {% block box %}

    Who inspires you?

    @@ -116,7 +116,7 @@ receivers = utter_hack(website.db, website.db.all(""" -{% end %} +{% endblock %} {% block page %}
    @@ -125,7 +125,7 @@ receivers = utter_hack(website.db, website.db.all("""

    New Participants

      {% for i, participant in enumerate(new_participants, start=1) %} - LUXURY %} class="luxury"{% end %}> + LUXURY %} class="luxury"{% endif %}> - {% end %} + {% endfor %}

    Top Givers

      {% for i, giver in enumerate(givers, start=1) %} - LUXURY %} class="luxury"{% end %}> + LUXURY %} class="luxury"{% endif %}> {% if giver.anonymous and not user.ADMIN %} @@ -165,16 +165,16 @@ receivers = utter_hack(website.db, website.db.all(""" {{ giver.username }} - {% end %} + {% endif %} - {% end %} + {% endfor %}

    Top Receivers

      {% for i, receiver in enumerate(receivers, start=1) %} - LUXURY %} class="luxury"{% end %}> + LUXURY %} class="luxury"{% endif %}> - {% end %} + {% endfor %}
    -{% end %} +{% endblock %} diff --git a/www/on/bitbucket/%username/index.html.spt b/www/on/bitbucket/%username/index.html.spt index 34c96ff551..b43e96b0af 100644 --- a/www/on/bitbucket/%username/index.html.spt +++ b/www/on/bitbucket/%username/index.html.spt @@ -107,9 +107,9 @@ elif is_team: url = "https://bitbucket.org/%s" % username title = username [-----------------------------------------------------------------------------] -{% extends templates/base.html %} +{% extends "templates/base.html" %} -{% block heading %}

    Bitbucket

    {% end %} +{% block heading %}

    Bitbucket

    {% endblock %} {% block box %} @@ -118,13 +118,13 @@ title = username @@ -137,9 +137,9 @@ title = username - {% end %} - {% end %} -{% end %} + {% endif %} + {% endif %} +{% endblock %} {% block page %} @@ -147,37 +147,37 @@ title = username
    {% if account.is_locked %} -

    {{ escape(username) }} has opted out of Gittip.

    +

    {{ username|e }} has opted out of Gittip.

    If you are {{ escape(username) }} + href="{{ user_info.get('html_url', '') }}">{{ username|e }} on Bitbucket, you can unlock your account to allow people to pledge tips to you on Gittip.

    {% if 0 %} - - {% end %} + {% endif %} {% else %} -

    {{ escape(name) }} has not joined Gittip.

    +

    {{ name|e }} has not joined Gittip.

    Is this you? {% if user.ANON %} {% if 0 %} - Click + Click here to opt in to Gittip. We never collect money for you until you do. - {% end %} + {% endif %} {% else %} Sign out and sign back in to claim this account - {% end %} + {% endif %}

    {% if user.ANON %} @@ -190,17 +190,17 @@ title = username

    Don't like what you see?

    -

    If you are {{ escape(username) }} you can explicitly opt out of +

    If you are {{ username|e }} you can explicitly opt out of Gittip by locking this account. We don't allow new pledges to locked accounts.

    {% if 0 %} - - {% end %} - {% end %} + {% endif %} + {% endif %} - {% end %} + {% endif %}
    {% elif usertype == "organization" %} @@ -213,29 +213,29 @@ title = username

    {{ nsequence }} {% if number > 0 %} ({{ "%.1f" % (nsequence * 100 / float(number)) }}%) - {% end %} + {% endif %} {{ 'is' if nsequence == 1 else 'are' }} {{ i == 0 and "also on" or "not on" }} Gittip

    - {% end %} + {% endif %} {% for member, tippee, my_tip in sequence %} {% else %} - {% end %} + {% endif %} - {% end %} - {% end %} + {% endfor %} + {% endfor %}
    -

    {{ escape(username) }} has

    +

    {{ username|e }} has

    {{ number }}
    {% if usertype == "user" %}
    {{ 'person' if number == 1 else 'people' }} ready to give
    {% elif usertype == "organization" %}
    public member{{ '' if number == 1 else 's' }}
    - {% end %} + {% endif %}
    {% if not user.ANON %} - - {{ member['username'] }} + + {{ member['username']|e }} {% include "templates/my-tip-bulk.html" %} - - {{ member['username'] }} + + {{ member['username']|e }}
    {% else %} @@ -245,5 +245,5 @@ title = username I don't recognize the “{{ usertype }}” type of user on Bitbucket.
    Sorry. :-( - {% end %} -{% end %} + {% endif %} +{% endblock %} diff --git a/www/on/bitbucket/associate.spt b/www/on/bitbucket/associate.spt index 752fdf583d..dced6c7e55 100644 --- a/www/on/bitbucket/associate.spt +++ b/www/on/bitbucket/associate.spt @@ -14,7 +14,6 @@ from aspen import json, log, Response from aspen import resources from gittip.elsewhere import ACTIONS, bitbucket from gittip.models._mixin_elsewhere import NeedConfirmation -from gittip.utils import mixpanel \ [-----------------------------] @@ -79,8 +78,6 @@ if action == 'opt-in': # opt in # set 'user' to give them a session :/ user, newly_claimed = account.opt_in(username) del account - if newly_claimed: - mixpanel.alias_and_track(cookie, unicode(user.participant.id)) elif action == 'connect': # connect if user.ANON: raise Response(404) diff --git a/www/on/bountysource/failure.html.spt b/www/on/bountysource/failure.html.spt index df0cb79a07..b995b5e4c5 100644 --- a/www/on/bountysource/failure.html.spt +++ b/www/on/bountysource/failure.html.spt @@ -1,8 +1,8 @@ msg = 'Unable to link Bountysource account at this time.' msg = qs.get('msg', msg) [---] -{% extends templates/base.html %} -{% block heading %}

    Failure

    {% end %} +{% extends "templates/base.html" %} +{% block heading %}

    Failure

    {% endblock %} {% block box %}
    @@ -10,8 +10,8 @@ msg = qs.get('msg', msg)

    Your attempt to link your Bountysource
    account failed with this message:

    -

    {{ escape(msg) }}

    +

    {{ msg|e }}

    -{% end %} +{% endblock %} diff --git a/www/on/confirm.html.spt b/www/on/confirm.html.spt index dd0b48307c..b27a845e28 100644 --- a/www/on/confirm.html.spt +++ b/www/on/confirm.html.spt @@ -81,22 +81,22 @@ title = "Please Confirm"
    - {% if user_twitter_account is not None %} + {% if user_twitter_account != None %} {{ user_twitter_account.user_info['screen_name'] }}
    - {% end %} - {% if user_github_account is not None %} + {% endif %} + {% if user_github_account != None %} {{ user_github_account.user_info['login'] }}
    - {% end %} - {% if user_bitbucket_account is not None %} + {% endif %} + {% if user_bitbucket_account != None %} {{ user_bitbucket_account.user_info['username'] }}
    - {% end %} - {% if user_bountysource_account is not None %} + {% endif %} + {% if user_bountysource_account != None %} {{ user_bountysource_account.user_info['display_name'] }}
    - {% end %} + {% endif %}
    @@ -115,30 +115,30 @@ title = "Please Confirm"
    - {% if other_twitter_account is not None %} + {% if other_twitter_account != None %} - {% if account.platform == 'twitter' %}{% end %} + {% if account.platform == 'twitter' %}{% endif %} {{ other_twitter_account.user_info['screen_name'] }}
    - {% if account.platform == 'twitter' %}
    {% end %} - {% end %} - {% if other_github_account is not None %} + {% if account.platform == 'twitter' %}
    {% endif %} + {% endif %} + {% if other_github_account != None %} - {% if account.platform == 'github' %}{% end %} + {% if account.platform == 'github' %}{% endif %} {{ other_github_account.user_info['login'] }}
    - {% if account.platform == 'github' %}
    {% end %} - {% end %} - {% if other_bitbucket_account is not None %} + {% if account.platform == 'github' %}
    {% endif %} + {% endif %} + {% if other_bitbucket_account != None %} - {% if account.platform == 'bitbucket' %}{% end %} + {% if account.platform == 'bitbucket' %}{% endif %} {{ other_bitbucket_account.user_info['username'] }}
    - {% if account.platform == 'bitbucket' %}
    {% end %} - {% end %} - {% if other_bountysource_account is not None %} + {% if account.platform == 'bitbucket' %}
    {% endif %} + {% endif %} + {% if other_bountysource_account != None %} - {% if account.platform == 'bountysource' %}{% end %} + {% if account.platform == 'bountysource' %}{% endif %} {{ other_bountysource_account.user_info['display_name'] }}
    - {% if account.platform == 'bountysource' %}
    {% end %} - {% end %} + {% if account.platform == 'bountysource' %}
    {% endif %} + {% endif %} @@ -151,30 +151,30 @@ title = "Please Confirm" - {% end %} + {% endif %}
    - {% if account.platform == 'twitter' and user_twitter_account is not None %} + {% if account.platform == 'twitter' and user_twitter_account != None %} - {% end %} - {% if account.platform == 'github' and user_github_account is not None %} + {% endif %} + {% if account.platform == 'github' and user_github_account != None %} - {% end %} - {% if account.platform == 'bitbucket' and user_bitbucket_account is not None %} + {% endif %} + {% if account.platform == 'bitbucket' and user_bitbucket_account != None %} - {% end %} - {% if account.platform == 'bountysource' and user_bountysource_account is not None %} + {% endif %} + {% if account.platform == 'bountysource' and user_bountysource_account != None %} - {% end %} + {% endif %}
    @@ -196,35 +196,35 @@ title = "Please Confirm"
    Receives {{ fmt(user_receiving ) }}

    - {% if user_twitter_account is not None %} + {% if user_twitter_account != None %} - {% end %} - {% if user_github_account is not None %} + {% endif %} + {% if user_github_account != None %} - {% end %} - {% if user_bitbucket_account is not None %} + {% endif %} + {% if user_bitbucket_account != None %} - {% end %} - {% if user_bountysource_account is not None %} + {% endif %} + {% if user_bountysource_account != None %} - {% end %} + {% endif %}