Return-Path: X-Original-To: apmail-allura-commits-archive@www.apache.org Delivered-To: apmail-allura-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 7788A1165D for ; Mon, 25 Aug 2014 11:33:22 +0000 (UTC) Received: (qmail 56754 invoked by uid 500); 25 Aug 2014 11:33:22 -0000 Delivered-To: apmail-allura-commits-archive@allura.apache.org Received: (qmail 56729 invoked by uid 500); 25 Aug 2014 11:33:22 -0000 Mailing-List: contact commits-help@allura.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@allura.apache.org Delivered-To: mailing list commits@allura.apache.org Received: (qmail 56617 invoked by uid 99); 25 Aug 2014 11:33:22 -0000 Received: from tyr.zones.apache.org (HELO tyr.zones.apache.org) (140.211.11.114) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 25 Aug 2014 11:33:22 +0000 Received: by tyr.zones.apache.org (Postfix, from userid 65534) id 16D699CB7BD; Mon, 25 Aug 2014 11:33:22 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: jetmind@apache.org To: commits@allura.apache.org Date: Mon, 25 Aug 2014 11:33:24 -0000 Message-Id: <38a747add39b4123b35c9eb7df1958e2@git.apache.org> In-Reply-To: <7b11797156b54ba19c713430cc957bb9@git.apache.org> References: <7b11797156b54ba19c713430cc957bb9@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [04/42] git commit: [#7580] ticket:619 Add attachments to the ticket during allura import [#7580] ticket:619 Add attachments to the ticket during allura import Project: http://git-wip-us.apache.org/repos/asf/allura/repo Commit: http://git-wip-us.apache.org/repos/asf/allura/commit/3603c0fc Tree: http://git-wip-us.apache.org/repos/asf/allura/tree/3603c0fc Diff: http://git-wip-us.apache.org/repos/asf/allura/diff/3603c0fc Branch: refs/heads/je/42cc_7585 Commit: 3603c0fcc8d4c1b3a1425e3196ba947b335201c7 Parents: e04ad2a Author: discort Authored: Wed Aug 6 10:58:03 2014 +0000 Committer: Dave Brondsema Committed: Thu Aug 14 23:53:39 2014 +0000 ---------------------------------------------------------------------- ForgeImporters/forgeimporters/forge/tracker.py | 3 +++ .../forgeimporters/tests/forge/test_tracker.py | 24 ++++++++++++++++++++ 2 files changed, 27 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/allura/blob/3603c0fc/ForgeImporters/forgeimporters/forge/tracker.py ---------------------------------------------------------------------- diff --git a/ForgeImporters/forgeimporters/forge/tracker.py b/ForgeImporters/forgeimporters/forge/tracker.py index 96c352f..2937b63 100644 --- a/ForgeImporters/forgeimporters/forge/tracker.py +++ b/ForgeImporters/forgeimporters/forge/tracker.py @@ -153,6 +153,9 @@ class ForgeTrackerImporter(ToolImporter): ticket_json['votes_down'], assigned_to_id=owner._id, ) + # add an attachment to the ticket + ticket.add_multiple_attachments([File(a['url']) + for a in ticket_json['attachments']]) # trigger the private property ticket.private = ticket_json['private'] self.process_comments( http://git-wip-us.apache.org/repos/asf/allura/blob/3603c0fc/ForgeImporters/forgeimporters/tests/forge/test_tracker.py ---------------------------------------------------------------------- diff --git a/ForgeImporters/forgeimporters/tests/forge/test_tracker.py b/ForgeImporters/forgeimporters/tests/forge/test_tracker.py index 152f222..88f6b53 100644 --- a/ForgeImporters/forgeimporters/tests/forge/test_tracker.py +++ b/ForgeImporters/forgeimporters/tests/forge/test_tracker.py @@ -17,6 +17,8 @@ from datetime import datetime from unittest import TestCase +from cgi import FieldStorage +from cStringIO import StringIO import mock from ming.odm import ThreadLocalORMSession @@ -27,6 +29,7 @@ from allura.tests.decorators import with_tracker from allura import model as M from forgeimporters.forge import tracker +from forgetracker import model as TM class TestTrackerImporter(TestCase): @@ -55,6 +58,7 @@ class TestTrackerImporter(TestCase): { 'reported_by': 'rb1', 'assigned_to': 'at1', + 'attachments': [], 'ticket_num': 1, 'description': 'd1', 'created_date': '2013-09-01', @@ -72,6 +76,7 @@ class TestTrackerImporter(TestCase): 'reported_by': 'rb2', 'assigned_to': 'at2', 'ticket_num': 100, + 'attachments': [], 'description': 'd2', 'created_date': '2013-09-03', 'mod_date': '2013-09-04', @@ -196,6 +201,25 @@ class TestTrackerImporter(TestCase): g.post_event.assert_called_once_with('project_updated') app.globals.invalidate_bin_counts.assert_called_once_with() + def test_ticket_attach(self): + test_file1 = FieldStorage() + test_file1.name = 'test_file_1' + test_file1.filename = 'test_file_1.txt' + test_file1.type = 'text/plain' + test_file1.file = StringIO('test_file_1\n') + test_file2 = FieldStorage() + test_file2.name = 'test_file_2' + test_file2.filename = 'test_file_2.txt' + test_file2.type = 'text/plain' + test_file2.file = StringIO('test_file_2\n') + ticket = TM.Ticket(ticket_num=666) + ticket.add_multiple_attachments([test_file1, test_file2]) + ThreadLocalORMSession.flush_all() + attaches = ticket.attachments + self.assertEqual(len(attaches), 2) + assert 'test_file_1.txt' in [attaches[0].filename, attaches[1].filename] + assert 'test_file_2.txt' in [attaches[0].filename, attaches[1].filename] + @mock.patch.object(tracker, 'ThreadLocalORMSession') @mock.patch.object(tracker, 'M') @mock.patch.object(tracker, 'h')