MSK (Managed Streaming for Apache Kafka)

Implementation details for API kafka

Coverage Overview

Managed Streaming for Apache Kafka (MSK) is supported by LocalStack only in the pro image.

AvailabilityTesting*
OperationImplementedImageInternal Test SuiteExternal Test SuiteTerraform ValidatedAWS ValidatedSnapshot TestedDetails
BatchAssociateScramSecret
CreateCluster✔️pro✔️✔️✔️Show Tests
CreateClusterV2✔️pro✔️✔️✔️Show Tests
CreateConfiguration✔️pro✔️Show Tests
CreateReplicator
CreateVpcConnection
DeleteCluster✔️pro✔️✔️✔️✔️✔️Show Tests
DeleteClusterPolicy
DeleteConfiguration✔️pro✔️Show Tests
DeleteReplicator
DeleteVpcConnection
DescribeCluster✔️pro✔️✔️✔️✔️✔️Show Tests
DescribeClusterV2✔️pro✔️✔️✔️✔️✔️Show Tests
DescribeClusterOperation✔️pro
DescribeClusterOperationV2
DescribeConfiguration✔️pro✔️Show Tests
DescribeConfigurationRevision✔️pro✔️Show Tests
DescribeReplicator
DescribeVpcConnection
BatchDisassociateScramSecret
GetBootstrapBrokers✔️pro✔️✔️✔️Show Tests
GetCompatibleKafkaVersions
GetClusterPolicy
ListClusterOperations
ListClusterOperationsV2
ListClusters✔️pro✔️✔️✔️✔️✔️Show Tests
ListClustersV2✔️pro✔️✔️✔️Show Tests
ListConfigurationRevisions✔️pro✔️Show Tests
ListConfigurations✔️pro✔️Show Tests
ListKafkaVersions
ListNodes✔️pro✔️Show Tests
ListReplicators
ListScramSecrets
ListTagsForResource
ListClientVpcConnections
ListVpcConnections
RejectClientVpcConnection
PutClusterPolicy
RebootBroker
TagResource
UntagResource
UpdateBrokerCount
UpdateBrokerType
UpdateBrokerStorage
UpdateConfiguration✔️pro✔️Show Tests
UpdateConnectivity
UpdateClusterConfiguration✔️pro
UpdateClusterKafkaVersion✔️pro
UpdateMonitoring
UpdateReplicationInfo
UpdateSecurity
UpdateStorage

Terminology

  • Internal Test Suite: tested by LocalStack's internal integration test suite
  • External Test Suite: covered by an external integration test suite, that runs against LocalStack
  • Terraform Validated: operation tested with Terraform
  • AWS Validated: the integration test that includes this operation call was validated against AWS
  • Snapshot Tested: the operation is part of a snapshot parity test, which verifies the responses by LocalStack and AWS are the same

Testing Details

This section gives an overview about the internal integration test suite and the specific test cases that recorded the API call.

How to read the test details?

For each operation we put up a list of the related integration test cases.
Those operation calls have been recorded during the exeuction of the outlined test cases. Some calls might be internal, i.e., they are not explicitly called in the test, but are triggered implicitly by the LocalStack framework.

  • Parameters: The tests are ordered by the parameters used, which are highlighted in bold.
  • Test Details: LocalStack Community or LocalStack Pro indicates where the test originates. For each test you see:
    • test name
    • status code returned (which is the expected one for the test case)
    • information about validation:
      • AWS validated the test is validated against AWS, meaning it run successfully against real AWS as well
      • Snapshot Tested this is a snapshot parity test, meaning the responses are validated against AWS


CreateCluster

Parameters: BrokerNodeGroupInfo, ClusterName, KafkaVersion, NumberOfBrokerNodes
  • LocalStack Pro
    • test_create_cluster LocalStack Pro: tests/aws/services/cloudformation/resources/test_msk.py::test_create_cluster HTTP Status Code: 200
    • test_interact_with_cluster LocalStack Pro: tests/aws/services/kafka/test_kafka.py::TestKafka::test_interact_with_cluster HTTP Status Code: 200
    • test_kafka_lambda_event_source_mapping[False] LocalStack Pro: tests/aws/services/kafka/test_kafka.py::TestKafka::test_kafka_lambda_event_source_mapping[False] HTTP Status Code: 200
    • test_kafka_lambda_event_source_mapping[True] LocalStack Pro: tests/aws/services/kafka/test_kafka.py::TestKafka::test_kafka_lambda_event_source_mapping[True] HTTP Status Code: 200
    • test_list_nodes LocalStack Pro: tests/aws/services/kafka/test_kafka.py::TestKafka::test_list_nodes HTTP Status Code: 200

