Index: tests/test_generate_pages.py |
diff --git a/tests/test_generate_pages.py b/tests/test_generate_pages.py |
new file mode 100644 |
index 0000000000000000000000000000000000000000..34ec3b3c2a403e3e2406d7730c90f8defdbf99ef |
--- /dev/null |
+++ b/tests/test_generate_pages.py |
@@ -0,0 +1,60 @@ |
+# This file is part of the Adblock Plus web scripts, |
Vasily Kuznetsov
2018/09/24 11:58:47
This file contains the tests specifically for this
Tudor Avram
2018/09/24 16:10:00
Done.
|
+# Copyright (C) 2006-present eyeo GmbH |
+# |
+# Adblock Plus is free software: you can redistribute it and/or modify |
+# it under the terms of the GNU General Public License version 3 as |
+# published by the Free Software Foundation. |
+# |
+# Adblock Plus is distributed in the hope that it will be useful, |
+# but WITHOUT ANY WARRANTY; without even the implied warranty of |
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
+# GNU General Public License for more details. |
+# |
+# You should have received a copy of the GNU General Public License |
+# along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>. |
+import pytest |
Vasily Kuznetsov
2018/09/24 11:58:47
The import order should be stdlib, 3-rd party libs
Tudor Avram
2018/09/24 14:04:51
Done.
|
+ |
+import os |
+ |
+ |
+@pytest.fixture(scope='session') |
+def target_dir_with_file(temp_site): |
Vasily Kuznetsov
2018/09/24 11:58:47
Here and in the following fixture, it seems like y
Tudor Avram
2018/09/24 14:04:51
Done.
|
+ target_dir = os.path.join(os.path.dirname(temp_site), 'out_file') |
+ os.makedirs(os.path.join(target_dir, 'en')) |
+ |
+ with open(os.path.join(target_dir, 'en', 'foo'), 'w') as f: |
+ f.write('test\n') |
+ |
+ yield target_dir |
+ |
+ |
+@pytest.fixture(scope='session') |
+def target_dir_with_dir(temp_site): |
+ target_dir = os.path.join(os.path.dirname(temp_site), 'out_dir') |
+ os.makedirs(os.path.join(target_dir, 'en', 'translate')) |
+ |
+ yield target_dir |
+ |
+ |
+@pytest.mark.script_launch_mode('subprocess') |
+def test_generate_dir_instead_of_file(temp_site, target_dir_with_file, |
+ script_runner): |
+ cmd = ['python', '-m', 'cms.bin.generate_static_pages', str(temp_site), |
+ str(target_dir_with_file)] |
+ |
+ script_runner.run(*cmd) |
+ |
+ print(os.listdir(os.path.join(target_dir_with_file, 'en', 'foo'))) |
Vasily Kuznetsov
2018/09/24 11:58:47
Do we need this print once the test is passing?
Tudor Avram
2018/09/24 14:04:51
oops, no. Forgot to remove it.
Done.
|
+ |
+ assert os.path.isdir(os.path.join(target_dir_with_file, 'en', 'foo')) |
+ |
+ |
+@pytest.mark.script_launch_mode('subprocess') |
+def test_generate_file_instead_of_dir(temp_site, target_dir_with_dir, |
+ script_runner): |
+ cmd = ['python', '-m', 'cms.bin.generate_static_pages', str(temp_site), |
+ str(target_dir_with_dir)] |
+ |
+ script_runner.run(*cmd) |
+ |
+ assert os.path.isfile(os.path.join(target_dir_with_dir, 'en', 'translate')) |