You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@allura.apache.org by jo...@apache.org on 2013/08/09 18:33:50 UTC
[6/6] git commit: [#6464] Added tests for GC tracker attachments and
comments
[#6464] Added tests for GC tracker attachments and comments
Signed-off-by: Cory Johns <cj...@slashdotmedia.com>
Project: http://git-wip-us.apache.org/repos/asf/incubator-allura/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-allura/commit/ff155b60
Tree: http://git-wip-us.apache.org/repos/asf/incubator-allura/tree/ff155b60
Diff: http://git-wip-us.apache.org/repos/asf/incubator-allura/diff/ff155b60
Branch: refs/heads/cj/6464
Commit: ff155b60f3f8b93989d3ef0d5a5bf38be6d0dfff
Parents: eadde65
Author: Cory Johns <cj...@slashdotmedia.com>
Authored: Fri Aug 9 16:25:01 2013 +0000
Committer: Cory Johns <cj...@slashdotmedia.com>
Committed: Fri Aug 9 16:33:13 2013 +0000
----------------------------------------------------------------------
.../forgeimporters/google/__init__.py | 2 +-
.../tests/data/google/test-issue.html | 38 +++++++++++++
.../tests/google/test_extractor.py | 59 ++++++++++++++++++++
.../forgeimporters/tests/google/test_tracker.py | 4 +-
4 files changed, 100 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/ff155b60/ForgeImporters/forgeimporters/google/__init__.py
----------------------------------------------------------------------
diff --git a/ForgeImporters/forgeimporters/google/__init__.py b/ForgeImporters/forgeimporters/google/__init__.py
index f39fcb1..a69f757 100644
--- a/ForgeImporters/forgeimporters/google/__init__.py
+++ b/ForgeImporters/forgeimporters/google/__init__.py
@@ -197,7 +197,7 @@ class Comment(object):
def __init__(self, tag):
self.author = UserLink(tag.find('span', 'author').find('a', 'userlink'))
self.created_date = tag.find('span', 'date').get('title')
- self.body = _as_text(tag.find('pre'))
+ self.body = _as_text(tag.find('pre')).strip()
self._get_updates(tag)
self._get_attachments(tag)
http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/ff155b60/ForgeImporters/forgeimporters/tests/data/google/test-issue.html
----------------------------------------------------------------------
diff --git a/ForgeImporters/forgeimporters/tests/data/google/test-issue.html b/ForgeImporters/forgeimporters/tests/data/google/test-issue.html
index 04667ac..dbef54e 100644
--- a/ForgeImporters/forgeimporters/tests/data/google/test-issue.html
+++ b/ForgeImporters/forgeimporters/tests/data/google/test-issue.html
@@ -282,6 +282,44 @@ That's all
</pre>
+<div class="attachments">
+<table cellspacing="3" cellpadding="2" border="0">
+<tr><td width="20">
+<a href="//allura-google-importer.googlecode.com/issues/attachment?aid=70000000&name=at1.txt&token=3REU1M3JUUMt0rJUg7ldcELt6LA%3A1376059941255">
+<img width="15" height="15" src="http://www.gstatic.com/codesite/ph/images/paperclip.gif" border="0" />
+</a>
+</td>
+<td style="min-width:16em" valign="top">
+<b>at1.txt</b>
+<br />
+ 13 bytes
+
+
+ <a href="../../allura-google-importer/issues/attachmentText?id=7&aid=70000000&name=at1.txt&token=3REU1M3JUUMt0rJUg7ldcELt6LA%3A1376059941255" target="_blank">View</a>
+
+ <a href="//allura-google-importer.googlecode.com/issues/attachment?aid=70000000&name=at1.txt&token=3REU1M3JUUMt0rJUg7ldcELt6LA%3A1376059941255">Download</a>
+</td>
+</tr>
+</table>
+<table cellspacing="3" cellpadding="2" border="0">
+<tr><td width="20">
+<a href="//allura-google-importer.googlecode.com/issues/attachment?aid=70000001&name=at2.txt&token=C9Hn4s1-g38hlSggRGo65VZM1ys%3A1376059941255">
+<img width="15" height="15" src="http://www.gstatic.com/codesite/ph/images/paperclip.gif" border="0" />
+</a>
+</td>
+<td style="min-width:16em" valign="top">
+<b>at2.txt</b>
+<br />
+ 13 bytes
+
+
+ <a href="../../allura-google-importer/issues/attachmentText?id=7&aid=70000001&name=at2.txt&token=C9Hn4s1-g38hlSggRGo65VZM1ys%3A1376059941255" target="_blank">View</a>
+
+ <a href="//allura-google-importer.googlecode.com/issues/attachment?aid=70000001&name=at2.txt&token=C9Hn4s1-g38hlSggRGo65VZM1ys%3A1376059941255">Download</a>
+</td>
+</tr>
+</table>
+</div>
</div>
<div class="cursor_off vt issuecomment" id="hc1">
<div style="float:right; margin-right:.3em; text-align:right">
http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/ff155b60/ForgeImporters/forgeimporters/tests/google/test_extractor.py
----------------------------------------------------------------------
diff --git a/ForgeImporters/forgeimporters/tests/google/test_extractor.py b/ForgeImporters/forgeimporters/tests/google/test_extractor.py
index 9d176f6..d433fd2 100644
--- a/ForgeImporters/forgeimporters/tests/google/test_extractor.py
+++ b/ForgeImporters/forgeimporters/tests/google/test_extractor.py
@@ -175,3 +175,62 @@ class TestGoogleCodeProjectExtractor(TestCase):
'OpSys-Windows',
'OpSys-OSX',
])
+
+ def test_get_issue_attachments(self):
+ test_issue = open(pkg_resources.resource_filename('forgeimporters', 'tests/data/google/test-issue.html')).read()
+ gpe = self._make_extractor(test_issue)
+ attachments = gpe.get_issue_attachments()
+ self.assertEqual(len(attachments), 2)
+ self.assertEqual(attachments[0].filename, 'at1.txt')
+ self.assertEqual(attachments[0].url, 'http://allura-google-importer.googlecode.com/issues/attachment?aid=70000000&name=at1.txt&token=3REU1M3JUUMt0rJUg7ldcELt6LA%3A1376059941255')
+ self.assertIsNone(attachments[0].type)
+ self.assertEqual(attachments[1].filename, 'at2.txt')
+ self.assertEqual(attachments[1].url, 'http://allura-google-importer.googlecode.com/issues/attachment?aid=70000001&name=at2.txt&token=C9Hn4s1-g38hlSggRGo65VZM1ys%3A1376059941255')
+ self.assertIsNone(attachments[1].type)
+
+ def test_iter_comments(self):
+ test_issue = open(pkg_resources.resource_filename('forgeimporters', 'tests/data/google/test-issue.html')).read()
+ gpe = self._make_extractor(test_issue)
+ comments = list(gpe.iter_comments())
+ self.assertEqual(len(comments), 4)
+ expected = [
+ {
+ 'author.name': 'john...@gmail.com',
+ 'author.link': 'http://code.google.com/u/101557263855536553789/',
+ 'created_date': 'Thu Aug 8 15:35:15 2013',
+ 'body': 'Test *comment* is a comment',
+ 'updates': {'Status:': 'Started', 'Labels:': '-OpSys-Linux OpSys-Windows'},
+ 'attachments': ['at2.txt'],
+ },
+ {
+ 'author.name': 'john...@gmail.com',
+ 'author.link': 'http://code.google.com/u/101557263855536553789/',
+ 'created_date': 'Thu Aug 8 15:35:34 2013',
+ 'body': 'Another comment',
+ 'updates': {},
+ 'attachments': [],
+ },
+ {
+ 'author.name': 'john...@gmail.com',
+ 'author.link': 'http://code.google.com/u/101557263855536553789/',
+ 'created_date': 'Thu Aug 8 15:36:39 2013',
+ 'body': 'Last comment',
+ 'updates': {},
+ 'attachments': ['at4.txt', 'at1.txt'],
+ },
+ {
+ 'author.name': 'john...@gmail.com',
+ 'author.link': 'http://code.google.com/u/101557263855536553789/',
+ 'created_date': 'Thu Aug 8 15:36:57 2013',
+ 'body': 'Oh, I forgot one',
+ 'updates': {'Labels:': 'OpSys-OSX'},
+ 'attachments': [],
+ },
+ ]
+ for actual, expected in zip(comments, expected):
+ self.assertEqual(actual.author.name, expected['author.name'])
+ self.assertEqual(actual.author.link, expected['author.link'])
+ self.assertEqual(actual.created_date, expected['created_date'])
+ self.assertEqual(actual.body, expected['body'])
+ self.assertEqual(actual.updates, expected['updates'])
+ self.assertEqual([a.filename for a in actual.attachments], expected['attachments'])
http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/ff155b60/ForgeImporters/forgeimporters/tests/google/test_tracker.py
----------------------------------------------------------------------
diff --git a/ForgeImporters/forgeimporters/tests/google/test_tracker.py b/ForgeImporters/forgeimporters/tests/google/test_tracker.py
index 62493bd..a1f0a28 100644
--- a/ForgeImporters/forgeimporters/tests/google/test_tracker.py
+++ b/ForgeImporters/forgeimporters/tests/google/test_tracker.py
@@ -116,7 +116,7 @@ class TestTrackerImporter(TestCase):
return u
issue = mock.Mock(
get_issue_summary=lambda:'summary',
- get_issue_description=lambda:'description',
+ get_issue_description=lambda:'my *description* fool',
get_issue_status=lambda:'status',
get_issue_created_date=lambda:'created_date',
get_issue_mod_date=lambda:'mod_date',
@@ -128,7 +128,7 @@ class TestTrackerImporter(TestCase):
dt.strptime.side_effect = lambda s,f: s
importer.process_fields(ticket, issue)
self.assertEqual(ticket.summary, 'summary')
- self.assertEqual(ticket.description, '*Originally created by:* [cname](clink)\n*Originally owned by:* [oname](olink)\n\ndescription')
+ self.assertEqual(ticket.description, '*Originally created by:* [cname](clink)\n*Originally owned by:* [oname](olink)\n\nmy \*description\* fool')
self.assertEqual(ticket.status, 'status')
self.assertEqual(ticket.created_date, 'created_date')
self.assertEqual(ticket.mod_date, 'mod_date')