X-Git-Url: http://git.maemo.org/git/?p=hermes;a=blobdiff_plain;f=package%2Ftest%2Funit%2Ftest_facebook.py;h=c1725b9260dc84710acc05ab025013da32b98f78;hp=b0e5f952e5d635557154252ea529b606111b4301;hb=293fed8536f96ccb60ad62d8bd5079479856ddec;hpb=4aa0f763c4680a88fc31a16cfdbc51cfb96723f7 diff --git a/package/test/unit/test_facebook.py b/package/test/unit/test_facebook.py index b0e5f95..c1725b9 100644 --- a/package/test/unit/test_facebook.py +++ b/package/test/unit/test_facebook.py @@ -4,7 +4,6 @@ from org.maemo.hermes.engine.friend import Friend import unittest - class FakeContact(): id_counter = 0 def __init__(self, name, addr, id=None): @@ -19,13 +18,14 @@ class FakeContact(): def get_identifiers(self): return [canonical(self.name)] + class TestFacebookService(unittest.TestCase): def setUp(self): self.testee = Service("facebook", None) - def test_that_process_known_contact_returns_friend_object(self): + def test_that_process_contact_returns_friend_object_for_known_contact(self): known_url = 'http://www.facebook.com/profile.php?id=123456' known_contact = FakeContact('Facebook Junkie', [known_url]) self._fake_server_response([{'uid':'123456','name':'Facebook Junkie'}]) @@ -35,6 +35,15 @@ class TestFacebookService(unittest.TestCase): assert isinstance(result, Friend) + def test_that_process_contact_returns_None_for_unknown_contact(self): + known_contact = FakeContact('Facebook Junkie', []) + self._fake_server_response([]) + + self.testee.process_friends() + result = self.testee.process_contact(known_contact) + assert result is None + + def test_main_flow_one_match_by_url_one_by_name(self): # arrange self.existing_address = 'http://www.facebook.com/profile.php?id=123456' @@ -66,10 +75,11 @@ class TestFacebookService(unittest.TestCase): def test_name_collision_avoided_by_previous_matching(self): - contact_do_match = FakeContact("Same Name", ["http://www.facebook.com/profile.php?id=123"], 1); - contact_no_match = FakeContact("Same Name", [None], 2) + name = "Same Name" + contact_do_match = FakeContact(name, ["http://www.facebook.com/profile.php?id=123"], 1); + contact_no_match = FakeContact(name, [None], 2) - data = [{'uid':'123','name':'Same Name'}] + data = [{'uid':'123','name':name}] self._fake_server_response(data) self._run_service([contact_no_match, contact_do_match]) @@ -81,10 +91,11 @@ class TestFacebookService(unittest.TestCase): def test_name_collision_avoided_only_one_person_matched(self): - contact_do_match = FakeContact("Same Name", ["http://twitter.com/same_name"]); - contact_no_match = FakeContact("Same Name", [None]) + name = "Same Name" + contact_do_match = FakeContact(name, ["Contact 1"]); + contact_no_match = FakeContact(name, ["Contact 2"]) - data = [{'uid':'123','name':'Same Name'}] + data = [{'uid':'123','name':name}] self._fake_server_response(data) self._run_service([contact_no_match, contact_do_match])