CreateClusterV2

Parameters: ClusterName
  • LocalStack Pro
    • test_create_function_v2_exceptions LocalStack Pro: tests/aws/services/kafka/test_kafka.py::TestKafka::test_create_function_v2_exceptions HTTP Status Code: 400 (BadRequestException) AWS validated Snapshot Tested
Parameters: ClusterName, Provisioned
  • LocalStack Pro
    • test_cluster_v2_lifecycle LocalStack Pro: tests/aws/services/kafka/test_kafka.py::TestKafka::test_cluster_v2_lifecycle HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_kafka LocalStack Pro: tests/aws/test_network_configuration.py::test_kafka HTTP Status Code: 200
Parameters: ClusterName, Provisioned, Serverless
  • LocalStack Pro
    • test_create_function_v2_exceptions LocalStack Pro: tests/aws/services/kafka/test_kafka.py::TestKafka::test_create_function_v2_exceptions HTTP Status Code: 400 (BadRequestException) AWS validated Snapshot Tested

CreateConfiguration

Parameters: Description, KafkaVersions, Name, ServerProperties
  • LocalStack Pro
    • test_create_configurations LocalStack Pro: tests/aws/services/kafka/test_kafka.py::TestKafka::test_create_configurations HTTP Status Code: 200

DeleteCluster

Parameters: ClusterArn
  • LocalStack Pro
    • test_create_cluster LocalStack Pro: tests/aws/services/cloudformation/resources/test_msk.py::test_create_cluster HTTP Status Code: 200
    • test_cluster_v2_lifecycle LocalStack Pro: tests/aws/services/kafka/test_kafka.py::TestKafka::test_cluster_v2_lifecycle HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_interact_with_cluster LocalStack Pro: tests/aws/services/kafka/test_kafka.py::TestKafka::test_interact_with_cluster HTTP Status Code: 200
    • test_kafka_lambda_event_source_mapping[False] LocalStack Pro: tests/aws/services/kafka/test_kafka.py::TestKafka::test_kafka_lambda_event_source_mapping[False] HTTP Status Code: 200
    • test_kafka_lambda_event_source_mapping[True] LocalStack Pro: tests/aws/services/kafka/test_kafka.py::TestKafka::test_kafka_lambda_event_source_mapping[True] HTTP Status Code: 200
    • test_list_nodes LocalStack Pro: tests/aws/services/kafka/test_kafka.py::TestKafka::test_list_nodes HTTP Status Code: 200
    • test_kafka LocalStack Pro: tests/aws/test_network_configuration.py::test_kafka HTTP Status Code: 200

DeleteConfiguration

Parameters: Arn
  • LocalStack Pro
    • test_create_configurations LocalStack Pro: tests/aws/services/kafka/test_kafka.py::TestKafka::test_create_configurations HTTP Status Code: 200

DescribeCluster

Parameters: ClusterArn
  • LocalStack Pro
    • test_create_cluster LocalStack Pro: tests/aws/services/cloudformation/resources/test_msk.py::test_create_cluster HTTP Status Code: 200
    • test_cluster_v2_lifecycle LocalStack Pro: tests/aws/services/kafka/test_kafka.py::TestKafka::test_cluster_v2_lifecycle HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_interact_with_cluster LocalStack Pro: tests/aws/services/kafka/test_kafka.py::TestKafka::test_interact_with_cluster HTTP Status Code: 200
    • test_kafka_lambda_event_source_mapping[False] LocalStack Pro: tests/aws/services/kafka/test_kafka.py::TestKafka::test_kafka_lambda_event_source_mapping[False] HTTP Status Code: 200
    • test_kafka_lambda_event_source_mapping[True] LocalStack Pro: tests/aws/services/kafka/test_kafka.py::TestKafka::test_kafka_lambda_event_source_mapping[True] HTTP Status Code: 200
    • test_list_nodes LocalStack Pro: tests/aws/services/kafka/test_kafka.py::TestKafka::test_list_nodes HTTP Status Code: 200
    • test_create_cluster LocalStack Pro: tests/aws/services/cloudformation/resources/test_msk.py::test_create_cluster HTTP Status Code: 404 (NotFoundException)

DescribeClusterV2

