Пример #1
0
    def setUp(self):
        disconnect_entry_signals()
        self.site = Site.objects.get_current()
        self.authors = [
            Author.objects.create(username='******', email='*****@*****.**'),
            Author.objects.create(username='******', email='*****@*****.**')
        ]
        self.categories = [
            Category.objects.create(title='Category 1', slug='cat-1'),
            Category.objects.create(title='Category 2', slug='cat-2')
        ]
        params = {
            'title': 'My entry 1',
            'content': 'My content 1',
            'tags': 'zinnia, test',
            'slug': 'my-entry-1',
            'status': PUBLISHED
        }
        self.entry_1 = Entry.objects.create(**params)
        self.entry_1.authors.add(*self.authors)
        self.entry_1.categories.add(*self.categories)
        self.entry_1.sites.add(self.site)

        params = {
            'title': 'My entry 2',
            'content': 'My content 2',
            'tags': 'zinnia',
            'slug': 'my-entry-2',
            'status': PUBLISHED
        }
        self.entry_2 = Entry.objects.create(**params)
        self.entry_2.authors.add(self.authors[0])
        self.entry_2.categories.add(self.categories[0])
        self.entry_2.sites.add(self.site)
Пример #2
0
    def setUp(self):
        disconnect_entry_signals()
        disconnect_discussion_signals()
        self.site = Site.objects.get_current()
        self.author = Author.objects.create_user(username='******',
                                                 email='*****@*****.**',
                                                 password='******')
        self.category = Category.objects.create(title='Tests', slug='tests')
        params = {'title': 'Test 1',
                  'content': 'First test entry published',
                  'slug': 'test-1',
                  'tags': 'tests',
                  'publication_date': datetime(2010, 1, 1, 23, 0),
                  'status': PUBLISHED}
        entry = Entry.objects.create(**params)
        entry.sites.add(self.site)
        entry.categories.add(self.category)
        entry.authors.add(self.author)
        self.first_entry = entry

        params = {'title': 'Test 2',
                  'content': 'Second test entry published',
                  'slug': 'test-2',
                  'tags': 'tests',
                  'publication_date': datetime(2010, 5, 31, 23, 00),
                  'status': PUBLISHED}
        entry = Entry.objects.create(**params)
        entry.sites.add(self.site)
        entry.categories.add(self.category)
        entry.authors.add(self.author)
        self.second_entry = entry
    def setUp(self):
        disconnect_entry_signals()
        activate('en')
        self.root = User.objects.create_superuser('root', '*****@*****.**',
                                                  'toor')
        self.request_factory = RequestFactory()
        self.site = Site.objects.get_current()

        params = {
            'title': 'My entry 1',
            'content': 'My content 1',
            'status': PUBLISHED,
            'slug': 'my-entry-1'
        }
        self.entry_1 = Entry.objects.create(**params)
        self.entry_1.sites.add(self.site)

        params = {
            'title': 'My entry 2',
            'content': 'My content 2',
            'status': PUBLISHED,
            'slug': 'my-entry-2'
        }
        self.entry_2 = Entry.objects.create(**params)
        self.entry_2.sites.add(self.site)

        params = {
            'title': 'My entry draft',
            'content': 'My content draft',
            'slug': 'my-entry-draft'
        }
        self.entry_draft = Entry.objects.create(**params)
        self.entry_draft.sites.add(self.site)
Пример #4
0
 def setUp(self):
     disconnect_entry_signals()
     params = {'title': 'My entry',
               'content': 'My content',
               'tags': 'zinnia, test',
               'slug': 'my-entry'}
     self.entry = Entry.objects.create(**params)
Пример #5
0
    def setUp(self):
        disconnect_entry_signals()
        disconnect_discussion_signals()
        self.site = Site.objects.get_current()
        self.author = Author.objects.create_user(username='******',
                                                 email='*****@*****.**',
                                                 password='******')
        self.category = Category.objects.create(title='Tests', slug='tests')
        params = {
            'title': 'Test 1',
            'content': 'First test entry published',
            'slug': 'test-1',
            'tags': 'tests',
            'publication_date': datetime(2010, 1, 1, 23, 0),
            'status': PUBLISHED
        }
        entry = Entry.objects.create(**params)
        entry.sites.add(self.site)
        entry.categories.add(self.category)
        entry.authors.add(self.author)
        self.first_entry = entry

        params = {
            'title': 'Test 2',
            'content': 'Second test entry published',
            'slug': 'test-2',
            'tags': 'tests',
            'publication_date': datetime(2010, 5, 31, 23, 00),
            'status': PUBLISHED
        }
        entry = Entry.objects.create(**params)
        entry.sites.add(self.site)
        entry.categories.add(self.category)
        entry.authors.add(self.author)
        self.second_entry = entry
    def setUp(self):
        disconnect_entry_signals()
        activate('en')
        self.request_factory = RequestFactory()
        self.site = Site.objects.get_current()

        params = {'title': 'My entry 1',
                  'content': 'My content 1',
                  'status': PUBLISHED,
                  'slug': 'my-entry-1'}
        self.entry_1 = Entry.objects.create(**params)
        self.entry_1.sites.add(self.site)

        params = {'title': 'My entry 2',
                  'content': 'My content 2',
                  'status': PUBLISHED,
                  'slug': 'my-entry-2'}
        self.entry_2 = Entry.objects.create(**params)
        self.entry_2.sites.add(self.site)

        params = {'title': 'My entry draft',
                  'content': 'My content draft',
                  'slug': 'my-entry-draft'}
        self.entry_draft = Entry.objects.create(**params)
        self.entry_draft.sites.add(self.site)
