def test_cli_inovke_command(): cli_params = Namespace() cli_params.command = 'invoke' cli_params.environment = 'prod' assert isinstance( CliTool(cli_params, valid_cong_file_path()).get_command_instance(), InvokeCommand)
def test_cli_stop_command(monkeypatch): cli_params = Namespace() cli_params.command = 'stop' cli_params.environment = 'prod' assert isinstance( CliTool(cli_params, valid_cong_file_path()).get_command_instance(), StopCommand)
def test_cli_upload_tasks_command(): cli_params = Namespace() cli_params.command = 'upload-tasks' cli_params.environment = 'prod' assert isinstance( CliTool(cli_params, valid_cong_file_path()).get_command_instance(), UploadTasksCommand)
def test_using_custom_settings(): config = CliConfigParser(valid_cong_file_path()).get_config('develop') assert config.bucket == 'test-bucket-all-develop' assert config.alarm_enabled assert config.alarm_email == '*****@*****.**' assert not config.minutes assert config.hours == 1 assert not config.enabled
def test_should_use_custom_and_all_environment_2(): config = CliConfigParser(valid_cong_file_path()).get_config('staging') assert config.bucket == 'test-bucket-all-staging' assert not config.alarm_enabled assert config.alarm_email == '' assert not config.minutes assert config.hours == 2 assert config.enabled
def test_should_use_for_all_environment(): config = CliConfigParser(valid_cong_file_path()).get_config('other') assert config.bucket == 'test-bucket-all-other' assert not config.alarm_enabled assert config.alarm_email == '' assert not config.minutes assert config.hours == 2 assert config.enabled
def test_should_use_custom_for_environment(): config = CliConfigParser(valid_cong_file_path()).get_config('prod') assert config.bucket == 'test-bucket-custom' assert config.alarm_enabled assert config.alarm_email == '*****@*****.**' assert config.minutes == 5 assert not config.hours assert config.enabled
def config_parser(): return CliConfigParser(valid_cong_file_path())
def test_frequency_raise_with_float_value(): config = CliConfigParser( valid_cong_file_path()).get_config('frequency_float') assert config.minutes == 5
def test_frequency_raise_exeption_using_hours_and_minutes(): with pytest.raises(Exception) as exception_info: CliConfigParser( valid_cong_file_path()).get_config('frequency_error_only_one') assert "Only one of 'hours' or 'minutes' must be used for the frequency ('every'). Both are not allowed." in str( exception_info.value)
def test_enabled_raise_exception_when_invalid_values(): with pytest.raises(Exception) as exception_info: CliConfigParser(valid_cong_file_path()).get_config('enabled_bad_value') assert "Settings for 'enabled' must be a bool value" in str( exception_info.value)
def test_alarm_raise_exception_when_alarm_enabled_and_no_email(): with pytest.raises(Exception) as exception_info: CliConfigParser( valid_cong_file_path()).get_config('alarm_enabled_no_email') assert "Email must be provided when alarm is enabled" in str( exception_info.value)
def test_frequency_raise_exeption_invalid_time_key(): with pytest.raises(Exception) as exception_info: CliConfigParser( valid_cong_file_path()).get_config('frequency_invalid_time_key') assert "Invalid time key used for frequency ('every'). Allowed keys: 'hours' or 'minutes'" in str( exception_info.value)