NewsBlur/apps/feed_import/tests.py
Samuel Clay 4434c8003e Merge branch 'master' into darkmode
* master:
  Adding two dependencies for postlight's mercury parser.
  Updating minimist node dependency.
  Updating dependencies
  Removing additional traces of Google Reader.
  Upgrading to latest node.
  Updating flask requirements.
  Removing Google Analytics. Should've done this 7 years ago.
  Renaming feedfinder and feedfinder2.
2020-06-15 18:28:23 -04:00

49 lines
No EOL
2.1 KiB
Python

import os
from django.test.client import Client
from django.test import TestCase
from django.contrib.auth.models import User
from django.core.urlresolvers import reverse
from apps.reader.models import UserSubscription, UserSubscriptionFolders
from utils import json_functions as json
class ImportTest(TestCase):
fixtures = ['opml_import.json']
def setUp(self):
self.client = Client()
def test_opml_import(self):
self.client.login(username='conesus', password='test')
user = User.objects.get(username='conesus')
# Verify user has no feeds
subs = UserSubscription.objects.filter(user=user)
self.assertEquals(subs.count(), 0)
f = open(os.path.join(os.path.dirname(__file__), 'fixtures/opml.xml'))
response = self.client.post(reverse('opml-upload'), {'file': f})
self.assertEquals(response.status_code, 200)
# Verify user now has feeds
subs = UserSubscription.objects.filter(user=user)
self.assertEquals(subs.count(), 54)
usf = UserSubscriptionFolders.objects.get(user=user)
print json.decode(usf.folders)
self.assertEquals(json.decode(usf.folders), [{u'Tech': [4, 5, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28]}, 1, 2, 3, 6, {u'New York': [1, 2, 3, 4, 5, 6, 7, 8, 9]}, {u'tech': []}, {u'Blogs': [29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, {u'The Bloglets': [45, 46, 47, 48, 49]}]}, {u'Cooking': [50, 51, 52, 53]}, 54])
def test_opml_import__empty(self):
self.client.login(username='conesus', password='test')
user = User.objects.get(username='conesus')
# Verify user has default feeds
subs = UserSubscription.objects.filter(user=user)
self.assertEquals(subs.count(), 0)
response = self.client.post(reverse('opml-upload'))
self.assertEquals(response.status_code, 200)
# Verify user now has feeds
subs = UserSubscription.objects.filter(user=user)
self.assertEquals(subs.count(), 0)