def setUp(self): self.fixture_dir = join(dirname(abspath(__file__)), 'fixtures', 'general') self.settings = dict(project_dir=self.fixture_dir, input_dir=self.fixture_dir, output_dir=self.fixture_dir, date_format='%Y-%m-%d') self.site = Site(self.settings) self.site._parse(self.site._read_input())
def test_empty_input_dir(self): """ Given an empty or nonexisting input directory test that an empty dict is returned. """ settings = self.settings settings['input_dir'] = join(self.fixture_dir, 'DFGHJK') site = Site(self.settings) self.assertEqual({}, site._read_input())
def test_hidden_files_and_directories(self): """ Given an input directory that has hidden files and directories. The returned data shouldn't include them. """ settings = self.settings settings['input_dir'] = join(self.fixture_dir, 'hidden') site = Site(self.settings) self.assertEqual({}, site._read_input())
def setUp(self): project_dir = join(dirname(abspath(__file__)), 'fixtures', 'parse') self.settings = dict(project_dir=project_dir, input_dir=join(project_dir, 'input'), output_dir=join(project_dir, 'output'), date_format='%Y-%m-%d') self.site = Site(self.settings) input_data = self.site._read_input() self.site._parse(input_data)
def test_associate_in_same_dir(self): """ Given an input directory that has an article with media files in a subdirectory. The files should be associated. """ settings = self.settings settings['input_dir'] = join(self.fixture_dir, 'same_dir') site = Site(self.settings) result = site._read_input() article_dir = join(settings['input_dir'], 'some-article') expected_articles = [join(article_dir, 'index.rst')] expected_media = [join(article_dir, 'media')] expected = (expected_articles, expected_media) self.assertEqual(result[article_dir], expected)
def test_not_associate_in_root_input_dir(self): """ Given an input directory that has articles and media files in the top level directory. The files should not be associated. """ settings = self.settings settings['input_dir'] = join(self.fixture_dir, 'no_root_assoc') site = Site(self.settings) result = site._read_input() expected_articles = [join(settings['input_dir'], 'article.rst')] expected_media = [join(settings['input_dir'], f) for f in ('media1', 'media2')] expected = (expected_articles, expected_media) self.assertEqual(result[settings['input_dir']], expected)
def test_associate_with_root_if_no_parent_article(self): """ Given an input directory that has media files in a subdirectory. The media files have no article in the parent directories and should be associated with the root input dir. """ settings = self.settings settings['input_dir'] = join(self.fixture_dir, 'no_parent_article') site = Site(self.settings) result = site._read_input() expected_articles = [] expected_media = [join(settings['input_dir'], 'media', 'images', 'file')] expected = (expected_articles, expected_media) self.assertEqual(result[settings['input_dir']], expected)
def test_associate_with_article_in_parent_dir(self): """ Given an input directory that has an article in a subdirectory. The article has media files in subdirectory. The media files should be associated with the article in the parent dir. """ settings = self.settings settings['input_dir'] = join(self.fixture_dir, 'parent_dir') site = Site(self.settings) result = site._read_input() article_dir = join(settings['input_dir'], 'article') expected_articles = [join(article_dir, 'index.rst')] expected_media = [join(article_dir, 'media', 'mediafile')] expected = (expected_articles, expected_media) self.assertEqual(result[article_dir], expected)
def setUp(self): self.settings = dict(input_dir='/input/', output_dir='/output/') self.site = Site(self.settings)
from os.path import join, dirname, abspath import unittest from datetime import datetime from lanyon.app import Site FIXTURE_DIR = join(dirname(abspath(__file__)), 'fixtures', 'default_headers') SETTINGS = {'input_dir': '/default_headers'} site = Site(SETTINGS) class DefaultHeaderTests(unittest.TestCase): """Tests for the default headers""" def test_values(self): """Test that the returned headers are valid.""" input_filename = join(SETTINGS['input_dir'], 'foobar.rst') result = site._get_default_headers(input_filename) expected = { 'status': 'live', 'template': 'default.html', 'title': 'Foobar', 'url': 'default', 'slug': 'foobar' } for key in expected: self.assertEquals(expected[key], result[key]) self.assert_(isinstance(result['date'], datetime)) class SlugDefaultHeaderTests(unittest.TestCase): """Tests for the slug header default""" def test_filename_as_slug(self):