summaryrefslogtreecommitdiffstats
path: root/tests/unit
diff options
context:
space:
mode:
authorBhuvan Arumugam <bhuvan@apache.org>2012-05-06 15:13:44 -0700
committerBhuvan Arumugam <bhuvan@apache.org>2012-05-12 07:16:59 -0700
commit2e1371a13205cd494dc4b9ade79ae20b607256b1 (patch)
treea39e42a325d602d3b30d59a26dbd8d7cc58afafc /tests/unit
parentb74081884696f943a23aa8b31b4275e7819a1c21 (diff)
Tests to cover various mailmap formats.
Bug: 994957 Mailmap might include entries in different format: Full Name <email@foo.com> Full Name <email@bar.com> Firstname <email@foo.com> Firstname <email@bar.com> <email@foo.com> <email@bar.com> This commit adds a test case to parse these entries. * tests/unit/test_setup.py Remove unused imports. Import os and setup methods to verify. SetupTest: Define unique test case name. setUp(): New method to define temporary mailmap file. tearDown(): New method to remove the temporary mailmap file. test_mailmap_with_fullname(): New method to test mailmap entry with fullname. test_mailmap_with_firstname(): New method to test mailmap entry with first name only. test_mailmap_with_noname(): New method to test mailmap entry with just email addresses. Change-Id: Icc018d4b2692ce7a7de757f02d1dd49241c30a6c
Diffstat (limited to 'tests/unit')
-rw-r--r--tests/unit/test_setup.py36
1 files changed, 30 insertions, 6 deletions
diff --git a/tests/unit/test_setup.py b/tests/unit/test_setup.py
index 6a65b2d..fbfaebd 100644
--- a/tests/unit/test_setup.py
+++ b/tests/unit/test_setup.py
@@ -15,19 +15,43 @@
# License for the specific language governing permissions and limitations
# under the License.
+import os
import unittest
+from tempfile import mkstemp
-import mock
+from openstack.common.setup import canonicalize_emails
+from openstack.common.setup import parse_mailmap
-from openstack.common import exception
-from openstack.common import utils
-from openstack.common import setup
+class SetupTest(unittest.TestCase):
-class UtilsTest(unittest.TestCase):
+ def setUp(self):
+ (fd, self.mailmap) = mkstemp(prefix='openstack', suffix='.mailmap')
def test_str_dict_replace(self):
string = 'Johnnie T. Hozer'
mapping = {'T.': 'The'}
self.assertEqual('Johnnie The Hozer',
- setup.canonicalize_emails(string, mapping))
+ canonicalize_emails(string, mapping))
+
+ def test_mailmap_with_fullname(self):
+ with open(self.mailmap, 'w') as mm_fh:
+ mm_fh.write("Foo Bar <email@foo.com> Foo Bar <email@bar.com>\n")
+ self.assertEqual({'<email@bar.com>': '<email@foo.com>'},
+ parse_mailmap(self.mailmap))
+
+ def test_mailmap_with_firstname(self):
+ with open(self.mailmap, 'w') as mm_fh:
+ mm_fh.write("Foo <email@foo.com> Foo <email@bar.com>\n")
+ self.assertEqual({'<email@bar.com>': '<email@foo.com>'},
+ parse_mailmap(self.mailmap))
+
+ def test_mailmap_with_noname(self):
+ with open(self.mailmap, 'w') as mm_fh:
+ mm_fh.write("<email@foo.com> <email@bar.com>\n")
+ self.assertEqual({'<email@bar.com>': '<email@foo.com>'},
+ parse_mailmap(self.mailmap))
+
+ def tearDown(self):
+ if os.path.exists(self.mailmap):
+ os.remove(self.mailmap)