Ejemplo n.º 1
0
        private async Task <IHost> CreateHost(Action <BlitzOptions> configureBlitz,
                                              ICronjobApiClient apiClient,
                                              IVersionProvider versionProvider = null,
                                              Assembly assembly = null)
        {
            var host = new HostBuilder()
                       .ConfigureWebHost(builder =>
            {
                builder.UseTestServer()
                .ConfigureServices(services
                                   =>
                {
                    services
                    .AddCronjobs(options =>
                    {
                        options.RoutePattern   = "cronjobs";
                        options.WebhookBaseUrl = "https://example.com";
                    },
                                 assembly ?? Assembly.GetExecutingAssembly()
                                 )
                    .UseBlitz(configureBlitz);
                    services.AddSingleton <ICronjobApiClient>(apiClient);
                    services.AddTransient <ICronjobProvider, FakeCronjobProvider>();
                    services.AddTransient <IVersionProvider>(provider => versionProvider ?? new StubVersionProvider());
                    services.AddTransient <SimpleCronjob>();

                    services.AddRouting();
                })
                .Configure(app
                           => app.UseRouting().UseEndpoints(routeBuilder => { routeBuilder.MapCronjobWebhook(); }));
            }).Build();
            await host.StartAsync();

            return(host);
        }
Ejemplo n.º 2
0
 public CronjobRegistrationBroadcaster(IHostEnvironment environment,
                                       ICronjobApiClient cronjobApi,
                                       IVersionProvider versionProvider,
                                       ILogger <CronjobRegistrationBroadcaster> logger,
                                       ICronjobWebhookProvider cronjobWebhookProvider,
                                       IOptions <BlitzOptions> options)
 {
     _environment            = environment;
     _cronjobApi             = cronjobApi;
     _versionProvider        = versionProvider;
     _logger                 = logger;
     _cronjobWebhookProvider = cronjobWebhookProvider;
     _options                = options.Value;
 }
 public BlitzExecutionMonitor(ICronjobApiClient cronjobApi) => _cronjobApi = cronjobApi;