Skip to content

Commit

Permalink
Opt in services to the test selection (#10867)
Browse files Browse the repository at this point in the history
Co-authored-by: Benjamin Simon <benjh.simon@gmail.com>
Co-authored-by: sannya-singal <sannyasingal@gmail.com>
Co-authored-by: Daniel Fangl <daniel.fangl@localstack.cloud>
Co-authored-by: macnev2013 <macnev2013@gmail.com>
Co-authored-by: Giovanni Grano <me@giograno.com>
  • Loading branch information
6 people committed May 28, 2024
1 parent 7baadc9 commit c41a677
Show file tree
Hide file tree
Showing 2 changed files with 52 additions and 12 deletions.
43 changes: 32 additions & 11 deletions localstack-core/localstack/testing/testselection/opt_in.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,39 +9,60 @@

OPT_IN = [
# acm
"localstack/services/acm/**",
"localstack-core/localstack/services/acm/**",
"tests/aws/services/acm/**",
# cloudformation
# probably the riskiest here since CFn tests are not as isolated as the rest
"localstack/services/cloudformation/**",
"localstack-core/localstack/services/cloudformation/**",
"tests/aws/services/cloudformation/**",
# elasticsearch
"localstack/services/es/**",
"localstack-core/localstack/services/es/**",
"tests/aws/services/es/**",
# IAM
"localstack-core/localstack/services/iam/**",
"tests/aws/services/iam/**",
# lambda
"localstack/services/lambda_/**",
"localstack-core/localstack/services/lambda_/**",
"tests/aws/services/lambda_/**",
# sns
"localstack/services/sns/**",
"localstack-core/localstack/services/sns/**",
"tests/aws/services/sns/**",
# opensearch
"localstack/services/opensearch/**",
"localstack-core/localstack/services/opensearch/**",
"tests/aws/services/opensearch/**",
# stepfunctions
"localstack/services/stepfunctions/**",
"localstack-core/localstack/services/stepfunctions/**",
"tests/aws/services/stepfunctions/**",
# secretsmanager
"localstack/services/secretsmanager/**",
"localstack-core/localstack/services/secretsmanager/**",
"tests/aws/services/secretsmanager/**",
# events
"localstack/services/events/**",
"localstack-core/localstack/services/events/**",
"tests/aws/services/events/**",
# SSM
"localstack/services/ssm/**",
"localstack-core/localstack/services/ssm/**",
"tests/aws/services/ssm/**",
# SQS
"localstack/services/sqs/**",
"localstack-core/localstack/services/sqs/**",
"tests/aws/services/sqs/**",
# STS
"localstack-core/localstack/services/sts/**",
"tests/aws/services/sts/**",
# KMS
"localstack-core/localstack/services/kms/**",
"tests/aws/services/kms/**",
# transcribe
"localstack-core/localstack/services/transcribe/**",
"tests/aws/services/transcribe/**",
# secretsmanager
"localstack-core/localstack/services/secretsmanager/**",
"tests/aws/services/secretsmanager/**",
# route53resolver
"localstack-core/localstack/services/route53resolver/**",
"tests/aws/services/route53resolver/**",
# route53
"localstack-core/localstack/services/route53/**",
"tests/aws/services/route53/**",
]


Expand Down
21 changes: 20 additions & 1 deletion localstack-core/localstack/utils/bootstrap.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@
# - do not add "optional" dependencies of services here, use API_DEPENDENCIES_OPTIONAL instead
API_DEPENDENCIES = {
"dynamodb": ["dynamodbstreams"],
# dynamodbsteams uses kinesis under the hood
# dynamodbstreams uses kinesis under the hood
"dynamodbstreams": ["kinesis"],
# es forwards all requests to opensearch (basically an API deprecation path in AWS)
"es": ["opensearch"],
Expand All @@ -58,6 +58,8 @@
# firehose currently only supports kinesis as source, this could become optional when more sources are supported
"firehose": ["kinesis"],
"transcribe": ["s3"],
# secretsmanager uses lambda for rotation
"secretsmanager": ["kms", "lambda"],
}

# Optional dependencies of services on other services
Expand All @@ -77,6 +79,23 @@
"cloudformation": ["secretsmanager", "ssm", "lambda"],
"events": ["lambda", "kinesis", "firehose", "sns", "sqs", "stepfunctions", "logs"],
"stepfunctions": ["logs", "lambda", "dynamodb", "ecs", "sns", "sqs", "apigateway", "events"],
"apigateway": [
"s3",
"sqs",
"sns",
"kinesis",
"route53",
"servicediscovery",
"lambda",
"dynamodb",
"stepfunctions",
"events",
],
# This is for S3 notifications and S3 KMS key
"s3": ["events", "sqs", "sns", "lambda", "kms"],
# IAM and STS are tightly coupled
"sts": ["iam"],
"iam": ["sts"],
}

# composites define an abstract name like "serverless" that maps to a set of services
Expand Down

0 comments on commit c41a677

Please sign in to comment.