Parameters: ClusterArn
  • LocalStack Pro
    • test_cluster_v2_lifecycle LocalStack Pro: tests/aws/services/kafka/test_kafka.py::TestKafka::test_cluster_v2_lifecycle HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_kafka LocalStack Pro: tests/aws/test_network_configuration.py::test_kafka HTTP Status Code: 200

DescribeConfiguration

Parameters: Arn
  • LocalStack Pro
    • test_create_configurations LocalStack Pro: tests/aws/services/kafka/test_kafka.py::TestKafka::test_create_configurations HTTP Status Code: 200
    • test_create_configurations LocalStack Pro: tests/aws/services/kafka/test_kafka.py::TestKafka::test_create_configurations HTTP Status Code: 400 (BadRequestException)

DescribeConfigurationRevision

Parameters: Arn, Revision
  • LocalStack Pro
    • test_create_configurations LocalStack Pro: tests/aws/services/kafka/test_kafka.py::TestKafka::test_create_configurations HTTP Status Code: 200
    • test_create_configurations LocalStack Pro: tests/aws/services/kafka/test_kafka.py::TestKafka::test_create_configurations HTTP Status Code: 404 (NotFoundException)

GetBootstrapBrokers

Parameters: ClusterArn
  • LocalStack Pro
    • test_interact_with_cluster LocalStack Pro: tests/aws/services/kafka/test_kafka.py::TestKafka::test_interact_with_cluster HTTP Status Code: 200
    • test_kafka_lambda_event_source_mapping[False] LocalStack Pro: tests/aws/services/kafka/test_kafka.py::TestKafka::test_kafka_lambda_event_source_mapping[False] HTTP Status Code: 200
    • test_kafka_lambda_event_source_mapping[False] LocalStack Pro: tests/aws/services/kafka/test_kafka.py::TestKafka::test_kafka_lambda_event_source_mapping[False] HTTP Status Code: 200
    • test_kafka_lambda_event_source_mapping[True] LocalStack Pro: tests/aws/services/kafka/test_kafka.py::TestKafka::test_kafka_lambda_event_source_mapping[True] HTTP Status Code: 200
    • test_kafka_lambda_event_source_mapping[True] LocalStack Pro: tests/aws/services/kafka/test_kafka.py::TestKafka::test_kafka_lambda_event_source_mapping[True] HTTP Status Code: 200
    • test_kafka_lambda_event_source_mapping[True] LocalStack Pro: tests/aws/services/kafka/test_kafka.py::TestKafka::test_kafka_lambda_event_source_mapping[True] HTTP Status Code: 500 (InternalError)

ListClusters

Parameters: - (without any parameters)
  • LocalStack Pro
    • test_create_cluster LocalStack Pro: tests/aws/services/cloudformation/resources/test_msk.py::test_create_cluster HTTP Status Code: 200
    • test_cluster_v2_lifecycle LocalStack Pro: tests/aws/services/kafka/test_kafka.py::TestKafka::test_cluster_v2_lifecycle HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_interact_with_cluster LocalStack Pro: tests/aws/services/kafka/test_kafka.py::TestKafka::test_interact_with_cluster HTTP Status Code: 200

ListClustersV2

Parameters: - (without any parameters)
  • LocalStack Pro
    • test_cluster_v2_lifecycle LocalStack Pro: tests/aws/services/kafka/test_kafka.py::TestKafka::test_cluster_v2_lifecycle HTTP Status Code: 200 AWS validated Snapshot Tested

ListConfigurationRevisions

Parameters: Arn
  • LocalStack Pro
    • test_create_configurations LocalStack Pro: tests/aws/services/kafka/test_kafka.py::TestKafka::test_create_configurations HTTP Status Code: 200

ListConfigurations

Parameters: - (without any parameters)
  • LocalStack Pro
    • test_create_configurations LocalStack Pro: tests/aws/services/kafka/test_kafka.py::TestKafka::test_create_configurations HTTP Status Code: 200

ListNodes

Parameters: ClusterArn
  • LocalStack Pro
    • test_list_nodes LocalStack Pro: tests/aws/services/kafka/test_kafka.py::TestKafka::test_list_nodes HTTP Status Code: 200

UpdateConfiguration

Parameters: Arn, Description, ServerProperties
  • LocalStack Pro
    • test_create_configurations LocalStack Pro: tests/aws/services/kafka/test_kafka.py::TestKafka::test_create_configurations HTTP Status Code: 200


Last modified March 20, 2023: improve Coverage Docs (#505) (46f2fb0c0)