Ejemplo n.º 1
0
 def test_add_to_deleted_not_shared(self):
     """Cannot delete items that aren't shared."""
     item = SharedItem()
     entry = {'feed_link': 'atom-deleted.xml'}
     item.assign_feeds(**entry)
     self.assertEqual(len(item.feed_type), 0)
     self.assertTrue('deleted' not in item.feed_type)
Ejemplo n.º 2
0
 def test_add_to_selected_not_shared(self):
     """A shared item shouldn't be selected if not shared"""
     item = SharedItem()
     entry = {'feed_link': 'atom-selected.xml'}
     item.assign_feeds(**entry)
     self.assertEqual(len(item.feed_type), 0)
     self.assertTrue('selected' not in item.feed_type)
Ejemplo n.º 3
0
 def test_removal_multiple(self):
     """When multiple items are present in the feed, they will be
     deleted.
     """
     # Item 1
     obj_foo = SharedItem()
     self.root.shared['foo_uid'] = obj_foo
     # Item 2
     obj_bar = SharedItem()
     self.root.shared['bar_uid'] = obj_bar
     # Create the entries
     feed_items = []
     feed_items.append(XML_ENTRY % ('foo', 'foo_uid'))
     feed_items.append(XML_ENTRY % ('bar', 'bar_uid'))
     feed = XML_WRAPPER % "".join(feed_items)
     # Set up the request
     request = testing.DummyRequest(body=feed,
                                    content_type='application/atom+xml')
     patcher = patch('mysolr.Solr', FakeSolr)
     patcher.start()
     response = delete_items(self.root, request)
     patcher.stop()
     self.assertEquals(response.body, 'Removed 2 items.')
     self.assertEquals(response.code, 200)
     self.failIf(self.root.shared.get('foo_uid', False))
     self.failIf(self.root.shared.get('bar_uid', False))
Ejemplo n.º 4
0
 def test_add_to_deleted_not_shared(self):
     """Cannot delete items that aren't shared."""
     item = SharedItem()
     entry = {'feed_link': 'atom-deleted.xml'}
     item.assign_feeds(**entry)
     self.assertEqual(len(item.feed_type), 0)
     self.assertTrue('deleted' not in item.feed_type)
Ejemplo n.º 5
0
 def test_add_to_selected_not_shared(self):
     """A shared item shouldn't be selected if not shared"""
     item = SharedItem()
     entry = {'feed_link': 'atom-selected.xml'}
     item.assign_feeds(**entry)
     self.assertEqual(len(item.feed_type), 0)
     self.assertTrue('selected' not in item.feed_type)
Ejemplo n.º 6
0
 def test_deleted_item_reshared(self):
     item = SharedItem()
     item.feed_type = ['shared', 'deleted']
     entry = {'feed_link': 'shared-content.xml'}
     item.assign_feeds(**entry)
     self.assertEqual(len(item.feed_type), 1)
     self.assertTrue('shared' in item.feed_type)
Ejemplo n.º 7
0
 def  test_deleted_item_reshared(self):
     item = SharedItem()
     item.feed_type = ['shared', 'deleted']
     entry = {'feed_link': 'shared-content.xml'}
     item.assign_feeds(**entry)
     self.assertEqual(len(item.feed_type), 1)
     self.assertTrue('shared' in item.feed_type)
Ejemplo n.º 8
0
 def test_update_items_calling_assignment(self):
     item = SharedItem()
     item.assign_feeds = Mock()
     entry = {'title': 'Test', 'feed_link': 'shared-content.xml'}
     item.update_from_entry(entry)
     self.assertTrue(item.assign_feeds.called)
     item.assign_feeds.assert_called_with(feed_link='shared-content.xml',
                                          title='Test')
Ejemplo n.º 9
0
 def test_unused_keyword_args(self):
     item = SharedItem()
     entry = {
         'feed_link': 'shared-content.xml',
         'updated': None,
         'foo': 'bar'
     }
     item.assign_feeds(**entry)
     self.assertEqual(len(item.feed_type), 1)
Ejemplo n.º 10
0
 def test_unused_keyword_args(self):
     item = SharedItem()
     entry = {
         'feed_link': 'shared-content.xml',
         'updated': None,
         'foo': 'bar'
     }
     item.assign_feeds(**entry)
     self.assertEqual(len(item.feed_type), 1)
Ejemplo n.º 11
0
 def test_delete_sharing_on_selected_item(self):
     item = SharedItem()
     item.feed_type = ['shared', 'selected']
     entry = {
         'feed_link': 'atom-deleted.xml',
         'push_deletion_type': 'featured',
     }
     item.assign_feeds(**entry)
     self.assertEqual(len(item.feed_type), 1)
     self.assertTrue('deleted' in item.feed_type)
Ejemplo n.º 12
0
 def test_delete_sharing_on_selected_item(self):
     item = SharedItem()
     item.feed_type = ['shared', 'selected']
     entry = {
         'feed_link': 'atom-deleted.xml',
         'push_deletion_type': 'featured',
     }
     item.assign_feeds(**entry)
     self.assertEqual(len(item.feed_type), 1)
     self.assertTrue('deleted' in item.feed_type)