Пример #7
0
 def __init__(self, *args, **kwargs):
     super(Command, self).__init__(*args, **kwargs)
     self.style.TITLE = self.style.SQL_FIELD
     self.style.STEP = self.style.SQL_COLTYPE
     self.style.ITEM = self.style.HTTP_INFO
     disconnect_entry_signals()
     disconnect_discussion_signals()
Пример #8
0
    def setUp(self):
        disconnect_entry_signals()
        self.site = Site.objects.get_current()
        self.authors = [
            Author.objects.create(username='******', email='*****@*****.**'),
            Author.objects.create(username='******', email='*****@*****.**')]
        self.categories = [
            Category.objects.create(title='Category 1', slug='cat-1'),
            Category.objects.create(title='Category 2', slug='cat-2')]
        params = {'title': 'My entry 1', 'content': 'My content 1',
                  'tags': 'zinnia, test', 'slug': 'my-entry-1',
                  'status': PUBLISHED}
        self.entry_1 = Entry.objects.create(**params)
        self.entry_1.authors.add(*self.authors)
        self.entry_1.categories.add(*self.categories)
        self.entry_1.sites.add(self.site)

        params = {'title': 'My entry 2', 'content': 'My content 2',
                  'tags': 'zinnia', 'slug': 'my-entry-2',
                  'status': PUBLISHED}
        self.entry_2 = Entry.objects.create(**params)
        self.entry_2.authors.add(self.authors[0])
        self.entry_2.categories.add(self.categories[0])
        self.entry_2.sites.add(self.site)

        params = {'title': 'My entry draft', 'content': 'My content draft',
                  'tags': 'zinnia, tag', 'slug': 'my-entry-draft'}
        self.entry_draft = Entry.objects.create(**params)
        self.entry_draft.authors.add(self.authors[0])
        self.entry_draft.categories.add(self.categories[0])
        self.entry_draft.sites.add(self.site)
Пример #9
0
    def setUp(self):
        disconnect_entry_signals()
        self.sites = [
            Site.objects.get_current(),
            Site.objects.create(domain='http://domain.com',
                                name='Domain.com')]
        self.authors = [
            Author.objects.create_user(username='******',
                                       email='*****@*****.**'),
            Author.objects.create_user(username='******',
                                       email='*****@*****.**')]
        self.categories = [
            Category.objects.create(title='Category 1',
                                    slug='category-1'),
            Category.objects.create(title='Category 2',
                                    slug='category-2')]

        params = {'title': 'My entry 1', 'content': 'My content 1',
                  'tags': 'zinnia, test', 'slug': 'my-entry-1',
                  'status': PUBLISHED}
        self.entry_1 = Entry.objects.create(**params)
        self.entry_1.authors.add(self.authors[0])
        self.entry_1.categories.add(*self.categories)
        self.entry_1.sites.add(*self.sites)

        params = {'title': 'My entry 2', 'content': 'My content 2',
                  'tags': 'zinnia, test', 'slug': 'my-entry-2'}
        self.entry_2 = Entry.objects.create(**params)
        self.entry_2.authors.add(*self.authors)
        self.entry_2.categories.add(self.categories[0])
        self.entry_2.sites.add(self.sites[0])
Пример #10
0
 def setUp(self):
     disconnect_entry_signals()
     disconnect_discussion_signals()
     params = {'title': 'My entry',
               'content': 'My content',
               'slug': 'my-entry'}
     self.entry = Entry.objects.create(**params)
Пример #11
0
    def setUp(self):
        disconnect_entry_signals()
        self.sites = [
            Site.objects.get_current(),
            Site.objects.create(domain='http://domain.com',
                                name='Domain.com')]
        self.authors = [
            Author.objects.create_user(username='******',
                                       email='*****@*****.**'),
            Author.objects.create_user(username='******',
                                       email='*****@*****.**')]
        self.categories = [
            Category.objects.create(title='Category 1',
                                    slug='category-1'),
            Category.objects.create(title='Category 2',
                                    slug='category-2')]

        params = {'title': 'My entry 1', 'content': 'My content 1',
                  'tags': 'zinnia, test', 'slug': 'my-entry-1',
                  'status': PUBLISHED}
        self.entry_1 = Entry.objects.create(**params)
        self.entry_1.authors.add(self.authors[0])
        self.entry_1.categories.add(*self.categories)
        self.entry_1.sites.add(*self.sites)

        params = {'title': 'My entry 2', 'content': 'My content 2',
                  'tags': 'zinnia, test', 'slug': 'my-entry-2'}
        self.entry_2 = Entry.objects.create(**params)
        self.entry_2.authors.add(*self.authors)
        self.entry_2.categories.add(self.categories[0])
        self.entry_2.sites.add(self.sites[0])
