def setUp(self):
     """override one in unittest.TestCase"""
     write_test_profile()
     # load profile
     peer_desc = PeerDescriptor(PROFILE_TEST)
     peer_desc.load(directory=PROFILE_DIR)
     self.document = peer_desc.document
 def test_load_and_save(self):
     peer_desc = PeerDescriptor(PROFILE_TEST)
     peer_desc.load(directory=PROFILE_DIR)
     self.assertEquals(peer_desc.blog.count_blogs(), 1)
     self.assertEquals(peer_desc.document.get_pseudo(), PSEUDO)
     # change
     peer_desc.blog.add_blog(u"second blog", PSEUDO)
     peer_desc.document.set_pseudo(u"yop la hop")
     peer_desc.save(directory=PROFILE_DIR)
     # check
     new_desc = PeerDescriptor(PROFILE_TEST)
     new_desc.load(directory=PROFILE_DIR)
     self.assertEquals(new_desc.blog.count_blogs(), 2)
     self.assertEquals(new_desc.document.get_pseudo(), u"yop la hop")
 def test_match(self):
     peer_desc = PeerDescriptor(PROFILE_TEST)
     peer_desc.load(directory=PROFILE_DIR)
     self.document.match(peer_desc)
     # check results
     self.assertEquals(3, len(self.document.results))
     self.assert_('All' in self.document.results)
     self.assert_('Mr_B' in self.document.results)
     self.assert_('MP3' in self.document.results)
     results = [(result.get_name(), result.match)
                for result in self.document.results['Mr_B'][PROFILE_TEST]]
     results.sort()
     self.assertEquals([('color', 'blue'),
                        ('lastname', 'breton'),
                        ('pseudo', 'atao'),
                        ('title', 'Mr')],
                       results)
예제 #4
0
 def on_add(self, evt):
     dlg = wx.FileDialog(
         self, message="Add profile ...",
         defaultDir=get_prefs("profile_dir"),
         defaultFile="",
         wildcard="Solipsis file (*.prf)|*.prf",
         style=wx.OPEN)
     if dlg.ShowModal() == wx.ID_OK:
         directory, file_name = os.path.split(dlg.GetPath()[:-4])
         peer_desc = PeerDescriptor(file_name, document=FileDocument())
         peer_desc.load(directory=directory)
         blogs = peer_desc.blog
         loader = peer_desc.document
         get_facade().fill_data(peer_desc.node_id, loader)
         get_facade().fill_blog(peer_desc.node_id, blogs)
         get_facade().fill_shared_files(peer_desc.node_id, loader.get_shared_files())
         self.display_profile(peer_desc)
         self.display_blog(peer_desc)
         self.display_files(peer_desc)
class MatchTest(unittest.TestCase):

    def setUp(self):
        write_test_profile()
        # peer
        self.peer_desc = PeerDescriptor(PROFILE_TEST)
        self.peer_desc.load(directory=PROFILE_DIR)
        self.peer_desc.document.share_files(TEST_DIR,
                                            [os.path.join("data", "date.txt"),
                                             os.path.join("data", "subdir1")],
                                            True)
        # filter
        self.document = FilterDocument()
        self.document.load(FILTER_TEST)

    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().activated = True
        match = PeerMatch(self.peer_desc, self.document)
        self.assertEquals(match.lastname.get_match(), u'breton')

    def test_files(self):
        # add filter for dummy.txt
        self.document.add_repository(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']]
        match_files.sort()
        self.assertEquals(match_files, ['TOtO.txt', 'date.doc', 'date.txt', "dummy.txt"])
 def get_peers(self):
     """returns Peers"""
     # lazy initialisation
     if self.peers != {}:
         return ContactsMixin.get_peers(self)
     # full init
     if not self.config.has_section(SECTION_OTHERS):
         self.config.add_section(SECTION_OTHERS)
     options = self.config.options(SECTION_OTHERS)
     for peer_id in options:
         # check unicode
         if isinstance(peer_id, str):
             peer_id = unicode(peer_id, self.encoding)
         # get info
         description = self.config.get(SECTION_OTHERS, peer_id)
         try:
             pseudo, state, timestamp = description.split(',')
             peer_desc =  PeerDescriptor(peer_id,
                                         state=state)
             ContactsMixin.set_peer(self, peer_id, peer_desc)
             peer_desc.load()
             # TODO: use timestamp
         except Exception, error:
             print error, ": peer %s not retreived"% description