class MatchTest(unittest.TestCase): def setUp(self): # peer peer_document = FileDocument(PROFILE_TEST, PROFILE_DIRECTORY) peer_document.load() self.peer_desc = PeerDescriptor(PROFILE_TEST, document=peer_document) self.peer_desc.set_shared_files() # filter self.document = FilterDocument(PROFILE_TEST, PROFILE_DIRECTORY) self.document.load() def test_creation(self): match = PeerMatch(self.peer_desc, self.document) self.assertEquals(match.title.get_match(), "Mr") self.assertEquals(match.firstname, False) self.assertEquals(match.lastname.get_match(), "breton") self.assertEquals(match.photo, False) self.assertEquals(match.email, False) self.assertEquals(match.customs['color'].get_match(), u'blue') self.assertEquals(match.files, {}) def test_activated(self): # activate self.document.get_email().activate() match = PeerMatch(self.peer_desc, self.document) self.assertEquals(match.email.get_match(), u'*****@*****.**') def test_files(self): # add filter for dummy.txt self.document.add_file((u'Any', FilterValue(value=u'.*\..*', activate=True))) match = PeerMatch(self.peer_desc, self.document) match_files = [file_container.match for file_container in match.files[u'Any']] self.assertEquals(match_files, ['TOtO.txt', 'dummy.txt'])
peer_desc = PeerDescriptor(blog.pseudo, blog=blog) self.set_peer((peer_id, peer_desc)) else: peer_desc = self.get_peer(peer_id) peer_desc.set_blog(blog) self.last_downloaded_desc = peer_desc return peer_desc def fill_shared_files(self, (peer_id, files)): """connect shared files with shared files""" if not isinstance(files, SharedFiles): raise TypeError("data expected as SharedFiles") assert self.has_peer(peer_id), "no profile for %s in %s"\ % (peer_id, self.__class__) peer_desc = self.get_peer(peer_id) peer_desc.set_shared_files(files) self.last_downloaded_desc = peer_desc return peer_desc class SaverMixin: """Take in charge saving & loading of document. Leave funciton import_document to be redefined.""" def __init__(self, pseudo, directory): # point out file where document is saved self.pseudo = pseudo self._dir = directory def __repr__(self): return self.pseudo