Beispiel #1
0
def test_validation_error_if_no_role_provided_when_manage_false(sample_app):
    # We're indicating that we should not be managing the
    # IAM role, but we're not giving a role ARN to use.
    # This is a validation error.
    config = Config.create(chalice_app=sample_app, manage_iam_role=False)
    with pytest.raises(ValueError):
        validate_configuration(config)
Beispiel #2
0
def test_validation_error_if_no_role_provided_when_manage_false(sample_app):
    # We're indicating that we should not be managing the
    # IAM role, but we're not giving a role ARN to use.
    # This is a validation error.
    config = Config.create(chalice_app=sample_app, manage_iam_role=False)
    with pytest.raises(ValueError):
        validate_configuration(config)
Beispiel #3
0
def test_queue_arn_must_be_arn(sample_app):
    @sample_app.on_sqs_message(
        queue_arn='https://sqs.us-west-2.amazonaws.com/12345/myqueue')
    def handler(event):
        pass

    config = Config.create(chalice_app=sample_app)
    with pytest.raises(ValueError):
        validate_configuration(config)
Beispiel #4
0
def test_validation_error_if_minimum_compression_size_invalid_int(sample_app):
    config = Config.create(chalice_app=sample_app,
                           minimum_compression_size=MIN_COMPRESSION_SIZE - 1)
    with pytest.raises(ValueError):
        validate_configuration(config)

    config = Config.create(chalice_app=sample_app,
                           minimum_compression_size=MAX_COMPRESSION_SIZE + 1)
    with pytest.raises(ValueError):
        validate_configuration(config)
Beispiel #5
0
def test_can_use_queue_arn(sample_app):
    @sample_app.on_sqs_message(queue_arn='arn:sqs:...:myqueue')
    def handler(event):
        pass

    config = Config.create(chalice_app=sample_app)
    assert validate_configuration(config) is None
Beispiel #6
0
def test_validate_env_var_is_string_for_lambda_functions(sample_app):
    @sample_app.lambda_function()
    def foo(event, context):
        pass

    config = Config(
        chalice_stage='dev',
        config_from_disk={
            'stages': {
                'dev': {
                    'lambda_functions': {
                        'foo': {'environment_variables': {'BAR': 2}}}
                }
            }
        },
        user_provided_params={'chalice_app': sample_app}
    )
    with pytest.raises(ValueError):
        validate_configuration(config)
Beispiel #7
0
 def _validate_config(self, config):
     # type: (Config) -> None
     try:
         validate_configuration(config)
     except ValueError as e:
         raise ChaliceDeploymentError(e)
Beispiel #8
0
def test_manage_iam_role_false_requires_role_arn(sample_app):
    config = Config.create(chalice_app=sample_app,
                           manage_iam_role=False,
                           iam_role_arn='arn:::foo')
    assert validate_configuration(config) is None
Beispiel #9
0
def test_trailing_slash_routes_result_in_error():
    app = Chalice('appname')
    app.routes = {'/trailing-slash/': None}
    config = Config.create(chalice_app=app)
    with pytest.raises(ValueError):
        validate_configuration(config)
Beispiel #10
0
def test_validate_environment_variables_value_type_not_str(sample_app):
    config = Config.create(chalice_app=sample_app,
                           environment_variables={"ENV_KEY": 1})
    with pytest.raises(ValueError):
        validate_configuration(config)
Beispiel #11
0
def test_validate_unicode_is_valid_env_var(sample_app):
    config = Config.create(chalice_app=sample_app,
                           environment_variables={"ENV_KEY": u'unicode-val'})
    assert validate_configuration(config) is None
Beispiel #12
0
def test_manage_iam_role_false_requires_role_arn(sample_app):
    config = Config.create(chalice_app=sample_app, manage_iam_role=False,
                           iam_role_arn='arn:::foo')
    assert validate_configuration(config) is None
Beispiel #13
0
def test_empty_route_results_in_error():
    app = Chalice('appname')
    app.routes = {'': {}}
    config = Config.create(chalice_app=app)
    with pytest.raises(ValueError):
        validate_configuration(config)
Beispiel #14
0
def test_valid_minimum_compression_size(sample_app):
    config = Config.create(chalice_app=sample_app, minimum_compression_size=1)
    assert validate_configuration(config) is None
Beispiel #15
0
 def _validate_config(self, config):
     # type: (Config) -> None
     try:
         validate_configuration(config)
     except ValueError as e:
         raise ChaliceDeploymentError(e)
Beispiel #16
0
def test_validation_error_if_minimum_compression_size_not_int(sample_app):
    config = Config.create(chalice_app=sample_app,
                           minimum_compression_size='not int')
    with pytest.raises(ValueError):
        validate_configuration(config)
Beispiel #17
0
def test_empty_route_results_in_error():
    app = Chalice('appname')
    app.routes = {'': {}}
    config = Config.create(chalice_app=app)
    with pytest.raises(ValueError):
        validate_configuration(config)
Beispiel #18
0
def test_trailing_slash_routes_result_in_error():
    app = Chalice('appname')
    app.routes = {'/trailing-slash/': None}
    config = Config.create(chalice_app=app)
    with pytest.raises(ValueError):
        validate_configuration(config)