Пример #12
0
    def handle(self, database_name, **options):

        # Verify that
        if options['threaded_comments'] and not hasattr(Comment, "parent"):
            raise CommandError("Currently configured comment model does not have the 'parent' attribute, but threaded comment import has been requested. Check your COMMENTS_APP setting.")

        # Read the password for Drupal database if it wasn't provided within a file.
        if options['database_password_file']:
            options['database_password'] = open(options['database_password_file'], "r").read().rstrip().lstrip()
        else:
            options['database_password'] = getpass.getpass("Database password for '%s'@'%s': " % (options['database_username'], database_name))

        # Set-up SQLAlchemy ORM.
        database_connection_url = "mysql://%s:%s@%s/%s" % (urllib.quote(options['database_username']),
                                                           urllib.quote(options['database_password']),
                                                           urllib.quote(options['database_hostname']),
                                                           urllib.quote(database_name))
        engine = create_engine(database_connection_url)
        drupal = DrupalDatabase(engine)

        # Create list of users that should be imported.
        users = options["users"]
        if users:
            users = users.split(",")

        # Disconnect Zinnia signals.
        disconnect_discussion_signals()
        disconnect_entry_signals()

        # Import the users.
        with transaction.atomic():
            user_stats, user_mapping = import_users(drupal, users=users, custom_mapping=options["user_mapping"])
        # Import the categories.
        with transaction.atomic():
            category_stats, category_mapping = import_categories(drupal)
        # Extract the tag mapping.
        with transaction.atomic():
            tag_mapping = extract_tags(drupal)
        # Finally, import the actual content.
        with transaction.atomic():
            content_stats = import_content(drupal, user_mapping, category_mapping, tag_mapping, options['node_type'], options["threaded_comments"])

        # Output a summary.
        print
        print "User import summary"
        print "==================="
        for key, value in user_stats.iteritems():
            print "%s: %s" % (key, value)

        print
        print "Category import summary"
        print "======================="
        for key, value in category_stats.iteritems():
            print "%s: %s" % (key, value)

        print
        print "Content import summary"
        print "======================"
        for key, value in content_stats.iteritems():
            print "%s: %s" % (key, value)
Пример #13
0
    def handle(self, *args, **options):
        disconnect_entry_signals()
        self.verbosity = int(options.get('verbosity', 1))
        for entry in Entry.objects.all():
            self.write_out('Processing %s\n' % entry.title)
            changed = False
            comment_count = entry.comments.count()
            pingback_count = entry.pingbacks.count()
            trackback_count = entry.trackbacks.count()

            if entry.comment_count != comment_count:
                changed = True
                self.write_out('- %s comments found, %s before\n' % (
                    comment_count, entry.comment_count))
                entry.comment_count = comment_count

            if entry.pingback_count != pingback_count:
                changed = True
                self.write_out('- %s pingbacks found, %s before\n' % (
                    pingback_count, entry.pingback_count))
                entry.pingback_count = pingback_count

            if entry.trackback_count != trackback_count:
                changed = True
                self.write_out('- %s trackbacks found, %s before\n' % (
                    trackback_count, entry.trackback_count))
                entry.trackback_count = trackback_count

            if changed:
                self.write_out('- Updating...\n')
                entry.save()
Пример #14
0
 def setUp(self):
     disconnect_entry_signals()
     disconnect_discussion_signals()
     params = {'title': 'My entry',
               'content': 'My content',
               'slug': 'my-entry'}
     self.entry = Entry.objects.create(**params)
    def setUp(self):
        disconnect_entry_signals()
        disconnect_discussion_signals()
        # Clear the cache of user flagger to avoid error on MySQL
        get_user_flagger.cache_clear()
        # Use default URL shortener backend, to avoid networks errors
        self.original_shortener = shortener_settings.URL_SHORTENER_BACKEND
        shortener_settings.URL_SHORTENER_BACKEND = "zinnia.url_shortener." "backends.default"
        # Set up a stub around urlopen
        import zinnia.xmlrpc.pingback

        self.original_urlopen = zinnia.xmlrpc.pingback.urlopen
        zinnia.xmlrpc.pingback.urlopen = self.fake_urlopen
        # Set a short template for entry_detail to avoid rendering errors
        setup_test_template_loader(
            {
                "zinnia/entry_detail.html": "<html><head><title>{{ object.title }}</title></head>"
                "<body>{{ object.html_content|safe }}</body></html>",
                "404.html": "404",
            }
        )
        # Preparing site
        self.site = Site.objects.get_current()
        # Creating tests entries
        self.author = Author.objects.create_user(username="******", email="*****@*****.**")
        self.category = Category.objects.create(title="test", slug="test")
        params = {
            "title": "My first entry",
            "content": "My first content",
            "slug": "my-first-entry",
            "creation_date": datetime(2010, 1, 1, 12),
            "status": PUBLISHED,
        }
        self.first_entry = Entry.objects.create(**params)
        self.first_entry.sites.add(self.site)
        self.first_entry.categories.add(self.category)
        self.first_entry.authors.add(self.author)

        params = {
            "title": "My second entry",
            "content": "My second content with link "
            'to <a href="http://%s%s">first entry</a>'
            " and other links : %s %s."
            % (
                self.site.domain,
                self.first_entry.get_absolute_url(),
                "http://example.com/error-404/",
                "http://external/",
            ),
            "slug": "my-second-entry",
            "creation_date": datetime(2010, 1, 1, 12),
            "status": PUBLISHED,
        }
        self.second_entry = Entry.objects.create(**params)
        self.second_entry.sites.add(self.site)
        self.second_entry.categories.add(self.category)
        self.second_entry.authors.add(self.author)
        # Instanciating the server proxy
        self.server = ServerProxy("http://example.com/xmlrpc/", transport=TestTransport())
