Exemple #1
0
 def test_user_like_unlike(self):
     g = NetworkGraph()
     g.like('content', 'fake uuid')
     self.assertTrue(g.is_liking('content', 'fake uuid'))
     self.assertIn('fake uuid', g.get_likes('content'))
     g.unlike('content', 'fake uuid')
     self.assertFalse(g.is_liking('content', 'fake uuid'))
Exemple #2
0
 def test_get_tagged_nouserid(self):
     g = NetworkGraph()
     g.tag('user', 'bernard', 'alex', 'leadership', 'change management')
     g.tag('user', 'caroline', 'alex', 'leadership', 'negotiations')
     g.tag('content', 'doc1', 'alex', 'negotiations')
     tagged = g.get_tagged('user', None, 'leadership')
     self.assertEqual(tagged, {'bernard': ['alex'], 'caroline': ['alex']})
Exemple #3
0
 def test_user_follow_following(self):
     g = NetworkGraph()
     g.follow('user', 'bernard', 'alex')
     g.follow('user', 'caroline', 'alex')
     g.follow('user', 'dick', 'alex')
     self.assertEqual(['bernard', 'caroline', 'dick'],
                      sorted(list(g.get_following('user', 'alex'))))
Exemple #4
0
 def test_user_bookmark_unbookmark_content(self):
     g = NetworkGraph()
     g.bookmark('content', 'fake uuid')
     self.assertTrue(g.is_bookmarking('content', 'fake uuid'))
     self.assertIn('fake uuid', g.get_bookmarks('content'))
     g.unbookmark('content', 'fake uuid')
     self.assertFalse(g.is_bookmarking('content', 'fake uuid'))
Exemple #5
0
 def test_user_is_followed(self):
     g = NetworkGraph()
     g.follow('user', 'bernard', 'alex')
     self.assertTrue(g.is_followed('user', 'bernard', 'alex'))
     self.assertFalse(g.is_followed('user', 'alex', 'bernard'))
     self.assertFalse(g.is_followed('user', 'caroline', 'alex'))
     self.assertFalse(g.is_followed('tag', 'bernard', 'alex'))
Exemple #6
0
 def test_get_bookmarks_by_date(self):
     g = NetworkGraph()
     g.bookmark('content', 'fake_uuid_1')
     g.bookmark('content', 'fake_uuid_2')
     bookmarks = g.get_bookmarks_by_date('content')
     self.assertEquals(bookmarks[0].id, 'fake_uuid_1')
     self.assertTrue(bookmarks[1].datetime >= bookmarks[0].datetime)
Exemple #7
0
 def test_is_tagged(self):
     g = NetworkGraph()
     g.tag('user', 'bernard', 'alex', 'leadership', 'change management')
     self.assertTrue(
         g.is_tagged('user', 'bernard', 'alex', 'change management'))
     self.assertFalse(g.is_tagged('user', 'bernard', 'alex', 'negotiation'))
     self.assertFalse(g.is_tagged('content', 'doc1', 'alex', 'leadership'))
Exemple #8
0
 def test_get_tagged_nomatch(self):
     g = NetworkGraph()
     g.tag('user', 'bernard', 'alex', 'leadership', 'change management')
     g.tag('user', 'caroline', 'alex', 'leadership', 'negotiations')
     g.tag('content', 'doc1', 'alex', 'negotiations')
     tagged = sorted(list(g.get_tagged('user', 'bernard', 'leadership')))
     self.assertEqual(tagged, [])
Exemple #9
0
 def test_get_tags(self):
     g = NetworkGraph()
     g.tag('user', 'bernard', 'alex', 'leadership', 'change management')
     g.tag('content', 'doc1', 'caroline', 'leadership', 'negotiations')
     g.tag('content', 'doc1', 'alex', 'negotiations')
     tags = g.unpack(g.get_tags('content', 'doc1', 'caroline'))
     self.assertEqual(tags, ['leadership', 'negotiations'])
Exemple #10
0
 def test_user_follow_unfollow_followers(self):
     g = NetworkGraph()
     g.follow('user', 'bernard', 'alex')
     g.follow('user', 'bernard', 'caroline')
     g.unfollow('user', 'bernard', 'alex')
     self.assertEqual(['caroline'],
                      sorted(list(g.get_followers('user', 'bernard'))))
