Return-Path: X-Original-To: apmail-incubator-allura-commits-archive@minotaur.apache.org Delivered-To: apmail-incubator-allura-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id B194D101CD for ; Tue, 23 Apr 2013 16:42:07 +0000 (UTC) Received: (qmail 71633 invoked by uid 500); 23 Apr 2013 16:42:07 -0000 Delivered-To: apmail-incubator-allura-commits-archive@incubator.apache.org Received: (qmail 71578 invoked by uid 500); 23 Apr 2013 16:42:07 -0000 Mailing-List: contact allura-commits-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: allura-dev@incubator.apache.org Delivered-To: mailing list allura-commits@incubator.apache.org Received: (qmail 70637 invoked by uid 99); 23 Apr 2013 16:42:06 -0000 Received: from tyr.zones.apache.org (HELO tyr.zones.apache.org) (140.211.11.114) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 23 Apr 2013 16:42:06 +0000 Received: by tyr.zones.apache.org (Postfix, from userid 65534) id 7E09981EC26; Tue, 23 Apr 2013 16:42:06 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: tvansteenburgh@apache.org To: allura-commits@incubator.apache.org Date: Tue, 23 Apr 2013 16:42:45 -0000 Message-Id: <5ebe858f9a974243b5b111554ad99305@git.apache.org> In-Reply-To: References: X-Mailer: ASF-Git Admin Mailer Subject: [41/50] [abbrv] git commit: [#2502] ticket:300 Fixed bug in filtered_by_subscription [#2502] ticket:300 Fixed bug in filtered_by_subscription Project: http://git-wip-us.apache.org/repos/asf/incubator-allura/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-allura/commit/b01ecfb6 Tree: http://git-wip-us.apache.org/repos/asf/incubator-allura/tree/b01ecfb6 Diff: http://git-wip-us.apache.org/repos/asf/incubator-allura/diff/b01ecfb6 Branch: refs/heads/cj/5120 Commit: b01ecfb6a6a482e3337c6d6a17d2041bbb781f89 Parents: 24e8e46 Author: Igor Bondarenko Authored: Wed Apr 17 09:52:57 2013 +0000 Committer: Cory Johns Committed: Mon Apr 22 19:40:27 2013 +0000 ---------------------------------------------------------------------- .../forgetracker/tests/functional/test_root.py | 11 ++++++----- ForgeTracker/forgetracker/tracker_main.py | 8 ++++---- 2 files changed, 10 insertions(+), 9 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/b01ecfb6/ForgeTracker/forgetracker/tests/functional/test_root.py ---------------------------------------------------------------------- diff --git a/ForgeTracker/forgetracker/tests/functional/test_root.py b/ForgeTracker/forgetracker/tests/functional/test_root.py index 91b718c..c21744c 100644 --- a/ForgeTracker/forgetracker/tests/functional/test_root.py +++ b/ForgeTracker/forgetracker/tests/functional/test_root.py @@ -1222,6 +1222,7 @@ class TestFunctionalController(TrackerTestController): users.append(M.User.by_username('test-user-2')) admin = M.User.by_username('test-admin') tickets[0].subscribe(user=users[0]) + tickets[0].subscribe(user=users[1]) tickets[1].subscribe(user=users[1]) tickets[2].subscribe(user=users[2]) ThreadLocalORMSession.flush_all() @@ -1233,8 +1234,8 @@ class TestFunctionalController(TrackerTestController): # test-user-2 shoudn't be notified # (he has subscription to third ticket, but it didn't change). # test-user-0 should see changes only for first ticket. - # test-user-1 - only for second. - # admin - for both (since he has tool subscription). + # test-user-1 - for both (separate subscription for both tickets). + # admin - for both (tool subscription). changes = { tickets[0]._id: tickets[0], tickets[1]._id: tickets[1], @@ -1243,9 +1244,9 @@ class TestFunctionalController(TrackerTestController): filtered_users = [uid for uid, data in filtered_changes.iteritems()] assert_equal(sorted(filtered_users), sorted([u._id for u in users[:-1] + [admin]])) ticket_ids = [t._id for t in tickets] - assert_equal(filtered_changes[users[0]._id], ticket_ids[0:1]) - assert_equal(filtered_changes[users[1]._id], ticket_ids[1:2]) - assert_equal(sorted(filtered_changes[admin._id]), sorted(ticket_ids[:-1])) + assert_equal(filtered_changes[users[0]._id], set(ticket_ids[0:1])) + assert_equal(filtered_changes[users[1]._id], set(ticket_ids[:-1])) + assert_equal(filtered_changes[admin._id], set(ticket_ids[:-1])) def test_vote(self): r = self.new_ticket(summary='test vote').follow() http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/b01ecfb6/ForgeTracker/forgetracker/tracker_main.py ---------------------------------------------------------------------- diff --git a/ForgeTracker/forgetracker/tracker_main.py b/ForgeTracker/forgetracker/tracker_main.py index 34ee011..396d300 100644 --- a/ForgeTracker/forgetracker/tracker_main.py +++ b/ForgeTracker/forgetracker/tracker_main.py @@ -1220,14 +1220,14 @@ def filtered_by_subscription(tickets, project_id=None, app_config_id=None): project_id=p_id, app_config_id=ac_id) if M.Mailbox.subscribed(**params): - filtered[uid] = ticket_ids # subscribed to entire tool, will see all changes + filtered[uid] = set(ticket_ids) # subscribed to entire tool, will see all changes continue for t_id, ticket in tickets.iteritems(): params.update({'artifact': ticket}) if M.Mailbox.subscribed(**params): - if filtered.get('uid') is None: - filtered[uid] = [] - filtered[uid].append(t_id) + if filtered.get(uid) is None: + filtered[uid] = set() + filtered[uid].add(t_id) return filtered