FIS (Fault Injection Simulator)

Implementation details for API fis

Coverage Overview

Fault Injection Simulator (FIS) is supported by LocalStack only in the pro image.

AvailabilityTesting*
OperationImplementedImageInternal Test SuiteExternal Test SuiteTerraform ValidatedAWS ValidatedSnapshot TestedDetails
CreateExperimentTemplate✔️pro✔️✔️✔️Show Tests
CreateTargetAccountConfiguration
DeleteExperimentTemplate✔️pro✔️✔️✔️Show Tests
DeleteTargetAccountConfiguration
GetAction
GetExperiment✔️pro✔️Show Tests
GetExperimentTargetAccountConfiguration
GetExperimentTemplate✔️pro✔️✔️✔️Show Tests
GetSafetyLever
GetTargetAccountConfiguration
GetTargetResourceType
ListActions
ListExperimentResolvedTargets
ListExperimentTargetAccountConfigurations
ListExperimentTemplates✔️pro✔️Show Tests
ListExperiments✔️pro✔️Show Tests
ListTagsForResource
ListTargetAccountConfigurations
ListTargetResourceTypes
StartExperiment✔️pro✔️Show Tests
StopExperiment✔️pro✔️Show Tests
TagResource
UntagResource
UpdateExperimentTemplate
UpdateSafetyLeverState
UpdateTargetAccountConfiguration

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 execution 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


CreateExperimentTemplate

Parameters: actions, clientToken, description, roleArn, stopConditions
  • LocalStack Pro
    • test_api_failure_with_latency LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_api_failure_with_latency HTTP Status Code: 200
    • test_api_injection_fault_action LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_api_injection_fault_action HTTP Status Code: 200
    • test_api_injection_parametrized_exception LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_api_injection_parametrized_exception HTTP Status Code: 200
    • test_api_injection_parametrized_operation LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_api_injection_parametrized_operation HTTP Status Code: 200
    • test_api_injection_parametrized_region LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_api_injection_parametrized_region HTTP Status Code: 200
    • test_api_injection_parametrized_service LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_api_injection_parametrized_service HTTP Status Code: 200
Parameters: actions, clientToken, description, roleArn, stopConditions, tags, targets
  • LocalStack Pro
    • test_create_experiment_template LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_create_experiment_template HTTP Status Code: 200
    • test_delete_experiment_template LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_delete_experiment_template HTTP Status Code: 200
    • test_get_experiment LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_get_experiment HTTP Status Code: 200
    • test_get_experiment_template LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_get_experiment_template HTTP Status Code: 200
    • test_idempotency_of_create_experiment_template LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_idempotency_of_create_experiment_template HTTP Status Code: 200
    • test_idempotency_of_start_experiment LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_idempotency_of_start_experiment HTTP Status Code: 200
    • test_list_experiment_templates LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_list_experiment_templates HTTP Status Code: 200
    • test_list_experiments LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_list_experiments HTTP Status Code: 200
    • test_start_experiment LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_start_experiment HTTP Status Code: 200
    • test_stop_experiment LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_stop_experiment HTTP Status Code: 200
Parameters: actions, clientToken, description, roleArn, stopConditions, targets
  • LocalStack Pro
    • test_action_rds_reboot_db_instances LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_action_rds_reboot_db_instances HTTP Status Code: 200

DeleteExperimentTemplate

Parameters: id
  • LocalStack Pro
    • test_action_rds_reboot_db_instances LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_action_rds_reboot_db_instances HTTP Status Code: 200
    • test_api_failure_with_latency LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_api_failure_with_latency HTTP Status Code: 200
    • test_api_injection_fault_action LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_api_injection_fault_action HTTP Status Code: 200
    • test_api_injection_parametrized_exception LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_api_injection_parametrized_exception HTTP Status Code: 200
    • test_api_injection_parametrized_operation LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_api_injection_parametrized_operation HTTP Status Code: 200
    • test_api_injection_parametrized_region LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_api_injection_parametrized_region HTTP Status Code: 200
    • test_api_injection_parametrized_service LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_api_injection_parametrized_service HTTP Status Code: 200
    • test_create_experiment_template LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_create_experiment_template HTTP Status Code: 200
    • test_delete_experiment_template LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_delete_experiment_template HTTP Status Code: 200
    • test_get_experiment LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_get_experiment HTTP Status Code: 200
    • test_get_experiment_template LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_get_experiment_template HTTP Status Code: 200
    • test_idempotency_of_create_experiment_template LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_idempotency_of_create_experiment_template HTTP Status Code: 200
    • test_idempotency_of_start_experiment LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_idempotency_of_start_experiment HTTP Status Code: 200
    • test_list_experiment_templates LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_list_experiment_templates HTTP Status Code: 200
    • test_list_experiments LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_list_experiments HTTP Status Code: 200
    • test_start_experiment LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_start_experiment HTTP Status Code: 200
    • test_stop_experiment LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_stop_experiment HTTP Status Code: 200
    • test_delete_experiment_template LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_delete_experiment_template HTTP Status Code: 404 (ResourceNotFoundException)
    • test_idempotency_of_create_experiment_template LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_idempotency_of_create_experiment_template HTTP Status Code: 404 (ResourceNotFoundException)