Пример #16
0
 def __init__(self):
     """Init the Command and add custom styles"""
     super(Command, self).__init__()
     self.style.TITLE = self.style.SQL_FIELD
     self.style.STEP = self.style.SQL_COLTYPE
     self.style.ITEM = self.style.HTTP_INFO
     disconnect_entry_signals()
     disconnect_discussion_signals()
Пример #17
0
 def __init__(self):
     """Init the Command and add custom styles"""
     super(Command, self).__init__()
     self.style.TITLE = self.style.SQL_FIELD
     self.style.STEP = self.style.SQL_COLTYPE
     self.style.ITEM = self.style.HTTP_INFO
     disconnect_entry_signals()
     disconnect_discussion_signals()
Пример #18
0
    def setUp(self):
        disconnect_entry_signals()
        disconnect_discussion_signals()
        # Clear the cache of user flagger to avoid error on MySQL
        get_user_flagger.cache_clear()
        # Use default URL shortener backend, to avoid networks errors
        self.original_shortener = shortener_settings.URL_SHORTENER_BACKEND
        shortener_settings.URL_SHORTENER_BACKEND = 'zinnia.url_shortener.'\
                                                   'backends.default'
        # Set up a stub around urlopen
        import zinnia.xmlrpc.pingback
        self.original_urlopen = zinnia.xmlrpc.pingback.urlopen
        zinnia.xmlrpc.pingback.urlopen = self.fake_urlopen
        # Set up a stub around zinnia.spam_checker
        import zinnia.spam_checker
        self.original_scb = zinnia.spam_checker.SPAM_CHECKER_BACKENDS
        zinnia.spam_checker.SPAM_CHECKER_BACKENDS = []
        # Preparing site
        self.site = Site.objects.get_current()
        # Creating tests entries
        self.author = Author.objects.create_user(username='******',
                                                 email='*****@*****.**')
        self.category = Category.objects.create(title='test', slug='test')
        params = {
            'title': 'My first entry',
            'content': 'My first content',
            'slug': 'my-first-entry',
            'publication_date': datetime(2010, 1, 1, 12),
            'status': PUBLISHED
        }
        self.first_entry = Entry.objects.create(**params)
        self.first_entry.sites.add(self.site)
        self.first_entry.categories.add(self.category)
        self.first_entry.authors.add(self.author)

        params = {
            'title':
            'My second entry',
            'content':
            'My second content with link '
            'to <a href="http://%s%s">first entry</a>'
            ' and other links : %s %s.' %
            (self.site.domain, self.first_entry.get_absolute_url(),
             'http://example.com/error-404/', 'http://external/'),
            'slug':
            'my-second-entry',
            'publication_date':
            datetime(2010, 1, 1, 12),
            'status':
            PUBLISHED
        }
        self.second_entry = Entry.objects.create(**params)
        self.second_entry.sites.add(self.site)
        self.second_entry.categories.add(self.category)
        self.second_entry.authors.add(self.author)
        # Instanciating the server proxy
        self.server = ServerProxy('http://example.com/xmlrpc/',
                                  transport=TestTransport())
Пример #19
0
 def setUp(self):
     disconnect_entry_signals()
     params = {
         'title': 'My entry',
         'content': 'My content',
         'tags': 'zinnia, test',
         'slug': 'my-entry'
     }
     self.entry = Entry.objects.create(**params)
Пример #20
0
 def setUp(self):
     disconnect_entry_signals()
     params = {'title': 'My entry',
               'content': 'My content',
               'tags': 'zinnia, test',
               'slug': 'my-entry'}
     self.entry = Entry.objects.create(**params)
     self.original_thread = ExternalUrlsPinger.__bases__
     ExternalUrlsPinger.__bases__ = (FakeThread,)
Пример #21
0
    def setUp(self):
        disconnect_entry_signals()
        disconnect_discussion_signals()
        # Clean the memoization of user flagger to avoid error on MySQL
        try:
            del user_flagger_[()]
        except KeyError:
            pass
        # Use default URL shortener backend, to avoid networks errors
        self.original_shortener = shortener_settings.URL_SHORTENER_BACKEND
        shortener_settings.URL_SHORTENER_BACKEND = 'zinnia.url_shortener.'\
                                                   'backends.default'
        # Set up a stub around urlopen
        import zinnia.xmlrpc.pingback
        self.original_urlopen = zinnia.xmlrpc.pingback.urlopen
        zinnia.xmlrpc.pingback.urlopen = self.fake_urlopen
        # Set a short template for entry_detail to avoid rendering errors
        setup_test_template_loader(
            {'zinnia/entry_detail.html':
             '<html><head><title>{{ object.title }}</title></head>'
             '<body>{{ object.html_content|safe }}</body></html>',
             '404.html': '404'})
        # Preparing site
        self.site = Site.objects.get_current()
        # Creating tests entries
        self.author = Author.objects.create_user(username='******',
                                                 email='*****@*****.**')
        self.category = Category.objects.create(title='test', slug='test')
        params = {'title': 'My first entry',
                  'content': 'My first content',
                  'slug': 'my-first-entry',
                  'creation_date': datetime(2010, 1, 1, 12),
                  'status': PUBLISHED}
        self.first_entry = Entry.objects.create(**params)
        self.first_entry.sites.add(self.site)
        self.first_entry.categories.add(self.category)
        self.first_entry.authors.add(self.author)

        params = {'title': 'My second entry',
                  'content': 'My second content with link '
                  'to <a href="http://%s%s">first entry</a>'
                  ' and other links : %s %s.' % (
                      self.site.domain,
                      self.first_entry.get_absolute_url(),
                      'http://example.com/error-404/',
                      'http://external/'),
                  'slug': 'my-second-entry',
                  'creation_date': datetime(2010, 1, 1, 12),
                  'status': PUBLISHED}
        self.second_entry = Entry.objects.create(**params)
        self.second_entry.sites.add(self.site)
        self.second_entry.categories.add(self.category)
        self.second_entry.authors.add(self.author)
        # Instanciating the server proxy
        self.server = ServerProxy('http://example.com/xmlrpc/',
                                  transport=TestTransport())
