public async Task RunDoesNotRunInitializationServicesIfPropertySetToFalse(
            TestLambdaMessage expectedResponse,
            TestLambdaMessage request,
            ServiceCollection collection,
            ISerializer serializer,
            ILogger logger,
            [Substitute] ILambdaInitializationService initializationService,
            [Substitute] TestLambda lambda,
            [Substitute] LambdaScope scope,
            [Substitute] ILambdaContext context
            )
        {
            lambda.Handle(Any <TestLambdaMessage>(), Any <CancellationToken>()).Returns(expectedResponse);
            collection.AddSingleton(serializer);
            collection.AddSingleton(initializationService);
            collection.AddSingleton(lambda);
            collection.AddSingleton(scope);

            using var inputStream = await CreateStreamForRequest(request);

            var provider = collection.BuildServiceProvider();

            await using var host = new TestLambdaHost(lambdaHost =>
            {
                lambdaHost.ServiceProvider           = provider;
                lambdaHost.RunInitializationServices = false;
                lambdaHost.Logger = logger;
            });

            var cancellationToken = new CancellationToken(false);
            await host.Run(inputStream, context, cancellationToken);

            await initializationService.DidNotReceive().Initialize(Is(cancellationToken));
        }