Ejemplo n.º 13
0
 def test_update_items_calling_assignment(self):
     item = SharedItem()
     item.assign_feeds = Mock()
     entry = {
         'title': 'Test',
         'feed_link': 'shared-content.xml'
     }
     item.update_from_entry(entry)
     self.assertTrue(item.assign_feeds.called)
     item.assign_feeds.assert_called_with(
         feed_link='shared-content.xml',
         title='Test'
     )
Ejemplo n.º 14
0
 def setUp(self):
     self.config = testing.setUp()
     self.config.registry.settings['push.solr_uri'] = 'foo'
     self.root = Root()
     self.root.shared = SharedItems()
     item = SharedItem()
     uid = 'uuuuid'
     self.uid = uid
     item.__name__ = uid
     item.__parent__ = uid
     item.feed_type = ['selected', 'deleted']
     self.root.shared['uuuuid'] = item
     self.solr = FakeSolr()
     self.solr.catalog[uid] = [item]
     self.item = item
Ejemplo n.º 15
0
 def setUp(self):
     self.config = testing.setUp()
     self.config.registry.settings['push.solr_uri'] = 'foo'
     self.root = Root()
     self.root.shared = SharedItems()
     item = SharedItem()
     uid = 'uuuuid'
     self.uid = uid
     item.__name__ = uid
     item.__parent__ = uid
     item.feed_type = ['selected', 'deleted']
     self.root.shared['uuuuid'] = item
     self.solr = FakeSolr()
     self.solr.catalog[uid] = [item]
     self.item = item
Ejemplo n.º 16
0
 def test_removal_mixed(self):
     """When multiple items are present in the feed, but only some
     are present in the database.
     """
     # Item 1
     obj_foo = SharedItem()
     self.root.shared['foo_uid'] = obj_foo
     # Create the entries
     feed_items = []
     feed_items.append(XML_ENTRY % ('foo', 'foo_uid'))
     feed_items.append(XML_ENTRY % ('missing', 'missing_uid'))
     feed = XML_WRAPPER % "".join(feed_items)
     # Set up the request
     request = testing.DummyRequest(body=feed,
                                    content_type='application/atom+xml')
     patcher = patch('mysolr.Solr', FakeSolr)
     patcher.start()
     response = delete_items(self.root, request)
     patcher.stop()
     self.assertEquals(
         response.body,
         ('Removed 1 items. '
          '1 items could not be found for deletion: missing_uid'),
     )
     self.assertEquals(response.code, 200)
     self.failIf(self.root.shared.get('foo_uid', False))
     self.failIf(self.root.shared.get('bar_uid', False))
Ejemplo n.º 17
0
 def test_removal(self):
     """When an item is present in the feed, it will be deleted
     """
     obj = SharedItem()
     obj.__name__ = 'item_uid'
     obj.__parent__ = self.root.shared
     self.root.shared['item_uid'] = obj
     feed_item = XML_ENTRY % ('foo', 'item_uid')
     feed = XML_WRAPPER % feed_item
     request = testing.DummyRequest(body=feed,
                                    content_type='application/atom+xml')
     patcher = patch('mysolr.Solr', FakeSolr)
     patcher.start()
     response = delete_items(self.root, request)
     patcher.stop()
     self.assertEquals(response.body, 'Removed 1 items.')
     self.assertEquals(response.code, 200)
     self.failIf(self.root.shared.get('item_uid', False))
Ejemplo n.º 18
0
    def setUp(self):
        self.item1 = SharedItem()
        self.item1.feed_type = ['shared', 'deleted']
        self.item1.deletion_type = 'featured'
        self.item2 = SharedItem()
        self.item2.feed_type = ['shared', 'selected']
        self.item3 = SharedItem()
        self.item3.feed_type = ['shared', 'selected']
        self.item4 = SharedItem()
        self.item4.feed_type = ['shared', 'selected', 'deleted']
        self.item4.deletion_type = 'featured'

        self.container = {
            'item1': self.item1,
            'item2': self.item2,
            'item3': self.item3,
            'item4': self.item4,
        }
Ejemplo n.º 19
0
 def test_removal(self):
     """When an item is present in the feed, it will be deleted
     """
     obj = SharedItem()
     obj.__name__ = 'item_uid'
     obj.__parent__ = self.root.shared
     self.root.shared['item_uid'] = obj
     feed_item = XML_ENTRY % ('foo', 'item_uid')
     feed = XML_WRAPPER % feed_item
     request = testing.DummyRequest(
         body=feed,
         content_type='application/atom+xml')
     patcher = patch('mysolr.Solr', FakeSolr)
     patcher.start()
     response = delete_items(self.root, request)
     patcher.stop()
     self.assertEquals(response.body, 'Removed 1 items.')
     self.assertEquals(response.code, 200)
     self.failIf(self.root.shared.get('item_uid', False))
Ejemplo n.º 20
0
 def test_add_to_shared(self):
     entry = {'feed_link': 'shared-content.xml'}
     item = SharedItem()
     item.assign_feeds(**entry)
     self.assertEqual(len(item.feed_type), 1)
     self.assertTrue('shared' in item.feed_type)
Ejemplo n.º 21
0
 def test_add_to_shared(self):
     entry = {'feed_link': 'shared-content.xml'}
     item = SharedItem()
     item.assign_feeds(**entry)
     self.assertEqual(len(item.feed_type), 1)
     self.assertTrue('shared' in item.feed_type)