Пример #22
0
 def setUp(self):
     disconnect_entry_signals()
     disconnect_discussion_signals()
     params = {'title': 'My entry',
               'content': 'My content',
               'tags': 'zinnia, test',
               'creation_date': datetime(2010, 1, 1, 12),
               'slug': 'my-entry'}
     self.entry = Entry.objects.create(**params)
     self.site = Site.objects.get_current()
Пример #23
0
 def setUp(self):
     disconnect_entry_signals()
     disconnect_discussion_signals()
     activate('en')
     self.site = Site.objects.get_current()
     self.author = Author.objects.create(username='******',
                                         first_name='Root',
                                         last_name='Bloody',
                                         email='*****@*****.**')
     self.category = Category.objects.create(title='Tests', slug='tests')
     self.entry_ct_id = ContentType.objects.get_for_model(Entry).pk
Пример #24
0
 def setUp(self):
     disconnect_entry_signals()
     disconnect_discussion_signals()
     activate('en')
     self.site = Site.objects.get_current()
     self.author = Author.objects.create(username='******',
                                         first_name='Root',
                                         last_name='Bloody',
                                         email='*****@*****.**')
     self.category = Category.objects.create(title='Tests', slug='tests')
     self.entry_ct_id = ContentType.objects.get_for_model(Entry).pk
 def setUp(self):
     disconnect_entry_signals()
     disconnect_discussion_signals()
     params = {
         'title': 'My entry',
         'content': 'My content',
         'tags': 'zinnia, test',
         'creation_date': datetime(2010, 1, 1, 12),
         'slug': 'my-entry'
     }
     self.entry = Entry.objects.create(**params)
     self.site = Site.objects.get_current()
    def setUp(self):
        disconnect_entry_signals()
        activate("en")
        self.request_factory = RequestFactory()
        self.site = Site.objects.get_current()

        params = {"title": "My entry 1", "content": "My content 1", "status": PUBLISHED, "slug": "my-entry-1"}
        self.entry_1 = Entry.objects.create(**params)
        self.entry_1.sites.add(self.site)

        params = {"title": "My entry 2", "content": "My content 2", "status": PUBLISHED, "slug": "my-entry-2"}
        self.entry_2 = Entry.objects.create(**params)
        self.entry_2.sites.add(self.site)
Пример #27
0
    def setUp(self):
        disconnect_entry_signals()
        self.author = Author.objects.create_superuser(
            username='******', email='*****@*****.**', password='******')

        self.category = Category.objects.create(title='Category', slug='cat')
        params = {
            'title': 'My title',
            'content': 'My content',
            'slug': 'my-title'
        }
        self.entry = Entry.objects.create(**params)
        self.client.force_login(self.author)
Пример #28
0
    def setUp(self):
        disconnect_entry_signals()
        self.site = Site.objects.get_current()
        self.author = Author.objects.create_user(
            'webmaster', '*****@*****.**')
        params = {'title': 'My entry',
                  'content': 'My content',
                  'tags': 'zinnia, test',
                  'slug': 'my-entry'}

        self.entry = Entry.objects.create(**params)
        self.entry.authors.add(self.author)
        self.entry.sites.add(self.site)
Пример #29
0
    def setUp(self):
        disconnect_entry_signals()
        disconnect_discussion_signals()
        # Clear the cache of user flagger to avoid error on MySQL
        get_user_flagger.cache_clear()
        # Use default URL shortener backend, to avoid networks errors
        self.original_shortener = shortener_settings.URL_SHORTENER_BACKEND
        shortener_settings.URL_SHORTENER_BACKEND = 'zinnia.url_shortener.'\
                                                   'backends.default'
        # Set up a stub around urlopen
        import zinnia.xmlrpc.pingback
        self.original_urlopen = zinnia.xmlrpc.pingback.urlopen
        zinnia.xmlrpc.pingback.urlopen = self.fake_urlopen
        # Set up a stub around zinnia.spam_checker
        import zinnia.spam_checker
        self.original_scb = zinnia.spam_checker.SPAM_CHECKER_BACKENDS
        zinnia.spam_checker.SPAM_CHECKER_BACKENDS = []
        # Preparing site
        self.site = Site.objects.get_current()
        # Creating tests entries
        self.author = Author.objects.create_user(username='******',
                                                 email='*****@*****.**')
        self.category = Category.objects.create(title='test', slug='test')
        params = {'title': 'My first entry',
                  'content': 'My first content',
                  'slug': 'my-first-entry',
                  'publication_date': datetime(2010, 1, 1, 12),
                  'status': PUBLISHED}
        self.first_entry = Entry.objects.create(**params)
        self.first_entry.sites.add(self.site)
        self.first_entry.categories.add(self.category)
        self.first_entry.authors.add(self.author)

        params = {'title': 'My second entry',
                  'content': 'My second content with link '
                  'to <a href="http://%s%s">first entry</a>'
                  ' and other links : %s %s.' % (
                      self.site.domain,
                      self.first_entry.get_absolute_url(),
                      'http://example.com/error-404/',
                      'http://external/'),
                  'slug': 'my-second-entry',
                  'publication_date': datetime(2010, 1, 1, 12),
                  'status': PUBLISHED}
        self.second_entry = Entry.objects.create(**params)
        self.second_entry.sites.add(self.site)
        self.second_entry.categories.add(self.category)
        self.second_entry.authors.add(self.author)
        # Instanciating the server proxy
        self.server = ServerProxy('http://example.com/xmlrpc/',
                                  transport=TestTransport())
