diff options
| author | Bhuvan Arumugam <bhuvan@apache.org> | 2012-05-06 15:13:44 -0700 |
|---|---|---|
| committer | Bhuvan Arumugam <bhuvan@apache.org> | 2012-05-12 07:16:59 -0700 |
| commit | 2e1371a13205cd494dc4b9ade79ae20b607256b1 (patch) | |
| tree | a39e42a325d602d3b30d59a26dbd8d7cc58afafc /tests/unit | |
| parent | b74081884696f943a23aa8b31b4275e7819a1c21 (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.py | 36 |
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) |