GetExperiment

Parameters: id
  • LocalStack Pro
    • test_get_experiment LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_get_experiment HTTP Status Code: 200

GetExperimentTemplate

Parameters: id
  • LocalStack Pro
    • test_get_experiment_template LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_get_experiment_template HTTP Status Code: 200

ListExperimentTemplates

Parameters: - (without any parameters)
  • LocalStack Pro
    • test_delete_experiment_template LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_delete_experiment_template HTTP Status Code: 200
    • test_idempotency_of_create_experiment_template LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_idempotency_of_create_experiment_template HTTP Status Code: 200
    • test_list_experiment_templates LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_list_experiment_templates HTTP Status Code: 200

ListExperiments

Parameters: - (without any parameters)
  • LocalStack Pro
    • test_idempotency_of_start_experiment LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_idempotency_of_start_experiment HTTP Status Code: 200
    • test_list_experiments LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_list_experiments HTTP Status Code: 200

StartExperiment

Parameters: clientToken, experimentTemplateId
  • LocalStack Pro
    • test_action_rds_reboot_db_instances LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_action_rds_reboot_db_instances HTTP Status Code: 200
    • test_api_failure_with_latency LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_api_failure_with_latency HTTP Status Code: 200
    • test_api_injection_fault_action LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_api_injection_fault_action HTTP Status Code: 200
    • test_api_injection_parametrized_exception LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_api_injection_parametrized_exception HTTP Status Code: 200
    • test_api_injection_parametrized_operation LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_api_injection_parametrized_operation HTTP Status Code: 200
    • test_api_injection_parametrized_region LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_api_injection_parametrized_region HTTP Status Code: 200
    • test_api_injection_parametrized_service LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_api_injection_parametrized_service HTTP Status Code: 200
    • test_get_experiment LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_get_experiment HTTP Status Code: 200
    • test_idempotency_of_start_experiment LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_idempotency_of_start_experiment HTTP Status Code: 200
    • test_list_experiments LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_list_experiments HTTP Status Code: 200
    • test_start_experiment LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_start_experiment HTTP Status Code: 200
    • test_stop_experiment LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_stop_experiment HTTP Status Code: 200

StopExperiment

Parameters: id
  • LocalStack Pro
    • test_action_rds_reboot_db_instances LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_action_rds_reboot_db_instances HTTP Status Code: 200
    • test_api_failure_with_latency LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_api_failure_with_latency HTTP Status Code: 200
    • test_api_injection_fault_action LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_api_injection_fault_action HTTP Status Code: 200
    • test_api_injection_parametrized_exception LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_api_injection_parametrized_exception HTTP Status Code: 200
    • test_api_injection_parametrized_operation LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_api_injection_parametrized_operation HTTP Status Code: 200
    • test_api_injection_parametrized_region LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_api_injection_parametrized_region HTTP Status Code: 200
    • test_api_injection_parametrized_service LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_api_injection_parametrized_service HTTP Status Code: 200
    • test_get_experiment LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_get_experiment HTTP Status Code: 200
    • test_idempotency_of_start_experiment LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_idempotency_of_start_experiment HTTP Status Code: 200
    • test_list_experiments LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_list_experiments HTTP Status Code: 200
    • test_start_experiment LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_start_experiment HTTP Status Code: 200
    • test_stop_experiment LocalStack Pro: tests/aws/services/fis/test_fis.py::TestFis::test_stop_experiment HTTP Status Code: 200