Пример #30
0
    def setUp(self):
        disconnect_entry_signals()
        disconnect_discussion_signals()
        self.site = Site.objects.get_current()
        self.author = Author.objects.create(username='******',
                                            email='*****@*****.**')

        params = {'title': 'My test entry',
                  'content': 'My test entry',
                  'slug': 'my-test-entry',
                  'status': PUBLISHED}
        self.entry = Entry.objects.create(**params)
        self.entry.sites.add(self.site)
        self.entry.authors.add(self.author)
    def setUp(self):
        disconnect_entry_signals()
        disconnect_discussion_signals()

        self.site = Site.objects.get_current()
        self.author = Author.objects.create(username='******',
                                            email='*****@*****.**')
        params = {'title': 'My test entry',
                  'content': 'My test entry',
                  'slug': 'my-test-entry',
                  'status': PUBLISHED}
        self.entry = Entry.objects.create(**params)
        self.entry.sites.add(self.site)
        self.entry.authors.add(self.author)
Пример #32
0
    def setUp(self):
        disconnect_entry_signals()
        self.site = Site.objects.get_current()
        self.categories = [Category.objects.create(title='Category 1',
                                                   slug='category-1'),
                           Category.objects.create(title='Category 2',
                                                   slug='category-2')]
        params = {'title': 'My entry',
                  'content': 'My content',
                  'tags': 'zinnia, test',
                  'slug': 'my-entry'}

        self.entry = Entry.objects.create(**params)
        self.entry.categories.add(*self.categories)
        self.entry.sites.add(self.site)
Пример #33
0
    def setUp(self):
        disconnect_entry_signals()
        self.site = Site.objects.get_current()
        self.categories = [
            Category.objects.create(title='Category 1', slug='category-1'),
            Category.objects.create(title='Category 2', slug='category-2')
        ]
        params = {
            'title': 'My entry',
            'content': 'My content',
            'tags': 'zinnia, test',
            'slug': 'my-entry'
        }

        self.entry = Entry.objects.create(**params)
        self.entry.categories.add(*self.categories)
        self.entry.sites.add(self.site)
    def setUp(self):
        disconnect_entry_signals()
        disconnect_discussion_signals()
        setup_test_template_loader(
            {
                "comments/comment_authors_email.txt": "",
                "comments/comment_notification_email.txt": "",
                "comments/comment_reply_email.txt": "",
            }
        )

        self.site = Site.objects.get_current()
        self.author = Author.objects.create(username="******", email="*****@*****.**")
        params = {"title": "My test entry", "content": "My test entry", "slug": "my-test-entry", "status": PUBLISHED}
        self.entry = Entry.objects.create(**params)
        self.entry.sites.add(self.site)
        self.entry.authors.add(self.author)
Пример #35
0
    def setUp(self):
        disconnect_entry_signals()
        # Create data
        self.webmaster = Author.objects.create_superuser(
            username='******',
            email='*****@*****.**',
            password='******')
        self.contributor = Author.objects.create_user(
            username='******',
            email='*****@*****.**',
            password='******')
        self.site = Site.objects.get_current()
        self.categories = [
            Category.objects.create(title='Category 1', slug='category-1'),
            Category.objects.create(title='Category 2', slug='category-2')
        ]
        params = {
            'title': 'My entry 1',
            'content': 'My content 1',
            'tags': 'zinnia, test',
            'slug': 'my-entry-1',
            'publication_date': datetime(2010, 1, 1, 12),
            'creation_date': datetime(2010, 1, 1, 12),
            'status': PUBLISHED
        }
        self.entry_1 = Entry.objects.create(**params)
        self.entry_1.authors.add(self.webmaster)
        self.entry_1.categories.add(*self.categories)
        self.entry_1.sites.add(self.site)

        params = {
            'title': 'My entry 2',
            'content': 'My content 2',
            'publication_date': datetime(2010, 3, 15),
            'creation_date': datetime(2010, 3, 15),
            'tags': 'zinnia, test',
            'slug': 'my-entry-2'
        }
        self.entry_2 = Entry.objects.create(**params)
        self.entry_2.authors.add(self.webmaster)
        self.entry_2.categories.add(self.categories[0])
        self.entry_2.sites.add(self.site)
        # Instanciating the server proxy
        self.server = ServerProxy('http://localhost:8000/xmlrpc/',
                                  transport=TestTransport())
