aboutsummaryrefslogtreecommitdiffstats
path: root/tests/test_command_init.py
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@unit193.net>2021-02-03 19:17:50 -0500
committerLibravatarUnit 193 <unit193@unit193.net>2021-02-03 19:17:50 -0500
commit475d074fd74425efbe783fad08f97f2df0c4909f (patch)
tree2acdae53999b3c74b716efa4edb5b40311fa356a /tests/test_command_init.py
parentcd502d52787f666fff3254d7d7e7578930c813c2 (diff)
parent3a0d66f07b112b6d2bdc2b57bbf717a89a351ce6 (diff)
Update upstream source from tag 'upstream/8.1.2'
Update to upstream version '8.1.2' with Debian dir e5e966a9e6010ef70618dc9a61558fa4db35aceb
Diffstat (limited to 'tests/test_command_init.py')
-rw-r--r--tests/test_command_init.py228
1 files changed, 129 insertions, 99 deletions
diff --git a/tests/test_command_init.py b/tests/test_command_init.py
index 9270497..96fa78e 100644
--- a/tests/test_command_init.py
+++ b/tests/test_command_init.py
@@ -1,104 +1,134 @@
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals, absolute_import
-
-import os
-import sys
-
-import unittest
-import mock
-
-import nikola
-from nikola.plugins.command.init import SAMPLE_CONF
-from nikola.plugins.command.init import format_default_translations_config
-
-
-class CommandInitCallTest(unittest.TestCase):
- def setUp(self):
- self.ask_questions = mock.MagicMock()
- self.copy_sample_site = mock.MagicMock()
- self.create_configuration = mock.MagicMock()
- self.create_empty_site = mock.MagicMock()
- ask_questions_patch = mock.patch(
- 'nikola.plugins.command.init.CommandInit.ask_questions', self.ask_questions)
- copy_sample_site_patch = mock.patch(
- 'nikola.plugins.command.init.CommandInit.copy_sample_site', self.copy_sample_site)
- create_configuration_patch = mock.patch(
- 'nikola.plugins.command.init.CommandInit.create_configuration', self.create_configuration)
- create_empty_site_patch = mock.patch(
- 'nikola.plugins.command.init.CommandInit.create_empty_site', self.create_empty_site)
-
- self.patches = [ask_questions_patch, copy_sample_site_patch,
- create_configuration_patch, create_empty_site_patch]
- for patch in self.patches:
- patch.start()
-
- self.init_command = nikola.plugins.command.init.CommandInit()
-
- def tearDown(self):
- for patch in self.patches:
- patch.stop()
- del self.patches
-
- del self.copy_sample_site
- del self.create_configuration
- del self.create_empty_site
-
- def test_init_default(self):
- self.init_command.execute()
-
- self.assertTrue(self.ask_questions.called)
- self.assertTrue(self.create_configuration.called)
- self.assertFalse(self.copy_sample_site.called)
- self.assertTrue(self.create_empty_site.called)
-
- def test_init_args(self):
- arguments = dict(options={'demo': True, 'quiet': True}, args=['destination'])
- self.init_command.execute(**arguments)
-
- self.assertFalse(self.ask_questions.called)
- self.assertTrue(self.create_configuration.called)
- self.assertTrue(self.copy_sample_site.called)
- self.assertFalse(self.create_empty_site.called)
-
- def test_init_called_without_target_quiet(self):
- self.init_command.execute(**dict(options={'quiet': True}))
-
- self.assertFalse(self.ask_questions.called)
- self.assertFalse(self.create_configuration.called)
- self.assertFalse(self.copy_sample_site.called)
- self.assertFalse(self.create_empty_site.called)
-
- def test_init_empty_dir(self):
- self.init_command.execute(args=['destination'])
-
- self.assertTrue(self.ask_questions.called)
- self.assertTrue(self.create_configuration.called)
- self.assertFalse(self.copy_sample_site.called)
- self.assertTrue(self.create_empty_site.called)
-
-
-class InitHelperTests(unittest.TestCase):
- """Test helper functions provided with the init command."""
-
- def test_configure_translations_without_additional_languages(self):
- """
- Testing the configuration of the translation when no additional language has been found.
- """
- translations_cfg = format_default_translations_config(set())
- self.assertEqual(SAMPLE_CONF["TRANSLATIONS"], translations_cfg)
-
- def test_configure_translations_with_2_additional_languages(self):
- """
- Testing the configuration of the translation when no additional language has been found.
- """
- translations_cfg = format_default_translations_config(
- set(["es", "en"]))
- self.assertEqual("""{
+from unittest import mock
+
+import pytest
+
+from nikola.plugins.command.init import (
+ SAMPLE_CONF,
+ CommandInit,
+ format_default_translations_config,
+)
+
+from .helper import cd
+
+
+def test_command_init_with_defaults(
+ init_command,
+ ask_questions,
+ copy_sample_site,
+ create_configuration,
+ create_empty_site,
+):
+ init_command.execute()
+
+ assert ask_questions.called
+ assert create_configuration.called
+ assert not copy_sample_site.called
+ assert create_empty_site.called
+
+
+def test_command_init_with_arguments(
+ init_command,
+ ask_questions,
+ copy_sample_site,
+ create_configuration,
+ create_empty_site,
+):
+ arguments = dict(options={"demo": True, "quiet": True}, args=["destination"])
+ init_command.execute(**arguments)
+
+ assert not ask_questions.called
+ assert create_configuration.called
+ assert copy_sample_site.called
+ assert not create_empty_site.called
+
+
+def test_init_called_without_target_quiet(
+ init_command,
+ ask_questions,
+ copy_sample_site,
+ create_configuration,
+ create_empty_site,
+):
+ init_command.execute(**{"options": {"quiet": True}})
+
+ assert not ask_questions.called
+ assert not create_configuration.called
+ assert not copy_sample_site.called
+ assert not create_empty_site.called
+
+
+def test_command_init_with_empty_dir(
+ init_command,
+ ask_questions,
+ copy_sample_site,
+ create_configuration,
+ create_empty_site,
+):
+ init_command.execute(args=["destination"])
+
+ assert ask_questions.called
+ assert create_configuration.called
+ assert not copy_sample_site.called
+ assert create_empty_site.called
+
+
+def test_configure_translations_without_additional_languages():
+ """
+ Testing the configuration of the translation when no additional language has been found.
+ """
+ translations_cfg = format_default_translations_config(set())
+ assert SAMPLE_CONF["TRANSLATIONS"] == translations_cfg
+
+
+def test_configure_translations_with_2_additional_languages():
+ """
+ Testing the configuration of the translation when two additional languages are given.
+ """
+ translations_cfg = format_default_translations_config(set(["es", "en"]))
+ assert translations_cfg == """{
DEFAULT_LANG: "",
"en": "./en",
"es": "./es",
-}""", translations_cfg)
+}"""
-if __name__ == '__main__':
- unittest.main()
+@pytest.fixture
+def init_command(
+ tmpdir, ask_questions, copy_sample_site, create_configuration, create_empty_site
+):
+ with mock.patch(
+ "nikola.plugins.command.init.CommandInit.ask_questions", ask_questions
+ ):
+ with mock.patch(
+ "nikola.plugins.command.init.CommandInit.copy_sample_site", copy_sample_site
+ ):
+ with mock.patch(
+ "nikola.plugins.command.init.CommandInit.create_configuration",
+ create_configuration,
+ ):
+ with mock.patch(
+ "nikola.plugins.command.init.CommandInit.create_empty_site",
+ create_empty_site,
+ ):
+ with cd(str(tmpdir)):
+ yield CommandInit()
+
+
+@pytest.fixture
+def ask_questions():
+ return mock.MagicMock()
+
+
+@pytest.fixture
+def copy_sample_site():
+ return mock.MagicMock()
+
+
+@pytest.fixture
+def create_configuration():
+ return mock.MagicMock()
+
+
+@pytest.fixture
+def create_empty_site():
+ return mock.MagicMock()