• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

loresoft / KickStart / 6744647222

03 Nov 2023 11:32AM CUT coverage: 60.234%. Remained the same
6744647222

Pull #242

github

web-flow
Merge d1b928498 into 89287de9e
Pull Request #242: Bump xunit from 2.5.0 to 2.6.1

152 of 338 branches covered (0.0%)

Branch coverage included in aggregate %.

569 of 859 relevant lines covered (66.24%)

16.35 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/src/KickStart.DependencyInjection/ServiceCollectionExtensions.cs
1
using System;
2

3
using KickStart;
4

5
using Microsoft.Extensions.Logging;
6

7
// ReSharper disable once CheckNamespace
8
namespace Microsoft.Extensions.DependencyInjection
9
{
10
    /// <summary>
11
    /// Extension methods for <see cref="IServiceCollection"/>
12
    /// </summary>
13
    public static class ServiceCollectionExtensions
14
    {
15
        /// <summary>
16
        /// Configure and run the KickStart extensions.
17
        /// </summary>
18
        /// <param name="services"></param>
19
        /// <param name="configurator">The <see langword="delegate"/> to configure KickStart before execution of the extensions.</param>
20
        /// <example>Configure KickStart to use startup tasks.
21
        /// <code><![CDATA[
22
        /// services.KickStart(config => config
23
        ///     .IncludeAssemblyFor<Startup>()
24
        ///     .UseStartupTask()
25
        /// );]]></code>
26
        /// </example>
27
        public static IServiceCollection KickStart(this IServiceCollection services, Action<IConfigurationBuilder> configurator)
28
        {
29
            var logger = CreateLogger(services);
×
30
            var canWrite = logger?.IsEnabled(LogLevel.Debug) ?? false;
×
31

32
            Kick.Start(builder =>
×
33
            {
×
34
                builder
×
35
                    .LogTo(m => { if (canWrite) logger?.LogDebug(m); })
×
36
                    .UseDependencyInjection(d => d.Creator(() => services));
×
37

×
38
                configurator?.Invoke(builder);
×
39
            });
×
40

41
            return services;
×
42
        }
43

44
        private static ILogger CreateLogger(IServiceCollection services)
45
        {
46
            try
47
            {
48
                var serviceProvider = services.BuildServiceProvider();
×
49
                var loggerFactory = serviceProvider.GetService<ILoggerFactory>();
×
50
                var logger = loggerFactory?.CreateLogger(typeof(Kick));
×
51
                return logger;
×
52
            }
53
            catch (Exception)
×
54
            {
55
                // azure functions doesn't allow using services at startup.  
56
                return null;
×
57
            }
58
        }
×
59
    }
60
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc