|
@@ -0,0 +1,61 @@
|
|
|
|
+# -*- coding: utf-8 -*-
|
|
|
|
+from __future__ import print_function
|
|
|
|
+
|
|
|
|
+import filecmp
|
|
|
|
+import os
|
|
|
|
+import unittest
|
|
|
|
+from shutil import rmtree
|
|
|
|
+from tempfile import mkdtemp
|
|
|
|
+
|
|
|
|
+import pytest
|
|
|
|
+from pelican import Pelican
|
|
|
|
+from pelican.settings import read_settings
|
|
|
|
+
|
|
|
|
+PLUGIN_DIR = os.path.dirname(__file__)
|
|
|
|
+TEST_DATA_DIR = os.path.join(PLUGIN_DIR, 'test_data')
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+class TestFullRun(unittest.TestCase):
|
|
|
|
+ '''Test running Pelican with the Plugin'''
|
|
|
|
+
|
|
|
|
+ def setUp(self):
|
|
|
|
+ '''Create temporary output and cache folders'''
|
|
|
|
+ self.temp_path = mkdtemp(prefix='pelicantests.')
|
|
|
|
+ self.temp_cache = mkdtemp(prefix='pelican_cache.')
|
|
|
|
+ os.chdir(TEST_DATA_DIR)
|
|
|
|
+
|
|
|
|
+ def tearDown(self):
|
|
|
|
+ '''Remove output and cache folders'''
|
|
|
|
+ rmtree(self.temp_path)
|
|
|
|
+ rmtree(self.temp_cache)
|
|
|
|
+ os.chdir(PLUGIN_DIR)
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ def test_generic_tag_with_config(self):
|
|
|
|
+ '''Test generation of site with a generic tag that reads in a config file.'''
|
|
|
|
+
|
|
|
|
+ base_path = os.path.dirname(os.path.abspath(__file__))
|
|
|
|
+ base_path = os.path.join(base_path, 'test_data')
|
|
|
|
+ content_path = os.path.join(base_path, 'content')
|
|
|
|
+ output_path = os.path.join(base_path, 'output')
|
|
|
|
+ settings_path = os.path.join(base_path, 'pelicanconf.py')
|
|
|
|
+ settings = read_settings(path=settings_path,
|
|
|
|
+ override={'PATH': content_path,
|
|
|
|
+ 'OUTPUT_PATH': self.temp_path,
|
|
|
|
+ 'CACHE_PATH': self.temp_cache,
|
|
|
|
+ }
|
|
|
|
+ )
|
|
|
|
+
|
|
|
|
+ pelican = Pelican(settings)
|
|
|
|
+ pelican.run()
|
|
|
|
+
|
|
|
|
+ assert os.path.exists(os.path.join(self.temp_path,
|
|
|
|
+ 'test-generic-config-tag.html'))
|
|
|
|
+
|
|
|
|
+ assert "Tester" in open(os.path.join(self.temp_path,
|
|
|
|
+ 'test-generic-config-tag.html')).read()
|
|
|
|
+ # test differences
|
|
|
|
+ #assert filecmp.cmp(os.path.join(output_path,
|
|
|
|
+ # 'test-ipython-notebook-v3.html'),
|
|
|
|
+ # os.path.join(self.temp_path,
|
|
|
|
+ # 'test-ipython-notebook.html'))
|