summaryrefslogtreecommitdiff
path: root/test/test_main.py
diff options
context:
space:
mode:
authorSunaina Pai <sunainapai.in@gmail.com>2018-03-17 14:45:21 +0530
committerSunaina Pai <sunainapai.in@gmail.com>2018-03-17 14:45:21 +0530
commit62d0aa159fc046a27bed47e337d787a08f4687d0 (patch)
treec1162f14377890c290d2ad114b3892cbb9848975 /test/test_main.py
Add makesite: A simple static site generator
Diffstat (limited to 'test/test_main.py')
-rw-r--r--test/test_main.py73
1 files changed, 73 insertions, 0 deletions
diff --git a/test/test_main.py b/test/test_main.py
new file mode 100644
index 0000000..50f1cc5
--- /dev/null
+++ b/test/test_main.py
@@ -0,0 +1,73 @@
+import unittest
+import makesite
+import os
+import shutil
+import json
+
+from test import path
+
+
+class MainTest(unittest.TestCase):
+ def setUp(self):
+ path.move('_site', '_site.backup')
+ path.move('params.json', 'params.json.backup')
+
+ def tearDown(self):
+ path.move('_site.backup', '_site')
+ path.move('params.json.backup', 'params')
+
+ def test_site_missing(self):
+ makesite.main()
+
+ def test_site_exists(self):
+ os.mkdir('_site')
+ with open('_site/foo.txt', 'w') as f:
+ f.write('foo')
+
+ self.assertTrue(os.path.isfile('_site/foo.txt'))
+ makesite.main()
+ self.assertFalse(os.path.isfile('_site/foo.txt'))
+
+ def test_default_params(self):
+ makesite.main()
+
+ with open('_site/blog/proin-quam/index.html') as f:
+ s1 = f.read()
+
+ with open('_site/blog/rss.xml') as f:
+ s2 = f.read()
+
+ shutil.rmtree('_site')
+
+ self.assertIn('<a href="/">Home</a>', s1)
+ self.assertIn('<title>Proin Quam - Lorem Ipsum</title>', s1)
+ self.assertIn('Published on 2018-01-01 by <b>Admin</b>', s1)
+
+ self.assertIn('<link>http://localhost:8000/</link>', s2)
+ self.assertIn('<link>http://localhost:8000/blog/proin-quam/</link>', s2)
+
+ def test_json_params(self):
+ params = {
+ 'base_path': '/base',
+ 'subtitle': 'Foo',
+ 'author': 'Bar',
+ 'site_url': 'http://localhost/base'
+ }
+ with open('params.json', 'w') as f:
+ json.dump(params, f)
+ makesite.main()
+
+ with open('_site/blog/proin-quam/index.html') as f:
+ s1 = f.read()
+
+ with open('_site/blog/rss.xml') as f:
+ s2 = f.read()
+
+ shutil.rmtree('_site')
+
+ self.assertIn('<a href="/base/">Home</a>', s1)
+ self.assertIn('<title>Proin Quam - Foo</title>', s1)
+ self.assertIn('Published on 2018-01-01 by <b>Bar</b>', s1)
+
+ self.assertIn('<link>http://localhost/base/</link>', s2)
+ self.assertIn('<link>http://localhost/base/blog/proin-quam/</link>', s2)