def test_has_atom_url_in_metadata(self): director = self.factory.make_director() self._add_blog_section(director.config.parser) extension = BlogExtension(director.config) extension.on_pre_composition(director) self.assertEqual('https://www.example.com/archive.html', extension.atom_metadata['url'])
def test_requires_atom_url(self): director = self.factory.make_director() self._add_blog_section(director.config.parser, exclude='atom_url') extension = BlogExtension(director.config) with self.assertRaises(AbortError) as error: extension.on_pre_composition(director) self.assertTrue('atom_url' in str(error.exception))
def test_list_output_required_with_list_template(self): director = self.factory.make_director() self._add_blog_section(director.config.parser, exclude='list_output') extension = BlogExtension(director.config) with self.assertRaises(AbortError) as error: extension.on_pre_composition(director) self.assertTrue('list_output' in str(error.exception))
def test_requires_atom_title(self): director = self.factory.make_director() self._add_blog_section(director.config.parser, exclude='atom_title') extension = BlogExtension(director.config) with self.assertRaises(AbortError) as error: extension.on_pre_composition(director) self.assertTrue('atom_title' in str(error.exception))
def test_has_atom_id_in_metadata(self): director = self.factory.make_director() self._add_blog_section(director.config.parser) extension = BlogExtension(director.config) extension.on_pre_composition(director) self.assertEqual( 'https://www.example.com/feed.xml', extension.atom_metadata['id'])
def _make_preprocessed_one(self, director=None, exclude=None): """Make an instance that has all default metadata already parsed.""" if director is None: director = self.factory.make_director() self._add_blog_section(director.config.parser, exclude=exclude) extension = BlogExtension(director.config) extension.on_pre_composition(director) templates = os.path.join(director.site.path, 'templates') os.mkdir(templates) open(os.path.join(templates, 'archive.j2'), 'w').close() return extension
def test_has_list_output_in_extension(self): director = self.factory.make_director() self._add_blog_section(director.config.parser) extension = BlogExtension(director.config) extension.on_pre_composition(director) self.assertEqual('archive.html', extension.list_output)
def test_list_template_not_required(self): director = self.factory.make_director() self._add_blog_section(director.config.parser, exclude='list_template') extension = BlogExtension(director.config) extension.on_pre_composition(director) self.assertIsNone(extension.list_template)
def test_obtains_resolver(self): director = self.factory.make_director() self._add_blog_section(director.config.parser) extension = BlogExtension(director.config) extension.on_pre_composition(director) self.assertTrue(isinstance(extension._resolver, FileResolver))
def test_has_atom_output_in_metadata(self): director = self.factory.make_director() self._add_blog_section(director.config.parser) extension = BlogExtension(director.config) extension.on_pre_composition(director) self.assertEqual('feed.xml', extension.atom_output)
def test_has_atom_author_in_metadata(self): director = self.factory.make_director() self._add_blog_section(director.config.parser) extension = BlogExtension(director.config) extension.on_pre_composition(director) self.assertEqual('Nikola Tesla', extension.atom_metadata['author'])
def test_has_atom_title_in_metadata(self): director = self.factory.make_director() self._add_blog_section(director.config.parser) extension = BlogExtension(director.config) extension.on_pre_composition(director) self.assertEqual('Amazing blog', extension.atom_metadata['title'])