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.
assert 200 == result["StatusCode"]
        assert {} == result_data["event"]
        
        logs = result.get("LogResult", "")
        logs = to_str(base64.b64decode(to_str(logs)))
        snapshot.add_transformer(
            snapshot.transform.regex(
                re.compile(r"Duration: \d+(\.\d{2})? ms"), "Duration: <duration> ms"
            )
        )
        snapshot.add_transformer(
            snapshot.transform.regex(re.compile(r"Used: \d+ MB"), "Used: <memory> MB")
        )
        snapshot.match("logs", {"logs": logs})
        assert "START" in logs
        assert "Lambda log message" in logs
        assert "END" in logs
        assert "REPORT" in logs
    @pytest.mark.skip_snapshot_verify(
        paths=["$..LogResult", "$..Payload.context.memory_limit_in_mb"]
    )
    def test_invocation_type_request_response(self, lambda_client, python_function_name, snapshot):
        """Test invocation with InvocationType RequestResponse explicitely set"""
        snapshot.add_transformer(snapshot.transform.lambda_api())
        result = lambda_client.invoke(
            FunctionName=python_function_name,
            Payload=b"{}",
            InvocationType="RequestResponse",
        )