You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@allura.apache.org by br...@apache.org on 2013/02/12 17:59:06 UTC

[1/5] git commit: [#5727] ticket:264 Test for fix-discussion command

[#5727] ticket:264 Test for fix-discussion command


Project: http://git-wip-us.apache.org/repos/asf/incubator-allura/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-allura/commit/73a7bd1e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-allura/tree/73a7bd1e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-allura/diff/73a7bd1e

Branch: refs/heads/master
Commit: 73a7bd1eba96cfb05a16499855e229b68083392d
Parents: 53aef82
Author: Igor Bondarenko <je...@gmail.com>
Authored: Fri Feb 1 12:58:33 2013 +0000
Committer: Dave Brondsema <db...@geek.net>
Committed: Tue Feb 12 16:58:47 2013 +0000

----------------------------------------------------------------------
 .../tests/command/test_fix_discussion.py           |   43 ++++++++++++++-
 1 files changed, 40 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/73a7bd1e/ForgeTracker/forgetracker/tests/command/__init__.py
----------------------------------------------------------------------
diff --git a/ForgeTracker/forgetracker/tests/command/__init__.py b/ForgeTracker/forgetracker/tests/command/__init__.py
new file mode 100644
index 0000000..e69de29

http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/73a7bd1e/ForgeTracker/forgetracker/tests/command/test_fix_discussion.py
----------------------------------------------------------------------
diff --git a/ForgeTracker/forgetracker/tests/command/test_fix_discussion.py b/ForgeTracker/forgetracker/tests/command/test_fix_discussion.py
index 28d53e2..2025cc7 100644
--- a/ForgeTracker/forgetracker/tests/command/test_fix_discussion.py
+++ b/ForgeTracker/forgetracker/tests/command/test_fix_discussion.py
@@ -1,5 +1,11 @@
+from ming.orm import session
+from nose.tools import assert_equal, assert_not_equal
+
 from alluratest.controller import setup_basic_test, setup_global_objects
 from forgetracker.command import fix_discussion
+from allura.tests.decorators import with_tracker
+from allura import model as M
+from forgetracker import model as TM
 
 test_config = 'test.ini#main'
 
@@ -10,12 +16,43 @@ def setUp(self):
     setup_global_objects()
 
 
+@with_tracker
 def break_discussion():
-    """Emulate buggy 'ticket move' behavior for discussion"""
-    pass
+    """Emulate buggy 'ticket move' behavior"""
+    project = M.Project.query.get(shortname='test')
+    discussion = M.Discussion(name='fake discussion')
+    app_config = M.AppConfig()
+    app_config.tool_name = 'Tickets'
+    app_config.project_id = project._id
+    app_config.options = {'mount_point': 'fake'}
+    session(app_config).flush(app_config)
+    discussion.app_config_id = app_config._id
+    session(discussion).flush(discussion)
 
+    t = TM.Ticket.new()
+    t.summary = 'ticket 1'
+    # move disscusion somewhere
+    t.discussion_thread.discussion.app_config_id = discussion.app_config_id
+    session(t).flush(t)
+    t = TM.Ticket.new()
+    t.summary = 'ticket 2'
+    # moved ticket attached to wrong discussion
+    t.discussion_thread.discussion_id = discussion._id
+    session(t).flush(t)
 
 def test_fix_discussion():
     break_discussion()
+
+    tracker = M.AppConfig.query.find({'options.mount_point': 'bugs'}).first()
+    t1 = TM.Ticket.query.get(ticket_num=1)
+    t2 = TM.Ticket.query.get(ticket_num=2)
+    assert_not_equal(t1.discussion_thread.discussion.app_config_id, tracker._id)
+    assert_not_equal(t2.discussion_thread.discussion_id, tracker.discussion_id)
+
     cmd = fix_discussion.FixDiscussion('fix-discussion')
-    cmd.run([test_config, 'project'])
+    cmd.run([test_config, 'test'])
+
+    t1 = TM.Ticket.query.get(ticket_num=1)
+    t2 = TM.Ticket.query.get(ticket_num=2)
+    assert_equal(t1.discussion_thread.discussion.app_config_id, tracker._id)
+    assert_equal(t2.discussion_thread.discussion_id, tracker.discussion_id)