class CheckSIT(object): def __init__(self, configs_directory=None, session=None): self.sit_helper = SITHelper(configs_directory) self.ROLES = self.sit_helper.get_roles() self.SIT_CONFIGS = self.sit_helper.get_configs('sit') self.TROPOSPHERE_CONFIGS = self.sit_helper.get_configs('troposphere') self.cf_helper = CFHelper(configs_directory=configs_directory, session=session) def check_configs_are_set(self): missing_configs = [config for config, value in self.SIT_CONFIGS.iteritems() if value is None] if missing_configs: Log.error('The following configs are not set: {0}'.format(missing_configs)) def check_roles_file(self): if self.ROLES < 1: Log.error('roles.yml file is not setup properly. You require at least one role to test') def check_roles_not_empty(self): empty_roles = [role for role in self.ROLES if not self.sit_helper.get_states_for_role(role)] if empty_roles: Log.error('The following servers are missing roles inside of roles.yml file: {0}'.format(empty_roles)) def check_stack_exists(self): stack_name = self.TROPOSPHERE_CONFIGS['stack_name'] if not self.cf_helper.get_stack_info(stack_name): Log.error('Stack "{0}" does not exist. Please run setup_troposphere'.format(stack_name)) def run(self): self.check_configs_are_set() self.check_roles_file() self.check_roles_not_empty() self.check_stack_exists()
def mock_cf_helper_true_responses(self): cf_helper = CFHelper(configs_directory=self.configs_directory, session=self.session) cf_helper.get_stack_info = MagicMock(return_value=False) cf_helper.validate_template = MagicMock(return_value=True) cf_helper.create_or_update_stack = MagicMock(return_value=True) cf_helper.create_stack = MagicMock(return_value=True) cf_helper.stack_was_created_successfully = MagicMock(return_value=True) self.sit_loader.cf_helper = cf_helper
class CheckSIT(object): def __init__(self, configs_directory=None, session=None): self.sit_helper = SITHelper(configs_directory) self.ROLES = self.sit_helper.get_roles() self.SIT_CONFIGS = self.sit_helper.get_configs('sit') self.TROPOSPHERE_CONFIGS = self.sit_helper.get_configs('troposphere') self.cf_helper = CFHelper(configs_directory=configs_directory, session=session) def check_configs_are_set(self): missing_configs = [ config for config, value in self.SIT_CONFIGS.iteritems() if value is None ] if missing_configs: Log.error('The following configs are not set: {0}'.format( missing_configs)) def check_roles_file(self): if self.ROLES < 1: Log.error( 'roles.yml file is not setup properly. You require at least one role to test' ) def check_roles_not_empty(self): empty_roles = [ role for role in self.ROLES if not self.sit_helper.get_states_for_role(role) ] if empty_roles: Log.error( 'The following servers are missing roles inside of roles.yml file: {0}' .format(empty_roles)) def check_stack_exists(self): stack_name = self.TROPOSPHERE_CONFIGS['stack_name'] if not self.cf_helper.get_stack_info(stack_name): Log.error( 'Stack "{0}" does not exist. Please run setup_troposphere'. format(stack_name)) def run(self): self.check_configs_are_set() self.check_roles_file() self.check_roles_not_empty() self.check_stack_exists()