Beispiel #1
0
 def test_returns_empty_list_if_regex_has_no_email_submatches(self):
     abook = external.ExternalAddressbook(
         'foobar', self.regex.replace('email', 'xemail'))
     with self._patch_call_cmd(
         ('me\t<*****@*****.**>\nyou\t<*****@*****.**>', '', 0)):
         actual = abook.get_contacts()
     self.assertListEqual(actual, [])
Beispiel #2
0
 def test_splits_results_from_provider_by_regex(self):
     abook = external.ExternalAddressbook('foobar', self.regex)
     with self._patch_call_cmd(
         ('me\t<*****@*****.**>\nyou\t<*****@*****.**>', '', 0)):
         actual = abook.get_contacts()
     expected = [('me', '<*****@*****.**>'), ('you', '<*****@*****.**>')]
     self.assertListEqual(actual, expected)
Beispiel #3
0
 def test_raises_if_external_command_exits_with_non_zero_status(self):
     abook = external.ExternalAddressbook('foobar', '')
     with self._patch_call_cmd(('', '', 42)):
         with self.assertRaises(external.AddressbookError) as contextmgr:
             abook.get_contacts()
     expected = u'abook command "foobar" returned with return code 42'
     self.assertEqual(contextmgr.exception.args[0], expected)
Beispiel #4
0
 def test_stderr_of_failing_command_is_part_of_exception_message(self):
     stderr = 'some text printed on stderr of external command'
     abook = external.ExternalAddressbook('foobar', '')
     with self._patch_call_cmd(('', stderr, 42)):
         with self.assertRaises(external.AddressbookError) as contextmgr:
             abook.get_contacts()
     self.assertIn(stderr, contextmgr.exception.args[0])
Beispiel #5
0
 def test_returns_empty_list_when_command_returns_no_output(self):
     abook = external.ExternalAddressbook('foobar', self.regex)
     with self._patch_call_cmd(('', '', 0)) as call_cmd:
         actual = abook.get_contacts()
     self.assertListEqual(actual, [])
     call_cmd.assert_called_once_with(['foobar'])
Beispiel #6
0
 def test_default_ignorecase(self):
     abook = external.ExternalAddressbook('foobar', '')
     self.assertIs(abook.reflags, re.IGNORECASE)