mirror of
https://github.com/getpelican/pelican.git
synced 2025-10-15 20:28:56 +02:00
start functional testing
This commit is contained in:
parent
d6be2fb44c
commit
fbf89687cc
2 changed files with 49 additions and 0 deletions
18
tests/support.py
Normal file
18
tests/support.py
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
from contextlib import contextmanager
|
||||||
|
|
||||||
|
from tempfile import mkdtemp
|
||||||
|
from shutil import rmtree
|
||||||
|
|
||||||
|
|
||||||
|
@contextmanager
|
||||||
|
def temporary_folder():
|
||||||
|
"""creates a temporary folder, return it and delete it afterwards.
|
||||||
|
|
||||||
|
This allows to do something like this in tests:
|
||||||
|
|
||||||
|
>>> with temporary_folder() as d:
|
||||||
|
# do whatever you want
|
||||||
|
"""
|
||||||
|
tempdir = mkdtemp()
|
||||||
|
yield tempdir
|
||||||
|
rmtree(tempdir)
|
||||||
31
tests/test_pelican.py
Normal file
31
tests/test_pelican.py
Normal file
|
|
@ -0,0 +1,31 @@
|
||||||
|
import unittest
|
||||||
|
import os
|
||||||
|
|
||||||
|
from support import temporary_folder
|
||||||
|
|
||||||
|
from pelican import Pelican
|
||||||
|
from pelican.settings import read_settings
|
||||||
|
|
||||||
|
SAMPLES_PATH = os.path.abspath(os.sep.join(
|
||||||
|
(os.path.dirname(os.path.abspath(__file__)), "..", "samples")))
|
||||||
|
|
||||||
|
INPUT_PATH = os.path.join(SAMPLES_PATH, "content")
|
||||||
|
SAMPLE_CONFIG = os.path.join(SAMPLES_PATH, "pelican.conf.py")
|
||||||
|
|
||||||
|
|
||||||
|
class TestPelican(unittest.TestCase):
|
||||||
|
# general functional testing for pelican. Basically, this test case tries
|
||||||
|
# to run pelican in different situations and see how it behaves
|
||||||
|
|
||||||
|
def test_basic_generation_works(self):
|
||||||
|
# when running pelican without settings, it should pick up the default
|
||||||
|
# ones and generate the output without raising any exception / issuing
|
||||||
|
# any warning.
|
||||||
|
with temporary_folder() as temp_path:
|
||||||
|
pelican = Pelican(path=INPUT_PATH, output_path=temp_path)
|
||||||
|
pelican.run()
|
||||||
|
|
||||||
|
# the same thing with a specified set of settins should work
|
||||||
|
with temporary_folder() as temp_path:
|
||||||
|
pelican = Pelican(path=INPUT_PATH, output_path=temp_path,
|
||||||
|
settings=read_settings(SAMPLE_CONFIG))
|
||||||
Loading…
Add table
Add a link
Reference in a new issue