public DaprTestBase(ITestOutputHelper output,
                            IDictionary <string, string> environmentVariables)
        {
            this.logProvider  = new TestLogProvider(output);
            this.typeLocator  = new TestFunctionTypeLocator();
            this.nameResolver = new TestNameResolver();

            foreach (var kvPair in DefaultEnvironmentVariables)
            {
                if (!environmentVariables.ContainsKey(kvPair.Key))
                {
                    environmentVariables[kvPair.Key] = kvPair.Value;
                }
            }

            foreach (var kvPair in environmentVariables)
            {
                this.nameResolver.AddSetting(kvPair.Key, kvPair.Value);
            }

            this.functionsHost = new HostBuilder()
                                 .ConfigureLogging(loggingBuilder => loggingBuilder.AddProvider(this.logProvider))
                                 .ConfigureWebJobs(webJobsBuilder => webJobsBuilder.AddDapr())
                                 .ConfigureServices(
                collection =>
            {
                collection.AddSingleton <INameResolver>(this.nameResolver);
                collection.AddSingleton <ITypeLocator>(this.typeLocator);
            })
                                 .Build();
            this.daprRuntime = new DaprRuntimeEmulator(DaprPort);
        }
示例#2
0
        public IntegrationTestBase(ITestOutputHelper output)
        {
            this.logProvider      = new TestLogProvider(output);
            this.typeLocator      = new TestFunctionTypeLocator();
            this.settingsResolver = new TestSettingsResolver();

            this.settingsResolver.AddSetting("SQLDB_Connection", SharedTestHelpers.GetDefaultConnectionString());

            this.functionsHost = new HostBuilder()
                                 .ConfigureLogging(
                loggingBuilder =>
            {
                loggingBuilder.AddProvider(this.logProvider);
                loggingBuilder.SetMinimumLevel(LogLevel.Information);
            })
                                 .ConfigureWebJobs(
                webJobsBuilder =>
            {
                webJobsBuilder.AddDurableTask(options =>
                {
                    options.StorageProvider["type"] = SqlDurabilityProvider.Name;
                });
            })
                                 .ConfigureServices(
                services =>
            {
                services.AddSingleton <INameResolver>(this.settingsResolver);
                services.AddSingleton <IConnectionStringResolver>(this.settingsResolver);
                services.AddSingleton <ITypeLocator>(this.typeLocator);
                services.AddSingleton <IDurabilityProviderFactory, SqlDurabilityProviderFactory>();
            })
                                 .Build();

            this.AddFunctions(typeof(ClientFunctions));
        }
示例#3
0
        public IntegrationTestBase(ITestOutputHelper output)
        {
            this.logProvider      = new TestLogProvider(output);
            this.typeLocator      = new TestFunctionTypeLocator();
            this.settingsResolver = new TestSettingsResolver();

            this.functionsHost = new HostBuilder()
                                 .ConfigureLogging(
                loggingBuilder =>
            {
                loggingBuilder.AddProvider(this.logProvider);
                loggingBuilder.SetMinimumLevel(LogLevel.Information);
            })
                                 .ConfigureWebJobs(webJobsBuilder => webJobsBuilder.AddDurableTask())
                                 .ConfigureServices(
                services =>
            {
                services.AddSingleton <INameResolver>(this.settingsResolver);
                services.AddSingleton <IConnectionStringResolver>(this.settingsResolver);
                services.AddSingleton <ITypeLocator>(this.typeLocator);
                services.AddSingleton <IDurabilityProviderFactory, NetheriteProviderFactory>();
            })
                                 .Build();

            this.AddFunctions(typeof(ClientFunctions));
        }
示例#4
0
        public DaprTestBase(ITestOutputHelper output)
        {
            this.logProvider  = new TestLogProvider(output);
            this.typeLocator  = new TestFunctionTypeLocator();
            this.nameResolver = new TestNameResolver();

            // Use 3501 to avoid conflicting with the real Dapr port number
            int daprPort = 3501;

            this.nameResolver.AddSetting("DAPR_HTTP_PORT", daprPort.ToString());

            this.functionsHost = new HostBuilder()
                                 .ConfigureLogging(loggingBuilder => loggingBuilder.AddProvider(this.logProvider))
                                 .ConfigureWebJobs(webJobsBuilder => webJobsBuilder.AddDapr())
                                 .ConfigureServices(
                collection =>
            {
                collection.AddSingleton <INameResolver>(this.nameResolver);
                collection.AddSingleton <ITypeLocator>(this.typeLocator);
            })
                                 .Build();
            this.daprRuntime = new DaprRuntimeEmulator(daprPort);
        }