Beispiel #1
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public IServiceProvider ConfigureServices(IServiceCollection services)
        {
            services.AddAuthorization();

            IPostService        postService        = new PostService();
            IRemoteTokenService remoteTokenService = new RemoteTokenService(postService);

            services.AddAuthorization(options =>
            {
                options.AddPolicy(AuthorizationConfiguration.PolicyName, policy =>
                                  policy.RequireAssertion(context =>
                                                          context.User.HasClaim(c =>
                                                                                (c.Type == AuthorizationConfiguration.PolicyName) &&
                                                                                remoteTokenService.VerifyToken(c.Value))));
            });

            services.AddDistributedMemoryCache();
            services.AddSession();
            services.AddMvc();

            // Database
            services.AddDbContext <AuthServerContext>(
                options => options.UseSqlServer(Configuration["Data:DefaultConnection:ConnectionString"]));

            return(DependencyInjectionConfigurator.ConfigureContainer(services));
        }
Beispiel #2
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public IServiceProvider ConfigureServices(IServiceCollection services)
        {
            // Add framework services.
            services.AddMvc();
            services.AddDataProtection();

            services.AddDbContext <AuthServerContext>(
                options => options.UseSqlServer(Configuration["Data:DefaultConnection:ConnectionString"]));

            return(DependencyInjectionConfigurator.ConfigureContainer(services));
        }
        private static async Task Main(string[] args)
        {
            var builder = new ConfigurationBuilder();

            builder.SetBasePath(Directory.GetCurrentDirectory());
            builder.AddJsonFile(ConfigFileName);
            var config = builder.Build();

            var services = DependencyInjectionConfigurator.Configure(config);

            var mainMenu = services.GetService <MainMenuBaseConsoleService>();
            await mainMenu.StartConsoleLoop();
        }
Beispiel #4
0
        private void ConfigureDependencyInjectionContainer()
        {
            this.dependencyInjector = this.moduleDependencyInjectionContainer = new LightweightDependencyInjectionContainer();
            var implementationSelector = new ImplementationSelector();

            this.ConfigureImplementationSelector(implementationSelector);
            var configurator = new DependencyInjectionConfigurator(implementationSelector, this.TestParameters);

            configurator.RootLogger = this.rootLogger;
            configurator.ConfigureDefaultDependencies(this.moduleDependencyInjectionContainer);
            this.ConfigureDependencies(this.moduleDependencyInjectionContainer);
            this.dependencyInjector.InjectDependenciesInto(this);
            configurator.InitializeGlobalObjects(this.moduleDependencyInjectionContainer);
        }
        /// <summary>
        /// Injects default dependencies when Taupo runner is not being used
        /// </summary>
        protected void InjectDependencies()
        {
            var container = new LightweightDependencyInjectionContainer();

            ImplementationSelector defaultImplSelector = new ImplementationSelector();

            this.ConfigureDependencyImplentationSelector(defaultImplSelector);

            DependencyInjectionConfigurator dependInjecConfigurator = new DependencyInjectionConfigurator(defaultImplSelector, new Dictionary <string, string>());

            dependInjecConfigurator.ConfigureDefaultDependencies(container);

            this.ConfigureDependencies(container);

            // Configure MSTest only dependencies
            container.Register <Logger, TraceLogger>();

            container.RegisterInstance(container);
            container.InjectDependenciesInto(this);
        }
Beispiel #6
0
        protected virtual void ConfigureMSTestDependencies(DependencyInjectionContainer container)
        {
            ImplementationSelector defaultImplSelector = new ImplementationSelector();

            this.ConfigureDependencyImplentationSelector(defaultImplSelector);

            DependencyInjectionConfigurator dependInjecConfigurator = new DependencyInjectionConfigurator(defaultImplSelector, new Dictionary <string, string>());

            dependInjecConfigurator.ConfigureDefaultDependencies(container);

            this.ConfigureDependencies(container);

            // Configure MSTest only dependencies
            container.Register <Logger, TraceLogger>();

            // Set test parameter ApplyTransform to false for ODL tests.
            container.TestParameters.Add("ApplyTransform", "false");

            container.RegisterInstance(container);
        }
Beispiel #7
0
        /// <summary>
        /// Creates an instance of the ITestModuleRunner
        /// </summary>
        /// <param name="runnerType">The type of the runner to create</param>
        /// <returns>An implementation of the ITestModuleRunner </returns>
        public ITestModuleRunner CreateRunner(Type runnerType)
        {
            LightweightDependencyInjectionContainer dependencyInjectionContainer = null;
            ITestModuleRunner runner = null;

            try
            {
#if SILVERLIGHT
                runner = Activator.CreateInstance(runnerType) as ITestModuleRunner;
#else
                runner = new RunnerBridge(runnerType);
#endif
                dependencyInjectionContainer = new LightweightDependencyInjectionContainer();
                var implementationSelector = new ImplementationSelector();
                implementationSelector.AddAssembly(typeof(TestItem).GetAssembly());

                var helpGenerator       = new HelpGenerator(new LogLevelResolver(this.Parameters));
                var availableParameters = helpGenerator.GetAvailableParameters(implementationSelector.Types);
                Dictionary <string, string> availableParametersLookup = this.Parameters.Where(kvp => availableParameters.Any(p => p.ParameterName == kvp.Key)).ToDictionary(kvp => kvp.Key, kvp => kvp.Value);

                // Any TestParameters passed in are not used for injecting dependencies into RunnerBridge
                var configurator = new DependencyInjectionConfigurator(
                    implementationSelector,
                    availableParametersLookup);

                configurator.RootLogger = Logger.Null;
                configurator.ConfigureDefaultDependencies(dependencyInjectionContainer);

                dependencyInjectionContainer.InjectDependenciesInto(runner);
            }
            finally
            {
                if (dependencyInjectionContainer != null)
                {
                    dependencyInjectionContainer.Dispose();
                }
            }

            return(runner);
        }