Пример #36
0
    def setUp(self):
        disconnect_entry_signals()
        disconnect_discussion_signals()
        setup_test_template_loader(
            {'comments/comment_authors_email.txt': '',
             'comments/comment_notification_email.txt': '',
             'comments/comment_reply_email.txt': ''})

        self.site = Site.objects.get_current()
        self.author = Author.objects.create(username='******',
                                            email='*****@*****.**')
        params = {'title': 'My test entry',
                  'content': 'My test entry',
                  'slug': 'my-test-entry',
                  'status': PUBLISHED}
        self.entry = Entry.objects.create(**params)
        self.entry.sites.add(self.site)
        self.entry.authors.add(self.author)
Пример #37
0
    def setUp(self):
        disconnect_entry_signals()
        disconnect_discussion_signals()
        setup_test_template_loader(
            {'comments/comment_authors_email.txt': '',
             'comments/comment_notification_email.txt': '',
             'comments/comment_reply_email.txt': ''})

        self.site = Site.objects.get_current()
        self.author = Author.objects.create(username='******',
                                            email='*****@*****.**')
        params = {'title': 'My test entry',
                  'content': 'My test entry',
                  'slug': 'my-test-entry',
                  'status': PUBLISHED}
        self.entry = Entry.objects.create(**params)
        self.entry.sites.add(self.site)
        self.entry.authors.add(self.author)
Пример #38
0
    def setUp(self):
        disconnect_entry_signals()
        self.author = Author.objects.create_superuser(
            username='******',
            email='*****@*****.**',
            password='******'
        )

        self.category = Category.objects.create(
            title='Category', slug='cat'
        )
        params = {
            'title': 'My title',
            'content': 'My content',
            'slug': 'my-title'
        }
        self.entry = Entry.objects.create(**params)
        self.client.force_login(self.author)
Пример #39
0
    def setUp(self):
        disconnect_entry_signals()
        activate('en')
        self.request_factory = RequestFactory()
        self.site = Site.objects.get_current()

        params = {'title': 'My entry 1',
                  'content': 'My content 1',
                  'status': PUBLISHED,
                  'slug': 'my-entry-1'}
        self.entry_1 = Entry.objects.create(**params)
        self.entry_1.sites.add(self.site)

        params = {'title': 'My entry 2',
                  'content': 'My content 2',
                  'status': PUBLISHED,
                  'slug': 'my-entry-2'}
        self.entry_2 = Entry.objects.create(**params)
        self.entry_2.sites.add(self.site)
Пример #40
0
    def setUp(self):
        disconnect_entry_signals()
        # Create data
        self.webmaster = Author.objects.create_superuser(
            username="******", email="*****@*****.**", password="******"
        )
        self.contributor = Author.objects.create_user(
            username="******", email="*****@*****.**", password="******"
        )
        self.site = Site.objects.get_current()
        self.categories = [
            Category.objects.create(title="Category 1", slug="category-1"),
            Category.objects.create(title="Category 2", slug="category-2"),
        ]
        params = {
            "title": "My entry 1",
            "content": "My content 1",
            "tags": "zinnia, test",
            "slug": "my-entry-1",
            "creation_date": datetime(2010, 1, 1, 12),
            "status": PUBLISHED,
        }
        self.entry_1 = Entry.objects.create(**params)
        self.entry_1.authors.add(self.webmaster)
        self.entry_1.categories.add(*self.categories)
        self.entry_1.sites.add(self.site)

        params = {
            "title": "My entry 2",
            "content": "My content 2",
            "creation_date": datetime(2010, 3, 15),
            "tags": "zinnia, test",
            "slug": "my-entry-2",
        }
        self.entry_2 = Entry.objects.create(**params)
        self.entry_2.authors.add(self.webmaster)
        self.entry_2.categories.add(self.categories[0])
        self.entry_2.sites.add(self.site)
        # Instanciating the server proxy
        self.server = ServerProxy("http://localhost:8000/xmlrpc/", transport=TestTransport())
    def setUp(self):
        disconnect_entry_signals()
        # Create data
        self.webmaster = Author.objects.create_superuser(
            username='******',
            email='*****@*****.**',
            password='******')
        self.contributor = Author.objects.create_user(
            username='******',
            email='*****@*****.**',
            password='******')
        self.site = Site.objects.get_current()
        self.categories = [
            Category.objects.create(title='Category 1',
                                    slug='category-1'),
            Category.objects.create(title='Category 2',
                                    slug='category-2')]
        params = {'title': 'My entry 1', 'content': 'My content 1',
                  'tags': 'zinnia, test', 'slug': 'my-entry-1',
                  'publication_date': datetime(2010, 1, 1, 12),
                  'creation_date': datetime(2010, 1, 1, 12),
                  'status': PUBLISHED}
        self.entry_1 = Entry.objects.create(**params)
        self.entry_1.authors.add(self.webmaster)
        self.entry_1.categories.add(*self.categories)
        self.entry_1.sites.add(self.site)

        params = {'title': 'My entry 2', 'content': 'My content 2',
                  'publication_date': datetime(2010, 3, 15),
                  'creation_date': datetime(2010, 3, 15),
                  'tags': 'zinnia, test', 'slug': 'my-entry-2'}
        self.entry_2 = Entry.objects.create(**params)
        self.entry_2.authors.add(self.webmaster)
        self.entry_2.categories.add(self.categories[0])
        self.entry_2.sites.add(self.site)
        # Instanciating the server proxy
        self.server = ServerProxy('http://localhost:8000/xmlrpc/',
                                  transport=TestTransport())
