diff --git a/test-requirements.txt b/test-requirements.txt index 6ec2cdd..55e3fa0 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -1,2 +1,3 @@ codecov mock +six diff --git a/tests.py b/tests.py index 4db0418..7b86310 100644 --- a/tests.py +++ b/tests.py @@ -1,15 +1,13 @@ """Installer unit tests.""" -try: - import configparser -except ImportError: - import ConfigParser as configparser import os import shutil import sys import tempfile import unittest +from six import StringIO +from six.moves import configparser try: from unittest.mock import patch except ImportError: @@ -77,6 +75,22 @@ class ConfigFileTestCase(unittest.TestCase): self.assertEqual( config.get("letsencrypt", "email"), "admin@example.test") + @patch("modoboa_installer.utils.user_input") + def test_configfile_loading(self, mock_user_input): + """Check interactive mode.""" + mock_user_input.side_effect = ["no"] + out = StringIO() + sys.stdout = out + run.main([ + "--configfile", self.cfgfile, + "example.test"]) + self.assertTrue(os.path.exists(self.cfgfile)) + self.assertIn( + "modoboa automx amavis clamav dovecot nginx razor postfix" + " spamassassin uwsgi", + out.getvalue() + ) + if __name__ == "__main__": unittest.main()