2010-10-23 13:06:28 -04:00
|
|
|
from utils import json_functions as json
|
2010-05-04 10:39:25 -04:00
|
|
|
from django.test.client import Client
|
|
|
|
from django.test import TestCase
|
|
|
|
from django.core.urlresolvers import reverse
|
2012-11-27 16:22:03 -08:00
|
|
|
from django.conf import settings
|
|
|
|
from mongoengine.connection import connect, disconnect
|
2010-05-04 10:39:25 -04:00
|
|
|
|
2010-07-01 14:01:11 -04:00
|
|
|
class ReaderTest(TestCase):
|
2013-11-06 11:12:41 -08:00
|
|
|
fixtures = ['../../rss_feeds/fixtures/rss_feeds.json',
|
|
|
|
'subscriptions.json', 'stories.json',
|
|
|
|
'../../rss_feeds/fixtures/gawker1.json']
|
2010-05-04 10:39:25 -04:00
|
|
|
|
2012-11-27 16:22:03 -08:00
|
|
|
|
2010-05-04 10:39:25 -04:00
|
|
|
def setUp(self):
|
2012-11-27 16:22:03 -08:00
|
|
|
disconnect()
|
|
|
|
settings.MONGODB = connect('test_newsblur')
|
2010-05-04 10:39:25 -04:00
|
|
|
self.client = Client()
|
2012-11-27 16:22:03 -08:00
|
|
|
|
|
|
|
def tearDown(self):
|
|
|
|
settings.MONGODB.drop_database('test_newsblur')
|
|
|
|
|
2011-04-21 10:44:50 -04:00
|
|
|
def test_api_feeds(self):
|
|
|
|
self.client.login(username='conesus', password='test')
|
|
|
|
|
|
|
|
response = self.client.get(reverse('load-feeds'))
|
2011-08-31 18:04:45 -07:00
|
|
|
content = json.decode(response.content)
|
|
|
|
|
2013-11-06 11:12:41 -08:00
|
|
|
self.assertEquals(len(content['feeds']), 10)
|
2011-08-31 18:04:45 -07:00
|
|
|
self.assertEquals(content['feeds']['1']['feed_title'], 'Gawker')
|
2013-11-06 11:12:41 -08:00
|
|
|
self.assertEquals(content['folders'], [{'Tech': [1, 4, 5, {'Deep Tech': [6, 7]}]}, 2, 3, 8, 9, {'Blogs': [8, 9]}, 1])
|
2011-04-21 10:44:50 -04:00
|
|
|
|
2010-05-04 10:39:25 -04:00
|
|
|
def test_delete_feed(self):
|
|
|
|
self.client.login(username='conesus', password='test')
|
|
|
|
|
|
|
|
response = self.client.get(reverse('load-feeds'))
|
|
|
|
feeds = json.decode(response.content)
|
2013-11-06 11:12:41 -08:00
|
|
|
self.assertEquals(feeds['folders'], [{'Tech': [1, 4, 5, {'Deep Tech': [6, 7]}]}, 2, 3, 8, 9, {'Blogs': [8, 9]}, 1])
|
2010-05-04 10:39:25 -04:00
|
|
|
|
|
|
|
# Delete feed
|
2011-08-31 18:04:45 -07:00
|
|
|
response = self.client.post(reverse('delete-feed'), {'feed_id': 1, 'in_folder': ''})
|
2010-05-04 10:39:25 -04:00
|
|
|
response = json.decode(response.content)
|
|
|
|
self.assertEquals(response['code'], 1)
|
|
|
|
|
|
|
|
response = self.client.get(reverse('load-feeds'))
|
|
|
|
feeds = json.decode(response.content)
|
2013-11-06 11:12:41 -08:00
|
|
|
self.assertEquals(feeds['folders'], [2, 3, 8, 9, {'Tech': [1, 4, 5, {'Deep Tech': [6, 7]}]}, {'Blogs': [8, 9]}])
|
2010-05-04 10:39:25 -04:00
|
|
|
|
|
|
|
# Delete feed
|
2011-08-31 18:04:45 -07:00
|
|
|
response = self.client.post(reverse('delete-feed'), {'feed_id': 9, 'in_folder': 'Blogs'})
|
2010-05-04 10:39:25 -04:00
|
|
|
response = json.decode(response.content)
|
|
|
|
self.assertEquals(response['code'], 1)
|
|
|
|
|
|
|
|
response = self.client.get(reverse('load-feeds'))
|
|
|
|
feeds = json.decode(response.content)
|
2013-11-06 11:12:41 -08:00
|
|
|
self.assertEquals(feeds['folders'], [2, 3, 8, 9, {'Tech': [1, 4, 5, {'Deep Tech': [6, 7]}]}, {'Blogs': [8]}])
|
2010-05-04 10:39:25 -04:00
|
|
|
|
|
|
|
# Delete feed
|
2011-08-31 18:04:45 -07:00
|
|
|
response = self.client.post(reverse('delete-feed'), {'feed_id': 5, 'in_folder': 'Tech'})
|
2010-05-04 10:39:25 -04:00
|
|
|
response = json.decode(response.content)
|
|
|
|
self.assertEquals(response['code'], 1)
|
|
|
|
|
|
|
|
response = self.client.get(reverse('load-feeds'))
|
|
|
|
feeds = json.decode(response.content)
|
2013-11-06 11:12:41 -08:00
|
|
|
self.assertEquals(feeds['folders'], [2, 3, 8, 9, {'Tech': [1, 4, {'Deep Tech': [6, 7]}]}, {'Blogs': [8]}])
|
2010-05-04 10:39:25 -04:00
|
|
|
|
|
|
|
# Delete feed
|
2011-08-31 18:04:45 -07:00
|
|
|
response = self.client.post(reverse('delete-feed'), {'feed_id': 4, 'in_folder': 'Tech'})
|
2010-05-04 10:39:25 -04:00
|
|
|
response = json.decode(response.content)
|
|
|
|
self.assertEquals(response['code'], 1)
|
|
|
|
|
|
|
|
response = self.client.get(reverse('load-feeds'))
|
|
|
|
feeds = json.decode(response.content)
|
2013-11-06 11:12:41 -08:00
|
|
|
self.assertEquals(feeds['folders'], [2, 3, 8, 9, {'Tech': [1, {'Deep Tech': [6, 7]}]}, {'Blogs': [8]}])
|
2010-05-04 10:39:25 -04:00
|
|
|
|
|
|
|
# Delete feed
|
2011-08-31 18:04:45 -07:00
|
|
|
response = self.client.post(reverse('delete-feed'), {'feed_id': 8, 'in_folder': ''})
|
2010-05-04 10:39:25 -04:00
|
|
|
response = json.decode(response.content)
|
|
|
|
self.assertEquals(response['code'], 1)
|
|
|
|
|
|
|
|
response = self.client.get(reverse('load-feeds'))
|
|
|
|
feeds = json.decode(response.content)
|
2013-11-06 11:12:41 -08:00
|
|
|
self.assertEquals(feeds['folders'], [2, 3, 9, {'Tech': [1, {'Deep Tech': [6, 7]}]}, {'Blogs': [8]}])
|
|
|
|
|
|
|
|
def test_delete_feed__multiple_folders(self):
|
|
|
|
self.client.login(username='conesus', password='test')
|
|
|
|
|
|
|
|
response = self.client.get(reverse('load-feeds'))
|
|
|
|
feeds = json.decode(response.content)
|
|
|
|
self.assertEquals(feeds['folders'], [{'Tech': [1, 4, 5, {'Deep Tech': [6, 7]}]}, 2, 3, 8, 9, {'Blogs': [8, 9]}, 1])
|
|
|
|
|
|
|
|
# Delete feed
|
|
|
|
response = self.client.post(reverse('delete-feed'), {'feed_id': 1})
|
|
|
|
response = json.decode(response.content)
|
|
|
|
self.assertEquals(response['code'], 1)
|
|
|
|
|
|
|
|
response = self.client.get(reverse('load-feeds'))
|
|
|
|
feeds = json.decode(response.content)
|
|
|
|
self.assertEquals(feeds['folders'], [2, 3, 8, 9, {'Tech': [1, 4, 5, {'Deep Tech': [6, 7]}]}, {'Blogs': [8, 9]}])
|
2010-07-01 14:01:11 -04:00
|
|
|
|
|
|
|
def test_load_single_feed(self):
|
2011-08-31 18:04:45 -07:00
|
|
|
# from django.conf import settings
|
|
|
|
# from django.db import connection
|
|
|
|
# settings.DEBUG = True
|
|
|
|
# connection.queries = []
|
2010-07-01 14:01:11 -04:00
|
|
|
|
|
|
|
self.client.login(username='conesus', password='test')
|
2011-09-01 09:11:29 -07:00
|
|
|
url = reverse('load-single-feed', kwargs=dict(feed_id=1))
|
|
|
|
response = self.client.get(url)
|
2010-07-01 14:01:11 -04:00
|
|
|
feed = json.decode(response.content)
|
2011-08-31 18:04:45 -07:00
|
|
|
self.assertEquals(len(feed['feed_tags']), 0)
|
|
|
|
self.assertEquals(len(feed['classifiers']['tags']), 0)
|
|
|
|
# self.assert_(connection.queries)
|
2010-07-01 14:01:11 -04:00
|
|
|
|
2011-08-31 18:04:45 -07:00
|
|
|
# settings.DEBUG = False
|