While a lambda is still processing (archive unpacking etc), the lambda state should be set to "Pending" (currently "Active") and invocations to that lambda should fail (currently, it can end up in a inconsistent state in this case, like lambdas being executed without layers).

Lambda state should reflect the current internal state, and invocations should fail if not active.
data=json.dumps(
                {
                    "FunctionName": "test-lambda-function",
                    "EventSourceArn": TEST_EVENT_SOURCE_ARN,
                    "Enabled": "true",
                }
            ),
        )
        createResult = json.loads(createResponse.get_data())
        putResponse = self.client.put(
            "{0}/event-source-mappings/{1}".format(API_PATH_ROOT, createResult.get("UUID")),
            data=json.dumps({"Enabled": "false"}),
        )
        putResult = json.loads(putResponse.get_data())
        self.assertEqual("Disabled", putResult["State"])
        getResponse = self.client.get(
            "{0}/event-source-mappings/{1}".format(API_PATH_ROOT, createResult.get("UUID"))
        )
        getResult = json.loads(getResponse.get_data())
        self.assertEqual("Disabled", getResult["State"])
    def test_update_event_source_mapping_self_managed_event_source(self):
        createResponse = self.client.post(
            "{0}/event-source-mappings/".format(API_PATH_ROOT),
            data=json.dumps(
                {
                    "FunctionName": "test-lambda-function",
                    "Topics": ["test"],
                    "SourceAccessConfigurations": [
                        {
                            "Type": "SASL_SCRAM_512_AUTH",