def main(): parser = setup_parser() options = parser.parse_args() module_dir = os.path.dirname(os.path.abspath(__file__)) default_templates = [ os.path.abspath(os.path.join(module_dir, 'msg-templates')), os.path.abspath(os.path.join(module_dir, '..', 'msg-templates')), os.path.abspath('.') ] templates = options.templates if templates: default_templates.append( os.path.abspath(os.path.expanduser(os.path.expandvars(templates))) ) log_format = '%(asctime)s - %(name)s - %(levelname)s - %(message)s' logging.basicConfig(level=logging.DEBUG, format=log_format) logging.getLogger('botocore').setLevel(logging.WARNING) with open(options.config) as fh: config = yaml.load(fh.read(), Loader=yaml.SafeLoader) jsonschema.validate(config, CONFIG_SCHEMA) setup_defaults(config) config['templates_folders'] = default_templates tester = MailerTester( options.MESSAGE_FILE, config, msg_plain=options.plain, json_dump_file=options.json_dump_file ) tester.run(options.dry_run, options.print_only)
def test_config_defaults(self): config = MAILER_CONFIG utils.setup_defaults(config) self.assertEqual([ config.get('region'), config.get('ses_region'), config.get('memory'), config.get('runtime'), config.get('timeout'), config.get('subnets'), config.get('security_groups'), config.get('contact_tags'), config.get('ldap_uri'), config.get('ldap_bind_dn'), config.get('ldap_bind_user'), config.get('ldap_bind_password'), config.get('datadog_api_key'), config.get('slack_token'), config.get('slack_webhook'), config.get('queue_url') ], [ 'us-east-1', config.get('region'), 1024, 'python3.7', 300, None, None, MAILER_CONFIG['contact_tags'], MAILER_CONFIG['ldap_uri'], None, None, None, None, None, None, MAILER_CONFIG['queue_url'] ])
def test_config_defaults(): config = {} utils.setup_defaults(config) for k, v in list(config.items()): if v is None: config.pop(k) assert config == dict(region='us-east-1', ses_region='us-east-1', memory=1024, timeout=300, runtime='python3.7', contact_tags=[])
def main(): parser = setup_parser() options = parser.parse_args() log_format = '%(asctime)s - %(name)s - %(levelname)s - %(message)s' logging.basicConfig(level=logging.DEBUG, format=log_format) logging.getLogger('botocore').setLevel(logging.WARNING) with open(options.config) as fh: config = yaml.load(fh.read(), Loader=yaml.SafeLoader) jsonschema.validate(config, CONFIG_SCHEMA) setup_defaults(config) tester = MailerTester(options.MESSAGE_FILE, config, msg_plain=options.plain) tester.run(options.dry_run, options.print_only)
def main(): parser = setup_parser() options = parser.parse_args() log_format = '%(asctime)s - %(name)s - %(levelname)s - %(message)s' logging.basicConfig(level=logging.DEBUG, format=log_format) logging.getLogger('botocore').setLevel(logging.WARNING) with open(options.config) as fh: config = yaml.load(fh.read(), Loader=yaml.SafeLoader) jsonschema.validate(config, CONFIG_SCHEMA) setup_defaults(config) tester = MailerTester( options.MESSAGE_FILE, config, msg_plain=options.plain, json_dump_file=options.json_dump_file ) tester.run(options.dry_run, options.print_only)
def main(): parser = setup_parser() options = parser.parse_args() import logging logging.basicConfig(level=logging.DEBUG) logging.getLogger('botocore').setLevel(logging.WARNING) with open(options.config) as fh: config = yaml.load(fh.read(), Loader=yaml.SafeLoader) jsonschema.validate(config, CONFIG_SCHEMA) utils.setup_defaults(config) try: deploy.provision(config, functools.partial(session_factory, config)) except Exception: import traceback, pdb, sys traceback.print_exc() pdb.post_mortem(sys.exc_info()[-1])
def get_and_validate_mailer_config(args): with open(args.config) as fh: config = yaml.load(fh.read(), Loader=yaml.SafeLoader) jsonschema.validate(config, CONFIG_SCHEMA) utils.setup_defaults(config) return config