Пример #42
0
 def setUp(self):
     disconnect_entry_signals()
Пример #43
0
 def setUp(self):
     disconnect_entry_signals()
     disconnect_discussion_signals()
 def setUp(self):
     english_stop_words = stop_words('english')
     self.original_stop_words = comparison.STOP_WORDS
     comparison.STOP_WORDS = english_stop_words
     disconnect_entry_signals()
Пример #45
0
 def setUp(self):
     disconnect_entry_signals()
     disconnect_discussion_signals()
     params = {'title': 'My entry', 'status': PUBLISHED, 'slug': 'my-entry'}
     self.entry = Entry.objects.create(**params)
     self.site = Site.objects.get_current()
Пример #46
0
 def setUp(self):
     disconnect_entry_signals()
     disconnect_discussion_signals()
Пример #47
0
 def setUp(self):
     disconnect_entry_signals()
Пример #48
0
 def setUp(self):
     disconnect_entry_signals()
     params = {"title": "My entry", "content": "My content", "tags": "zinnia, test", "slug": "my-entry"}
     self.entry = Entry.objects.create(**params)
Пример #49
0
 def setUp(self):
     english_stop_words = stop_words('english')
     self.original_stop_words = comparison.STOP_WORDS
     comparison.STOP_WORDS = english_stop_words
     disconnect_entry_signals()
Пример #50
0
 def setUp(self):
     disconnect_entry_signals()
     self.site = AdminSite()
     self.admin = EntryAdminTinyMCE(
         Entry, self.site)
Пример #51
0
 def setUp(self):
     disconnect_entry_signals()
     activate('en')
     self.site = AdminSite()
     self.admin = self.admin_class(self.model_class, self.site)
Пример #52
0
 def setUp(self):
     disconnect_entry_signals()
     self.site = AdminSite()
     self.admin = EntryAdminWYMEditor(Entry, self.site)
 def setUp(self):
     disconnect_entry_signals()
     activate('en')
     self.site = AdminSite()
     self.admin = self.admin_class(
         self.model_class, self.site)
Пример #54
0
def suite():
    """Suite of TestCases for Django"""
    suite = TestSuite()
    loader = TestLoader()

    test_cases = (ManagersTestCase, EntryTestCase, LoadModelClassTestCase,
                  SignalsTestCase, EntryHtmlContentTestCase, CategoryTestCase,
                  ZinniaViewsTestCase, ZinniaFeedsTestCase,
                  ZinniaSitemapsTestCase, ComparisonTestCase,
                  DirectoryPingerTestCase, ExternalUrlsPingerTestCase,
                  TemplateTagsTestCase, QuickEntryTestCase,
                  URLShortenerTestCase, EntryCommentModeratorTestCase,
                  ZinniaCustomDetailViews, SpamCheckerTestCase,
                  EntryAdminTestCase, CategoryAdminTestCase, MixinTestCase,
                  LongEnoughTestCase, AuthorTestCase, FlagsTestCase,
                  AuthorListFilterTestCase, CategoryListFilterTestCase,
                  TranslatedURLsTestCase, EntryAbsoluteUrlTestCase)

    if 'django_xmlrpc' in settings.INSTALLED_APPS:
        test_cases += (PingBackTestCase, MetaWeblogTestCase)

    for test_class in test_cases:
        tests = loader.loadTestsFromTestCase(test_class)
        suite.addTests(tests)

    return suite


disconnect_entry_signals()
disconnect_discussion_signals()
Пример #55
0
 def setUp(self):
     disconnect_entry_signals()
     self.site = AdminSite()
     self.admin = EntryAdminMarkItUp(
         Entry, self.site)
Пример #56
0
    """Suite of TestCases for Django"""
    suite = TestSuite()
    loader = TestLoader()

    test_cases = (ManagersTestCase, EntryTestCase,
                  LoadModelClassTestCase, SignalsTestCase,
                  EntryHtmlContentTestCase, CategoryTestCase,
                  ZinniaViewsTestCase, ZinniaFeedsTestCase,
                  ZinniaSitemapsTestCase, ComparisonTestCase,
                  DirectoryPingerTestCase, ExternalUrlsPingerTestCase,
                  TemplateTagsTestCase, QuickEntryTestCase,
                  URLShortenerTestCase, EntryCommentModeratorTestCase,
                  ZinniaCustomDetailViews, SpamCheckerTestCase,
                  EntryAdminTestCase, CategoryAdminTestCase,
                  MixinTestCase, LongEnoughTestCase,
                  AuthorTestCase, FlagsTestCase,
                  AuthorListFilterTestCase, CategoryListFilterTestCase,
                  TranslatedURLsTestCase, EntryAbsoluteUrlTestCase)

    if 'django_xmlrpc' in settings.INSTALLED_APPS:
        test_cases += (PingBackTestCase, MetaWeblogTestCase)

    for test_class in test_cases:
        tests = loader.loadTestsFromTestCase(test_class)
        suite.addTests(tests)

    return suite

disconnect_entry_signals()
disconnect_discussion_signals()