2016-09-06 00:08:02 +00:00
|
|
|
# -*- coding: utf-8 -*-
|
|
|
|
'''
|
|
|
|
Unit tests for the files in the salt/conf directory.
|
|
|
|
'''
|
|
|
|
|
|
|
|
# Import Python libs
|
|
|
|
from __future__ import absolute_import
|
|
|
|
import os
|
|
|
|
|
|
|
|
# Import Salt Testing libs
|
2017-02-27 13:58:07 +00:00
|
|
|
from tests.support.unit import skipIf, TestCase
|
|
|
|
from tests.support.mock import (
|
2016-09-06 00:08:02 +00:00
|
|
|
NO_MOCK,
|
|
|
|
NO_MOCK_REASON,
|
|
|
|
)
|
|
|
|
|
|
|
|
# Import Salt libs
|
|
|
|
import salt.config
|
|
|
|
|
|
|
|
SAMPLE_CONF_DIR = os.path.dirname(os.path.realpath(__file__)).split('tests')[0] + 'conf/'
|
|
|
|
|
|
|
|
|
|
|
|
@skipIf(NO_MOCK, NO_MOCK_REASON)
|
|
|
|
class ConfTest(TestCase):
|
|
|
|
'''
|
|
|
|
Validate files in the salt/conf directory.
|
|
|
|
'''
|
|
|
|
|
|
|
|
def test_conf_master_sample_is_commented(self):
|
|
|
|
'''
|
|
|
|
The sample config file located in salt/conf/master must be completely
|
|
|
|
commented out. This test checks for any lines that are not commented or blank.
|
|
|
|
'''
|
|
|
|
master_config = SAMPLE_CONF_DIR + 'master'
|
|
|
|
ret = salt.config._read_conf_file(master_config)
|
|
|
|
self.assertEqual(
|
|
|
|
ret,
|
|
|
|
{},
|
|
|
|
'Sample config file \'{0}\' must be commented out.'.format(
|
|
|
|
master_config
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
def test_conf_minion_sample_is_commented(self):
|
|
|
|
'''
|
|
|
|
The sample config file located in salt/conf/minion must be completely
|
|
|
|
commented out. This test checks for any lines that are not commented or blank.
|
|
|
|
'''
|
|
|
|
minion_config = SAMPLE_CONF_DIR + 'minion'
|
|
|
|
ret = salt.config._read_conf_file(minion_config)
|
|
|
|
self.assertEqual(
|
|
|
|
ret,
|
|
|
|
{},
|
|
|
|
'Sample config file \'{0}\' must be commented out.'.format(
|
|
|
|
minion_config
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
def test_conf_cloud_sample_is_commented(self):
|
|
|
|
'''
|
|
|
|
The sample config file located in salt/conf/cloud must be completely
|
|
|
|
commented out. This test checks for any lines that are not commented or blank.
|
|
|
|
'''
|
|
|
|
cloud_config = SAMPLE_CONF_DIR + 'cloud'
|
|
|
|
ret = salt.config._read_conf_file(cloud_config)
|
|
|
|
self.assertEqual(
|
|
|
|
ret,
|
|
|
|
{},
|
|
|
|
'Sample config file \'{0}\' must be commented out.'.format(
|
|
|
|
cloud_config
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
def test_conf_cloud_profiles_sample_is_commented(self):
|
|
|
|
'''
|
|
|
|
The sample config file located in salt/conf/cloud.profiles must be completely
|
|
|
|
commented out. This test checks for any lines that are not commented or blank.
|
|
|
|
'''
|
|
|
|
cloud_profiles_config = SAMPLE_CONF_DIR + 'cloud.profiles'
|
|
|
|
ret = salt.config._read_conf_file(cloud_profiles_config)
|
|
|
|
self.assertEqual(
|
|
|
|
ret,
|
|
|
|
{},
|
|
|
|
'Sample config file \'{0}\' must be commented out.'.format(
|
|
|
|
cloud_profiles_config
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
def test_conf_cloud_providers_sample_is_commented(self):
|
|
|
|
'''
|
|
|
|
The sample config file located in salt/conf/cloud.providers must be completely
|
|
|
|
commented out. This test checks for any lines that are not commented or blank.
|
|
|
|
'''
|
|
|
|
cloud_providers_config = SAMPLE_CONF_DIR + 'cloud.providers'
|
|
|
|
ret = salt.config._read_conf_file(cloud_providers_config)
|
|
|
|
self.assertEqual(
|
|
|
|
ret,
|
|
|
|
{},
|
|
|
|
'Sample config file \'{0}\' must be commented out.'.format(
|
|
|
|
cloud_providers_config
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
def test_conf_proxy_sample_is_commented(self):
|
|
|
|
'''
|
|
|
|
The sample config file located in salt/conf/proxy must be completely
|
|
|
|
commented out. This test checks for any lines that are not commented or blank.
|
|
|
|
'''
|
|
|
|
proxy_config = SAMPLE_CONF_DIR + 'proxy'
|
|
|
|
ret = salt.config._read_conf_file(proxy_config)
|
|
|
|
self.assertEqual(
|
|
|
|
ret,
|
|
|
|
{},
|
|
|
|
'Sample config file \'{0}\' must be commented out.'.format(
|
|
|
|
proxy_config
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
def test_conf_roster_sample_is_commented(self):
|
|
|
|
'''
|
|
|
|
The sample config file located in salt/conf/roster must be completely
|
|
|
|
commented out. This test checks for any lines that are not commented or blank.
|
|
|
|
'''
|
|
|
|
roster_config = SAMPLE_CONF_DIR + 'roster'
|
|
|
|
ret = salt.config._read_conf_file(roster_config)
|
|
|
|
self.assertEqual(
|
|
|
|
ret,
|
|
|
|
{},
|
|
|
|
'Sample config file \'{0}\' must be commented out.'.format(
|
|
|
|
roster_config
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
2016-09-06 01:11:19 +00:00
|
|
|
def test_conf_cloud_profiles_d_files_are_commented(self):
|
|
|
|
'''
|
|
|
|
All cloud profile sample configs in salt/conf/cloud.profiles.d/* must be completely
|
|
|
|
commented out. This test loops through all of the files in that directory to check
|
|
|
|
for any lines that are not commented or blank.
|
|
|
|
'''
|
|
|
|
cloud_sample_files = os.listdir(SAMPLE_CONF_DIR + 'cloud.profiles.d/')
|
|
|
|
for conf_file in cloud_sample_files:
|
|
|
|
profile_conf = SAMPLE_CONF_DIR + 'cloud.profiles.d/' + conf_file
|
|
|
|
ret = salt.config._read_conf_file(profile_conf)
|
|
|
|
self.assertEqual(
|
|
|
|
ret,
|
|
|
|
{},
|
|
|
|
'Sample config file \'{0}\' must be commented out.'.format(
|
|
|
|
conf_file
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
def test_conf_cloud_providers_d_files_are_commented(self):
|
|
|
|
'''
|
|
|
|
All cloud profile sample configs in salt/conf/cloud.providers.d/* must be completely
|
|
|
|
commented out. This test loops through all of the files in that directory to check
|
|
|
|
for any lines that are not commented or blank.
|
|
|
|
'''
|
|
|
|
cloud_sample_files = os.listdir(SAMPLE_CONF_DIR + 'cloud.providers.d/')
|
|
|
|
for conf_file in cloud_sample_files:
|
|
|
|
provider_conf = SAMPLE_CONF_DIR + 'cloud.providers.d/' + conf_file
|
|
|
|
ret = salt.config._read_conf_file(provider_conf)
|
|
|
|
self.assertEqual(
|
|
|
|
ret,
|
|
|
|
{},
|
|
|
|
'Sample config file \'{0}\' must be commented out.'.format(
|
|
|
|
conf_file
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
def test_conf_cloud_maps_d_files_are_commented(self):
|
|
|
|
'''
|
|
|
|
All cloud profile sample configs in salt/conf/cloud.maps.d/* must be completely
|
|
|
|
commented out. This test loops through all of the files in that directory to check
|
|
|
|
for any lines that are not commented or blank.
|
|
|
|
'''
|
|
|
|
cloud_sample_files = os.listdir(SAMPLE_CONF_DIR + 'cloud.maps.d/')
|
|
|
|
for conf_file in cloud_sample_files:
|
|
|
|
map_conf = SAMPLE_CONF_DIR + 'cloud.maps.d/' + conf_file
|
|
|
|
ret = salt.config._read_conf_file(map_conf)
|
|
|
|
self.assertEqual(
|
|
|
|
ret,
|
|
|
|
{},
|
|
|
|
'Sample config file \'{0}\' must be commented out.'.format(
|
|
|
|
conf_file
|
|
|
|
)
|
|
|
|
)
|