diff options
Diffstat (limited to 'certbot-apache/certbot_apache/tests/gentoo_test.py')
-rw-r--r-- | certbot-apache/certbot_apache/tests/gentoo_test.py | 135 |
1 files changed, 0 insertions, 135 deletions
diff --git a/certbot-apache/certbot_apache/tests/gentoo_test.py b/certbot-apache/certbot_apache/tests/gentoo_test.py deleted file mode 100644 index f09d742a4..000000000 --- a/certbot-apache/certbot_apache/tests/gentoo_test.py +++ /dev/null @@ -1,135 +0,0 @@ -"""Test for certbot_apache.configurator for Gentoo overrides""" -import os -import unittest - -import mock - -from certbot import errors - -from certbot_apache import override_gentoo -from certbot_apache import obj -from certbot_apache.tests import util - -def get_vh_truth(temp_dir, config_name): - """Return the ground truth for the specified directory.""" - prefix = os.path.join( - temp_dir, config_name, "apache2/vhosts.d") - - aug_pre = "/files" + prefix - vh_truth = [ - obj.VirtualHost( - os.path.join(prefix, "gentoo.example.com.conf"), - os.path.join(aug_pre, "gentoo.example.com.conf/VirtualHost"), - set([obj.Addr.fromstring("*:80")]), - False, True, "gentoo.example.com"), - obj.VirtualHost( - os.path.join(prefix, "00_default_vhost.conf"), - os.path.join(aug_pre, "00_default_vhost.conf/IfDefine/VirtualHost"), - set([obj.Addr.fromstring("*:80")]), - False, True, "localhost"), - obj.VirtualHost( - os.path.join(prefix, "00_default_ssl_vhost.conf"), - os.path.join(aug_pre, - "00_default_ssl_vhost.conf" + - "/IfDefine/IfDefine/IfModule/VirtualHost"), - set([obj.Addr.fromstring("_default_:443")]), - True, True, "localhost") - ] - return vh_truth - -class MultipleVhostsTestGentoo(util.ApacheTest): - """Multiple vhost tests for non-debian distro""" - - _multiprocess_can_split_ = True - - def setUp(self): # pylint: disable=arguments-differ - test_dir = "gentoo_apache/apache" - config_root = "gentoo_apache/apache/apache2" - vhost_root = "gentoo_apache/apache/apache2/vhosts.d" - super(MultipleVhostsTestGentoo, self).setUp(test_dir=test_dir, - config_root=config_root, - vhost_root=vhost_root) - - with mock.patch("certbot_apache.override_gentoo.GentooParser.update_runtime_variables"): - self.config = util.get_apache_configurator( - self.config_path, self.vhost_path, self.config_dir, self.work_dir, - os_info="gentoo") - self.vh_truth = get_vh_truth( - self.temp_dir, "gentoo_apache/apache") - - def test_get_parser(self): - self.assertTrue(isinstance(self.config.parser, - override_gentoo.GentooParser)) - - def test_get_virtual_hosts(self): - """Make sure all vhosts are being properly found.""" - vhs = self.config.get_virtual_hosts() - self.assertEqual(len(vhs), 3) - found = 0 - - for vhost in vhs: - for gentoo_truth in self.vh_truth: - if vhost == gentoo_truth: - found += 1 - break - else: - raise Exception("Missed: %s" % vhost) # pragma: no cover - self.assertEqual(found, 3) - - def test_get_sysconfig_vars(self): - """Make sure we read the Gentoo APACHE2_OPTS variable correctly""" - defines = ['DEFAULT_VHOST', 'INFO', - 'SSL', 'SSL_DEFAULT_VHOST', 'LANGUAGE'] - self.config.parser.apacheconfig_filep = os.path.realpath( - os.path.join(self.config.parser.root, "../conf.d/apache2")) - self.config.parser.variables = {} - with mock.patch("certbot_apache.override_gentoo.GentooParser.update_modules"): - self.config.parser.update_runtime_variables() - for define in defines: - self.assertTrue(define in self.config.parser.variables.keys()) - - @mock.patch("certbot_apache.parser.ApacheParser.parse_from_subprocess") - def test_no_binary_configdump(self, mock_subprocess): - """Make sure we don't call binary dumps other than modules from Apache - as this is not supported in Gentoo currently""" - - with mock.patch("certbot_apache.override_gentoo.GentooParser.update_modules"): - self.config.parser.update_runtime_variables() - self.config.parser.reset_modules() - self.assertFalse(mock_subprocess.called) - - self.config.parser.update_runtime_variables() - self.config.parser.reset_modules() - self.assertTrue(mock_subprocess.called) - - @mock.patch("certbot_apache.parser.ApacheParser._get_runtime_cfg") - def test_opportunistic_httpd_runtime_parsing(self, mock_get): - mod_val = ( - 'Loaded Modules:\n' - ' mock_module (static)\n' - ' another_module (static)\n' - ) - def mock_get_cfg(command): - """Mock httpd process stdout""" - if command == ['apache2ctl', 'modules']: - return mod_val - mock_get.side_effect = mock_get_cfg - self.config.parser.modules = set() - - with mock.patch("certbot.util.get_os_info") as mock_osi: - # Make sure we have the have the Gentoo httpd constants - mock_osi.return_value = ("gentoo", "123") - self.config.parser.update_runtime_variables() - - self.assertEqual(mock_get.call_count, 1) - self.assertEqual(len(self.config.parser.modules), 4) - self.assertTrue("mod_another.c" in self.config.parser.modules) - - @mock.patch("certbot_apache.configurator.util.run_script") - def test_alt_restart_works(self, mock_run_script): - mock_run_script.side_effect = [None, errors.SubprocessError, None] - self.config.restart() - self.assertEqual(mock_run_script.call_count, 3) - -if __name__ == "__main__": - unittest.main() # pragma: no cover |