From: Fredrik Wendt Date: Tue, 8 Jun 2010 21:39:01 +0000 (+0100) Subject: Gravatar.process_contact now returns a Friend or None X-Git-Tag: 0.8.0~39 X-Git-Url: https://vcs.maemo.org/git/?a=commitdiff_plain;h=cdbaa83bb7994378d64e99dcd410e1e5fd0e03fa;p=hermes Gravatar.process_contact now returns a Friend or None Signed-off-by: Fredrik Wendt --- diff --git a/package/src/org/maemo/hermes/engine/gravatar/service.py b/package/src/org/maemo/hermes/engine/gravatar/service.py index 364d679..24132cb 100644 --- a/package/src/org/maemo/hermes/engine/gravatar/service.py +++ b/package/src/org/maemo/hermes/engine/gravatar/service.py @@ -55,6 +55,9 @@ class Service(org.maemo.hermes.engine.service.Service): friend = self._create_friend(contact.get_name()) friend.set_photo_url(self._get_url_for_email_hash(hash)) self._register_match(contact, friend) + return friend + + return None # ----------------------------------------------------------------------- diff --git a/package/test/unit/test_gravatar.py b/package/test/unit/test_gravatar.py index f2e5141..3de6b32 100644 --- a/package/test/unit/test_gravatar.py +++ b/package/test/unit/test_gravatar.py @@ -9,12 +9,35 @@ class FakeContact(): return self.urls def get_name(self): return self.urls[0] + +known_address = "maemohermes@wendt.se" class TestGravatarService(unittest.TestCase): def setUp(self): self._setUp('', '') + + def test_that_process_contact_returns_friend_object_if_contact_is_known(self): + contact = FakeContact([known_address]) + self._fake_server_response({known_address: 'http://image.exists.here/'}) + + self.testee.pre_process_contact(contact); + self.testee.process_friends() + friend = self.testee.process_contact(contact) + assert isinstance(friend, Friend) + + + def test_that_process_contact_returns_None_for_unknown_contact(self): + contact = FakeContact([known_address]) + self._fake_server_response({}) + + self.testee.pre_process_contact(contact); + self.testee.process_friends() + friend = self.testee.process_contact(contact) + assert friend is None + + def test_that_a_person_with_two_addresses_and_one_gravatar_works(self): self._fake_server_response({self.missing_address: None, self.existing_address: "http://url.to.img/"})