change the tests to use the mock library instead of a custom mocking system

This commit is contained in:
Alexis Metaireau 2012-03-11 11:25:30 +01:00
commit 3c983d62c9
2 changed files with 10 additions and 17 deletions

View file

@ -1,36 +1,28 @@
# -*- coding: utf-8 -*-
from __future__ import with_statement
try:
from unittest2 import TestCase
import unittest2 as unittest
except ImportError, e:
from unittest import TestCase
import unittest # NOQA
from pelican.generators import ArticlesGenerator
from pelican.settings import _DEFAULT_CONFIG
class TestArticlesGenerator(TestCase):
from mock import MagicMock
class TestArticlesGenerator(unittest.TestCase):
def test_generate_feeds(self):
class FakeWriter(object):
def __init__(self):
self.called = False
def write_feed(self, *args, **kwargs):
self.called = True
generator = ArticlesGenerator(None, {'FEED': _DEFAULT_CONFIG['FEED']},
None, _DEFAULT_CONFIG['THEME'], None,
None)
writer = FakeWriter()
writer = MagicMock()
generator.generate_feeds(writer)
assert writer.called, ("The feed should be written, "
"if settings['FEED'] is specified.")
writer.write_feed.assert_called_with([], None, 'feeds/all.atom.xml')
generator = ArticlesGenerator(None, {'FEED': None}, None,
_DEFAULT_CONFIG['THEME'], None, None)
writer = FakeWriter()
writer = MagicMock()
generator.generate_feeds(writer)
assert not writer.called, ("If settings['FEED'] is None, "
"the feed should not be generated.")
self.assertFalse(writer.write_feed.called)