Exemple #11
0
 def test_unpack_treeset(self):
     struct = OOBTree.OOTreeSet()
     struct.insert('foo')
     struct.insert('bar')
     g = NetworkGraph()
     flat = g.unpack(struct)
     self.assertEqual(flat, ['bar', 'foo'])
Exemple #12
0
 def test_unpack_btree_treeset(self):
     struct = OOBTree.OOBTree()
     struct['foo'] = OOBTree.OOTreeSet()
     struct['foo'].insert('baz')
     struct['foo'].insert('bar')
     g = NetworkGraph()
     flat = g.unpack(struct)
     self.assertEqual(flat, {'foo': ['bar', 'baz']})
Exemple #13
0
 def test_user_follow_unfollow(self):
     g = NetworkGraph()
     g.follow('user', u'bernard ☀')
     self.assertTrue(g.is_following('user', u'bernard ☀'))
     self.assertIn(u'bernard ☀', g.get_following('user'))
     g.unfollow('user', u'bernard ☀')
     self.assertFalse(g.is_following('user', u'bernard ☀'))
     self.assertNotIn(u'bernard ☀', g.get_following('user'))
Exemple #14
0
 def test_utf8_args(self):
     """BTree keys MUST be of type unicode. Check that the implementation
     enforces this."""
     g = NetworkGraph()
     self.assertRaises(AttributeError, g.follow, 'user', 1, '2')
     self.assertRaises(AttributeError, g.follow, 'user', '1', 2)
     self.assertRaises(AttributeError, g.unfollow, 'user', 1, '2')
     self.assertRaises(AttributeError, g.unfollow, 'user', '1', 2)
     self.assertRaises(AttributeError, g.get_following, 'user', 2)
     self.assertRaises(AttributeError, g.get_followers, 'user', 2)
Exemple #15
0
 def test_utf8_args(self):
     """BTree keys MUST be of type unicode. Check that the implementation
     enforces this."""
     g = NetworkGraph()
     self.assertRaises(AttributeError, g.tag, 'user', 1, '2', '3')
     self.assertRaises(AttributeError, g.tag, 'user', '1', 2, '3')
     self.assertRaises(AttributeError, g.tag, 'user', '1', '2', 3)
     self.assertRaises(AttributeError, g.untag, 'user', 1, '2', '3')
     self.assertRaises(AttributeError, g.untag, 'user', '1', 2, '3')
     self.assertRaises(AttributeError, g.untag, 'user', '1', '2', 3)
Exemple #16
0
 def test_utf8_args(self):
     """BTree keys MUST be of type unicode. Check that the implementation
     enforces this."""
     g = NetworkGraph()
     self.assertRaises(AttributeError, g.like, 'content', 1, '2')
     self.assertRaises(AttributeError, g.like, 'content', '1', 2)
     self.assertRaises(AttributeError, g.unlike, 'content', 1, '2')
     self.assertRaises(AttributeError, g.unlike, 'content', '1', 2)
     self.assertRaises(AttributeError, g.get_likes, 'content', 1)
     self.assertRaises(AttributeError, g.get_likers, 'content', 1)
     self.assertRaises(AttributeError, g.is_liked, 'content', 1, 2)
Exemple #17
0
 def test_get_taggers_notag(self):
     g = NetworkGraph()
     g.tag('user', 'bernard', 'alex', 'leadership', 'change management')
     g.tag('user', 'caroline', 'alex', 'leadership', 'negotiations')
     g.tag('content', 'doc1', 'alex', 'negotiations')
     # an extra tag here
     g.tag('user', 'bernard', 'caroline', 'negotiations')
     taggers = g.unpack(g.get_taggers('user', 'bernard'))
     self.assertEqual(
         taggers, {
             'change management': ['alex'],
             'leadership': ['alex'],
             'negotiations': ['caroline']
         })
Exemple #18
0
 def test_utf8_args(self):
     """BTree keys MUST be of type unicode. Check that the implementation
     enforces this."""
     g = NetworkGraph()
     with self.assertRaises(AttributeError):
         g.bookmark('content', 1, '2')
     with self.assertRaises(AttributeError):
         g.bookmark('content', '1', 2)
     with self.assertRaises(AttributeError):
         g.unbookmark('content', 1, '2')
     with self.assertRaises(AttributeError):
         g.unbookmark('content', '1', 2)
     with self.assertRaises(AttributeError):
         g.get_bookmarks('content', 1)
     with self.assertRaises(AttributeError):
         g.get_bookmarkers('content', 1)
     with self.assertRaises(AttributeError):
         g.is_bookmarked('content', 1, 2)
