public void Simple() { var log = new mock.LogService(false); var pluginService = new real.PluginService(log); var argumentsParser = new ArgumentsParser(log, pluginService, $"".Split(' ')); var argumentsService = new real.ArgumentsService(log, argumentsParser); var input = new mock.InputService(new List <string>() { "y" // Confirm cancel all }); var builder = new ContainerBuilder(); _ = builder.RegisterInstance(log).As <real.ILogService>(); _ = builder.RegisterInstance(argumentsParser).As <ArgumentsParser>(); _ = builder.RegisterInstance(argumentsService).As <real.IArgumentsService>(); _ = builder.RegisterInstance(argumentsService).As <real.IArgumentsService>(); _ = builder.RegisterInstance(pluginService).As <real.IPluginService>(); _ = builder.RegisterInstance(input).As <real.IInputService>(); _ = builder.RegisterType <mock.MockRenewalStore>().As <real.IRenewalStore>().SingleInstance(); _ = builder.RegisterType <mock.MockSettingsService>().As <real.ISettingsService>().SingleInstance();; _ = builder.RegisterType <real.UserRoleService>().SingleInstance(); _ = builder.RegisterType <real.ProxyService>().SingleInstance(); _ = builder.RegisterType <real.PasswordGenerator>().SingleInstance(); pluginService.Configure(builder); _ = builder.RegisterType <real.DomainParseService>().SingleInstance(); _ = builder.RegisterType <Mock.Clients.MockIISClient>().As <IIISClient>().SingleInstance(); _ = builder.RegisterType <IISHelper>().SingleInstance(); _ = builder.RegisterType <real.ExceptionHandler>().SingleInstance(); _ = builder.RegisterType <UnattendedResolver>(); _ = builder.RegisterType <InteractiveResolver>(); _ = builder.RegisterType <real.AutofacBuilder>().As <real.IAutofacBuilder>().SingleInstance(); _ = builder.RegisterType <AcmeClient>().SingleInstance(); _ = builder.RegisterType <real.PemService>().SingleInstance(); _ = builder.RegisterType <EmailClient>().SingleInstance(); _ = builder.RegisterType <ScriptClient>().SingleInstance(); _ = builder.RegisterType <LookupClientProvider>().SingleInstance(); _ = builder.RegisterType <mock.CertificateService>().As <real.ICertificateService>().SingleInstance(); _ = builder.RegisterType <real.TaskSchedulerService>().SingleInstance(); _ = builder.RegisterType <real.NotificationService>().SingleInstance(); _ = builder.RegisterType <RenewalExecutor>().SingleInstance(); _ = builder.RegisterType <RenewalManager>().SingleInstance(); _ = builder.Register(c => c.Resolve <real.IArgumentsService>().MainArguments).SingleInstance(); var container = builder.Build(); var renewalStore = container.Resolve <real.IRenewalStore>(); var renewalExecutor = container.Resolve <RenewalExecutor>( new TypedParameter(typeof(IContainer), container)); var renewalManager = container.Resolve <RenewalManager>( new TypedParameter(typeof(IContainer), container), new TypedParameter(typeof(RenewalExecutor), renewalExecutor)); Assert.IsNotNull(renewalManager); renewalManager.CancelAllRenewals().Wait(); Assert.AreEqual(0, renewalStore.Renewals.Count()); }
public async Task Regular() { var commandLine = "--installation iis"; var types = new List <Type>() { typeof(CertificateStore) }; var chosen = new List <IInstallationPluginOptionsFactory>(); var builder = new ContainerBuilder(); _ = builder.RegisterType <LookupClientProvider>(); _ = builder.RegisterType <mock.ProxyService>().As <IProxyService>(); _ = builder.RegisterType <DomainParseService>(); _ = builder.RegisterType <IISHelper>(); var input = new mock.InputService(new List <string>()); _ = builder.RegisterInstance(input).As <IInputService>(); _ = builder.RegisterType <SecretService>().As <ISecretService>(); _ = builder.RegisterType <SecretServiceManager>(); _ = builder.RegisterInstance(plugins). As <IPluginService>(). SingleInstance(); _ = builder.RegisterInstance(settings). As <ISettingsService>(). SingleInstance(); _ = builder.RegisterInstance(log). As <ILogService>(). SingleInstance(); _ = builder.RegisterType <Mock.Clients.MockIISClient>(). As <IIISClient>(). SingleInstance(); _ = builder.RegisterType <ArgumentsParser>(). SingleInstance(). WithParameter(new TypedParameter(typeof(string[]), commandLine.Split(' '))); _ = builder.RegisterType <ArgumentsService>(). As <IArgumentsService>(). SingleInstance(); _ = builder.RegisterType <mock.UserRoleService>().As <IUserRoleService>().SingleInstance(); _ = builder.RegisterType <UnattendedResolver>().As <IResolver>(); plugins.Configure(builder); var scope = builder.Build(); var resolver = scope.Resolve <IResolver>(); var first = await resolver.GetInstallationPlugin(scope, types, chosen); Assert.IsNotNull(first); if (first != null) { Assert.IsInstanceOfType(first, typeof(IISWebOptionsFactory)); chosen.Add(first); var second = await resolver.GetInstallationPlugin(scope, types, chosen); Assert.IsNotNull(second); Assert.IsInstanceOfType(second, typeof(NullInstallationOptionsFactory)); } }
public ILifetimeScope TestScope() { var log = new mock.LogService(false); var versionService = new real.VersionService(log); var pluginService = new real.PluginService(log, versionService); var argumentsParser = new ArgumentsParser(log, pluginService, $"".Split(' ')); var argumentsService = new real.ArgumentsService(log, argumentsParser); var input = new mock.InputService(new List <string>() { "C", // Cancel command "y", // Confirm cancel all "Q" // Quit }); var builder = new ContainerBuilder(); _ = builder.RegisterInstance(log).As <real.ILogService>(); _ = builder.RegisterInstance(argumentsParser).As <ArgumentsParser>(); _ = builder.RegisterInstance(argumentsService).As <real.IArgumentsService>(); _ = builder.RegisterInstance(argumentsService).As <real.IArgumentsService>(); _ = builder.RegisterInstance(pluginService).As <real.IPluginService>(); _ = builder.RegisterInstance(input).As <real.IInputService>(); _ = builder.RegisterType <mock.MockRenewalStore>().As <real.IRenewalStore>().SingleInstance(); _ = builder.RegisterType <mock.MockSettingsService>().As <real.ISettingsService>().SingleInstance();; _ = builder.RegisterType <mock.UserRoleService>().As <real.IUserRoleService>().SingleInstance(); _ = builder.RegisterType <real.VersionService>().SingleInstance(); _ = builder.RegisterType <real.ProxyService>().SingleInstance(); _ = builder.RegisterType <real.PasswordGenerator>().SingleInstance(); pluginService.Configure(builder); _ = builder.RegisterType <real.DomainParseService>().SingleInstance(); _ = builder.RegisterType <Mock.Clients.MockIISClient>().As <IIISClient>().SingleInstance(); _ = builder.RegisterType <IISHelper>().SingleInstance(); _ = builder.RegisterType <real.ExceptionHandler>().SingleInstance(); _ = builder.RegisterType <UnattendedResolver>(); _ = builder.RegisterType <InteractiveResolver>(); _ = builder.RegisterType <real.AutofacBuilder>().As <real.IAutofacBuilder>().SingleInstance(); _ = builder.RegisterType <AcmeClient>().SingleInstance(); _ = builder.RegisterType <ZeroSsl>().SingleInstance(); _ = builder.RegisterType <real.PemService>().SingleInstance(); _ = builder.RegisterType <EmailClient>().SingleInstance(); _ = builder.RegisterType <ScriptClient>().SingleInstance(); _ = builder.RegisterType <LookupClientProvider>().SingleInstance(); _ = builder.RegisterType <mock.CertificateService>().As <real.ICertificateService>().SingleInstance(); _ = builder.RegisterType <real.TaskSchedulerService>().SingleInstance(); _ = builder.RegisterType <real.NotificationService>().SingleInstance(); _ = builder.RegisterType <RenewalValidator>().SingleInstance(); _ = builder.RegisterType <RenewalExecutor>().SingleInstance(); _ = builder.RegisterType <RenewalManager>().SingleInstance(); _ = builder.Register(c => c.Resolve <real.IArgumentsService>().MainArguments).SingleInstance(); return(builder.Build()); }
public ILifetimeScope TestScope(List <string>?inputSequence = null, string commandLine = "") { var log = new mock.LogService(false); var pluginService = new real.PluginService(log); var argumentsParser = new ArgumentsParser(log, pluginService, commandLine.Split(' ')); var input = new mock.InputService(inputSequence ?? new List <string>()); var builder = new ContainerBuilder(); _ = builder.RegisterType <mock.SecretService>().As <real.ISecretService>().SingleInstance(); _ = builder.RegisterType <real.SecretServiceManager>(); _ = builder.RegisterInstance(log).As <real.ILogService>(); _ = builder.RegisterInstance(argumentsParser).As <ArgumentsParser>(); _ = builder.RegisterType <real.ArgumentsInputService>(); _ = builder.RegisterInstance(pluginService).As <real.IPluginService>(); _ = builder.RegisterInstance(input).As <real.IInputService>(); _ = builder.RegisterInstance(argumentsParser.GetArguments <MainArguments>() !).SingleInstance(); _ = builder.RegisterType <real.ValidationOptionsService>().As <real.IValidationOptionsService>().SingleInstance(); _ = builder.RegisterType <mock.MockRenewalStore>().As <real.IRenewalStore>().SingleInstance(); _ = builder.RegisterType <real.DueDateStaticService>().As <real.IDueDateService>().SingleInstance(); _ = builder.RegisterType <mock.MockSettingsService>().As <real.ISettingsService>().SingleInstance();; _ = builder.RegisterType <mock.UserRoleService>().As <real.IUserRoleService>().SingleInstance(); _ = builder.RegisterType <mock.ProxyService>().As <real.IProxyService>().SingleInstance(); _ = builder.RegisterType <real.PasswordGenerator>().SingleInstance(); _ = builder.RegisterType <RenewalCreator>().SingleInstance(); _ = builder.RegisterType <real.SecretServiceManager>(); pluginService.Configure(builder); _ = builder.RegisterType <real.DomainParseService>().SingleInstance(); _ = builder.RegisterType <Mock.Clients.MockIISClient>().As <IIISClient>().SingleInstance(); _ = builder.RegisterType <IISHelper>().SingleInstance(); _ = builder.RegisterType <real.ExceptionHandler>().SingleInstance(); _ = builder.RegisterType <UnattendedResolver>(); _ = builder.RegisterType <InteractiveResolver>(); _ = builder.RegisterType <real.AutofacBuilder>().As <real.IAutofacBuilder>().SingleInstance(); _ = builder.RegisterType <AcmeClient>().SingleInstance(); _ = builder.RegisterType <ZeroSsl>().SingleInstance(); _ = builder.RegisterType <real.PemService>().SingleInstance(); _ = builder.RegisterType <EmailClient>().SingleInstance(); _ = builder.RegisterType <ScriptClient>().SingleInstance(); _ = builder.RegisterType <LookupClientProvider>().SingleInstance(); _ = builder.RegisterType <mock.CertificateService>().As <real.ICertificateService>().SingleInstance(); _ = builder.RegisterType <real.TaskSchedulerService>().SingleInstance(); _ = builder.RegisterType <real.NotificationService>().SingleInstance(); _ = builder.RegisterType <RenewalValidator>().SingleInstance(); _ = builder.RegisterType <RenewalExecutor>().SingleInstance(); _ = builder.RegisterType <RenewalManager>().SingleInstance(); return(builder.Build()); }