Exemple #19
0
 def test_get_tagged_only_user_id(self):
     g = NetworkGraph()
     g.tag('user', 'bernard', 'alex', 'leadership', 'change management')
     g.tag('user', 'caroline', 'alex', 'leadership', 'negotiations')
     g.tag('content', 'doc1', 'alex', 'negotiations')
     tagged = g.get_tagged(None, 'alex', None)
     self.assertEqual(
         tagged, {
             'change management': {
                 'content': [],
                 'user': ['bernard']
             },
             'leadership': {
                 'content': [],
                 'user': ['bernard', 'caroline']
             },
             'negotiations': {
                 'content': ['doc1'],
                 'user': ['caroline']
             }
         })
    def test_to_0003(self):
        ''' Check that the network graph is fixed by this upgrade
        '''
        # Remove from ng tool the attributes added in version 0003
        ng = NetworkGraph()
        delattr(ng, '_bookmarks')
        delattr(ng, '_bookmarked')

        # the storages for bookmarks are no longer there
        # as it was up to version 0002
        with self.assertRaises(AttributeError):
            ng._bookmarks
            ng._bookmarked

        with patch('plone.api.portal.get_tool', return_value=ng):
            upgrade_to_0003(None)

        # the storages for bookmarks are back again
        for item_type in ng.supported_bookmark_types:
            self.assertTupleEqual(tuple(ng._bookmarks[item_type].keys()), ())
            self.assertTupleEqual(tuple(ng._bookmarked[item_type].keys()), ())
Exemple #21
0
 def setUp(self):
     self.userid = 'testperson'
     self.object_uuid = '827e65bd826a89790eba679e0c9ff864'
     self.container = NetworkGraph()
Exemple #22
0
 def setUp(self):
     self.userid = '*****@*****.**'
     self.object_uuid = '827e65bd826a89790eba679e0c9ff864'
     self.statusid = str(long(time.time() * 1e6))
     self.container = NetworkGraph()
Exemple #23
0
 def setUp(self):
     # self.portal = self.layer['portal']
     self.userid = '*****@*****.**'
     self.statusid = str(long(time.time() * 1e6))
     self.container = NetworkGraph()
Exemple #24
0
 def test_bookmark_sets_timestamp(self):
     g = NetworkGraph()
     g.bookmark('content', 'fake_uuid')
     self.assertTrue(isinstance(g.bookmarked_on('fake_uuid'), datetime))
Exemple #25
0
 def test_tag_follow_unfollow_following(self):
     g = NetworkGraph()
     g.follow('tag', 'foo', 'alex')
     g.follow('tag', 'bar', 'alex')
     g.unfollow('tag', 'foo', 'alex')
     self.assertEqual(['bar'], list(g.get_following('tag', 'alex')))
Exemple #26
0
 def test_content_follow_unfollow_following(self):
     g = NetworkGraph()
     g.follow('content', 'doc1', 'alex')
     g.follow('content', 'doc2', 'alex')
     g.unfollow('content', 'doc1', 'alex')
     self.assertEqual(['doc2'], list(g.get_following('content', 'alex')))
Exemple #27
0
 def test_unbookmark_removes_timestamp(self):
     g = NetworkGraph()
     g.bookmark('content', 'fake_uuid')
     g.unbookmark('content', 'fake_uuid')
     with self.assertRaises(KeyError):
         g.bookmarked_on('fake_uuid')
Exemple #28
0
 def test_user_follow_utf8(self):
     g = NetworkGraph()
     g.follow('user', 'bernard ☀', 'alex ☃')  # alex follows bernard
     self.assertEqual([u'bernard ☀'],
                      list(g.get_following('user', u'alex ☃')))
Exemple #29
0
 def setUp(self):
     # self.portal = self.layer['portal']
     self.userid = '*****@*****.**'
     self.object_uuid = '827e65bd826a89790eba679e0c9ff864'
     self.container = NetworkGraph()
Exemple #30
0
 def test_user_follow(self):
     g = NetworkGraph()
     g.follow('user', 'bernard', 'alex')  # alex follows bernard
     self.assertEqual(['bernard'], list(g.get_following('user', 'alex')))