public ControllerTestHarness()
        {
            _container = new SimpleInjector.Container();
             _container.RegisterSingleton<IApplicationSettings>(new Mock<IApplicationSettings>().Object);
             _container.RegisterSingleton<IContactService>(new Mock<IContactService>().Object);
             _container.RegisterSingleton<IInteractionService>(new Mock<IInteractionService>().Object);

             _fixture = new Fixture();
        }
Example #2
0
        public ControllerTestHarness()
        {
            _container = new SimpleInjector.Container();
            _container.RegisterSingleton <IApplicationSettings>(new Mock <IApplicationSettings>().Object);
            _container.RegisterSingleton <IContactService>(new Mock <IContactService>().Object);
            _container.RegisterSingleton <IInteractionService>(new Mock <IInteractionService>().Object);

            _fixture = new Fixture();
        }
Example #3
0
        public static void RegisterTypes(SimpleInjector.Container container, string database)
        {
            container.Register <DialogEngine>();
            container.RegisterInstance <IServiceProvider>(container);

            container.RegisterSingleton <IApiAiAppServiceFactory, ApiAiAppServiceFactory>();
            container.RegisterSingleton <IHttpClientFactory, HttpClientFactory>();
            container.RegisterSingleton <ISolicitud, SolicitudManager>();
            container.RegisterSingleton <IIntencion, IntencionManager>();
            container.RegisterSingleton <ISesion, SesionManager>();

            container.RegisterSingleton <IChatLog, ChatLogManager>();
            container.RegisterSingleton <ICurso, CursoManager>();
            container.RegisterSingleton <IActividad, ActividadManager>();

            if (database.Equals("ORACLE"))
            {
                container.Register <ISesionData, Upecito.Data.Oracle.Implementacion.SesionData>();
                container.Register <ISolicitudData, Upecito.Data.Oracle.Implementacion.SolicitudData>();
                container.Register <IIntencionData, Upecito.Data.Oracle.Implementacion.IntencionData>();
            }

            if (database.Equals("MSSQLSERVER"))
            {
                container.Register <ISesionData, Upecito.Data.MSSQLSERVER.Implementacion.SesionData>();
                container.Register <ISolicitudData, Upecito.Data.MSSQLSERVER.Implementacion.SolicitudData>();
                container.Register <IIntencionData, Upecito.Data.MSSQLSERVER.Implementacion.IntencionData>();
                container.Register <IChatLogData, Upecito.Data.MSSQLSERVER.Implementacion.ChatLogData>();
                container.Register <ICursoData, Upecito.Data.MSSQLSERVER.Implementacion.CursoData>();
                container.Register <IActividadData, Upecito.Data.MSSQLSERVER.Implementacion.ActividadData>();
            }
        }
Example #4
0
        public static void AddDataAvailableServiceBus(this Container container)
        {
            container.RegisterSingleton <IServiceBusClientFactory>(() =>
            {
                var configuration    = container.GetInstance <IConfiguration>();
                var connectionString = configuration.GetSetting(Settings.DataAvailableConnectionString);
                return(new ServiceBusClientFactory(connectionString));
            });

            container.RegisterSingleton <IMessageBusFactory>(() =>
            {
                var serviceBusClientFactory = container.GetInstance <IServiceBusClientFactory>();
                return(new AzureServiceBusFactory(serviceBusClientFactory));
            });
        }
Example #5
0
        /// <summary>
        /// Registers the specified obj.
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="obj">The obj.</param>
        /// <param name="manageLifetime">if set to <c>true</c> [manage lifetime].</param>
        protected void RegisterSingleInstance <T>(T obj, bool manageLifetime = true)
            where T : class
        {
            Container.RegisterSingleton(obj);

            if (manageLifetime)
            {
                var disposable = obj as IDisposable;

                if (disposable != null)
                {
                    DisposableParts.Add(disposable);
                }
            }
        }
Example #6
0
        private void btnStart_Click(object sender, EventArgs e)
        {
            if (this.btnStart.Text == "START")
            {
                var container = new SimpleInjector.Container();

                container.Register <IChatServices, ChatServices>();
                container.Register <IMessagesServices, MessagesServices>();
                container.Register <IUsersByChatServices, UsersByChatServices>();
                container.Register <IUsersServices, UsersServices>();
                container.RegisterSingleton <PresenceContext>();

                container.Verify();


                //PresenceServiceInitializer.configure(container);

                this.btnStart.Text = "STOP";
            }
            else
            {
                //PresenceServiceInitializer.getInstance().Stop();
                this.btnStart.Text = "START";
            }
        }
 public static void AddDatabaseCosmosConfig(this Container container)
 {
     container.RegisterSingleton(() =>
     {
         var configuration        = container.GetService <IConfiguration>();
         var messageHubDatabaseId = configuration.GetSetting(Settings.MessagesDbId);
         return(new CosmosDatabaseConfig(messageHubDatabaseId));
     });
 }
        public static IQueryProcessor Create(TypiconDBContext dbContext)
        {
            var container = new SimpleInjector.Container();

            container.Register <ITypiconSerializer, TypiconSerializer>();
            container.RegisterSingleton <IJobRepository>(() => new JobRepository());

            container.Register(typeof(IQueryHandler <,>), typeof(QueryProcessor).Assembly, typeof(TypiconEntityModel).Assembly);
            container.Register <IQueryProcessor, QueryProcessor>();

            container.RegisterInstance(dbContext);

            var processor = container.GetInstance <IQueryProcessor>();

            return(processor);
        }
Example #9
0
        /// <summary>
        /// Registers the set of services in the specified <paramref name="container" />.
        /// </summary>
        /// <param name="container">The container the set of services is registered into.</param>
        public void RegisterServices(Container container)
        {
            container.Register <IThemeType, ThemeType>();
            container.Register <IGameType, GameType>();
            container.RegisterSingleton <IDatabase, Database>();
            container.InterceptWith <PropertyChangedInterceptor <IDatabase> >(x => x == typeof(IDatabase), true);

            var tracker = new Jot.Tracker(new JsonStore());

            tracker.Configure <Database>().PersistOn(PropChanged);
            container.RegisterInitializer(d =>
            {
                tracker.Track(d.Instance);
            }, ctx => ctx.Registration.ImplementationType == typeof(Database));

            container.Register <IStorageProvider, Storage>();
        }
Example #10
0
        public static IServiceProvider Register()
        {
            var container = new SimpleInjector.Container();

            var bus = new FakeBus();

            bus.Subscribe <OrderCreated>("orderCreated", new OrderCreatedHandler());
            container.RegisterSingleton(typeof(IBus), bus);

            container.Register <IOrderRepository, FakeOrderRepository>();
            container.Register <IOrderInfoRepository, FakeOrderInfoRepository>();
            container.Register <ICustomerCreditService, FakeCustomerCreditService>();
            container.Register(typeof(ICommandHandler <>), GetAsm("Shop.Order.Write"));
            container.Register(typeof(IQueryHandler <,>), GetAsm("Shop.Order.Read"));
            container.Register(typeof(IEventHandler <>), GetAsm("Shop.Order.Read"));

            return(container);
        }
Example #11
0
        public void CanCreateNewHttpClientUsingSimpleInjector()
        {
            var container = new SimpleInjector.Container();

            container.RegisterSingleton <IHttpClientProvider>(() => new HttpClientProvider("https://webapi.investagrams.com/"));
            container.RegisterLycheeHttpClientService();
            var headers = new Dictionary <string, string>
            {
                { "cookie", "__cfduid=de323b9ac823cdc7f269a305c2e32b2c21564121419; _uc_referrer=https%3A//www.google.com/; _uc_initial_landing_page=https%3A//www.investagrams.com/; _ga=GA1.2.689041548.1564121423; _fbp=fb.1.1564121423362.1863262359; _uc_utm_medium=InvestaPlatform; _uc_utm_campaign=InvestaPrime; _uc_utm_term=; _uc_utm_content=; _uc_utm_source=PrimeButton; __tawkuuid=e::investagrams.com::HwBjbyfzeoyTLlvUdRt3JmaFlvO27w/60zDsTwo9mQoDq9lE47f46zld/1IMlWWr::2; _fbc=fb.1.1574068802060.IwAR3CrqMPypr465sGPAkvk4vny_cecYphhjvAcLKHt_RlAJdAJ4vrziquGCw; __gads=ID=8ae7617cb96d5b41:T=1579846771:S=ALNI_MaWEVwnz5BX6FRq7GWVmImL2zRHzg; _gid=GA1.2.1133112883.1580945880; _uc_last_referrer=direct; e7bfeae28c72f9a5fae2a6ce78db24e7=7717A7A56A01A305DF86531111B88208E8F4361BE5D6B39B9EE4550B988C2B7E6D27A06ECDBFDA39A39FFD14B1AA05C25512BFBFC57EFE9B5EC0C0030501F8528BA6673B8F17DA06AC89875539C0D577699FB5E1C4437DFF4AF2C0FBC30C8FE8C6CB06BAB7CF6810A59DEB6A92649143E353F311058852E9825B1AFE4146495721C4523F32B16E2C280462DAB580EA5A7F4EDFA10D3BD4E52D7E74F4CC23FA092C9E8FB19AD05CA9B68B257B316B7F038F405A18AA1F12F3407AD39E7F02D14AB1C5CC040613472CDAA608DEA99B7D266E3E2C76120477289AC12B828D71B1ADCC550D46EA43F39BE4ADB35B5DF0C27F; _uc_current_session=true; _uc_visits=223; _gat=1" },
                { "origin", "https://www.investagrams.com" }
            };

            var httpClientService = container.GetInstance <IHttpClientService>();
            var response          = httpClientService.SendRequest <InvestaViewStockResponse>("/InvestaApi/Stock/viewStock?stockCode=PSE:WEB", HttpMethod.Post, headers);

            //Asserts
            Assert.DoesNotThrow(() => httpClientService.CreateNewHttpClient("https://www.facebook.com"));
        }
        /// <summary>
        /// Create a process scoped container given the supplied
        /// </summary>
        public static Container CreateProcessScopedContainer(IContainerInitialiser containerInitialiser)
        {
            var container = new Container();

            //Allow overriding so the corepackage can be injected manually
            container.Options.AllowOverridingRegistrations = true;
            var registrationFilter = new RegistrationFilter
            {
                RegisterNonProcessScoped = true,
                RegisterProcessScoped    = true,
                RegisterShared           = true,
                RegisterTransient        = true
            };

            containerInitialiser.ConfigureContainerRegistrations(container, registrationFilter);
            container.RegisterSingleton(containerInitialiser);
            //This is to prevent automatic creation of unregistered concrete types.
            container.DisableAutomaticRegistrationForConcreteTypes();
            return(container);
        }
Example #13
0
        public static ICommandProcessor CreateJobProcessor(TypiconDBContext dbContext, JobRepository jobRepository)
        {
            var container = new SimpleInjector.Container();

            container.Register <ITypiconSerializer, TypiconSerializer>();

            container.Register(typeof(ICommandHandler <>), typeof(MajorDataCalculator).Assembly);
            container.Register <IRuleHandlerSettingsFactory, RuleHandlerSettingsFactory>();
            container.Register <IScheduleDayNameComposer, ScheduleDayNameComposer>();
            container.Register <IRuleSerializerRoot, RuleSerializerRoot>();
            //container.Register<IOutputForms, OutputForms>();
            container.Register <IOutputDayFactory, OutputDayFactory>();

            container.Register <IScheduleDataCalculator, MajorDataCalculator>();
            container.RegisterDecorator(
                typeof(IScheduleDataCalculator),
                typeof(TransparentDataCalculator));

            container.RegisterDecorator(
                typeof(IScheduleDataCalculator),
                typeof(AsAdditionDataCalculator));

            container.RegisterDecorator(
                typeof(IScheduleDataCalculator),
                typeof(ExplicitDataCalculator));


            container.Register(typeof(IQueryHandler <,>), typeof(QueryProcessor).Assembly, typeof(TypiconEntityModel).Assembly);
            container.Register <IQueryProcessor, DataQueryProcessor>();

            container.RegisterSingleton(typeof(IJobRepository), jobRepository);

            container.RegisterTypiconCommandClasses();

            container.RegisterInstance(dbContext);

            var processor = container.GetInstance <ICommandProcessor>();

            return(processor);
        }
Example #14
0
        static Program()
        {
            var storageEnv    = Environment.ExpandEnvironmentVariables($"%{StorageEnv}%");
            var globalContext = new GlobalContext
            {
                StoragePath = storageEnv,
                SymlinkPath = Path.Combine(storageEnv, "current"),
                Is64Bit     = Environment.Is64BitOperatingSystem
            };

            globalContext.ActiveVersionTrackerFilePath = Path.Combine(globalContext.StoragePath, "last-used");

            Container = new Container();
            Container.RegisterInstance(globalContext);
            Container.RegisterSingleton <NodeJsWebApi>();
            Container.RegisterSingleton <NodeJs>();
            Container.RegisterSingleton <AvailCommand>();
            Container.RegisterSingleton <ListCommand>();
            Container.RegisterSingleton <InstallCommand>();
            Container.RegisterSingleton <UninstallCommand>();
            Container.RegisterSingleton <UseCommand>();
            Container.Verify();
        }
Example #15
0
        private App()
        {
            if (!Debugger.IsAttached)
            {
                AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
            }

            _mutex = new Mutex(false, $"h3x4d3c1m4l BrightLight - {Environment.UserName}", out bool createdNew);
            if (!createdNew)
            {
                // app already running
                MessageBox.Show("BrightLight is already running!", "BrightLight - Already running", MessageBoxButton.OK, MessageBoxImage.Information);
                Environment.Exit(0);
            }

            InitializeComponent();
            AppBuilder.Configure <AvaloniaApp>().UseWin32().UseDirect2D1().SetupWithoutStarting();

            var test = new SearchWindow(new MainViewModel(new RunUsingWpfDispatcherHelper(Dispatcher)));

            Container = new Container();
            Container.RegisterInstance(Dispatcher);
            Container.RegisterSingleton <IRunOnUiThreadHelper, RunUsingWpfDispatcherHelper>();
            Container.RegisterSingleton <MainViewModel>();
            Container.RegisterSingleton <SettingsViewModel>();
            Container.RegisterSingleton <SearchWindow>();
            Container.RegisterSingleton <SettingsWindow>();
            Container.RegisterSingleton <TaskbarIcon>();
            Container.RegisterSingleton(() => Settings.LoadOrDefault());
            Container.Verify();

            _showHotKey = new HotKey(Key.Space, KeyModifier.Ctrl | KeyModifier.Shift, key =>
            {
                Container.GetInstance <MainViewModel>().Reset();
                Container.GetInstance <SearchWindow>().Show();
            });
        }
Example #16
0
 void IInitializeMapping.Init(SimpleInjector.Container container)
 {
     container.RegisterSingleton <IMessagingClient, IrcMessagingClient>();
 }
Example #17
0
 protected void AddMockContainer <T>()
     where T : class
 {
     LightMockContainer.Add(typeof(T), new Mock <T>());
     Container.RegisterSingleton <T>(MockObjectCreator <T>());
 }
Example #18
0
 /// <summary>
 /// Register a type as a singleton in the container.
 /// </summary>
 /// <typeparam name="RegisterType">The 1st type parameter.</typeparam>
 /// <typeparam name="RegisterImplementation">The 2nd type parameter.</typeparam>
 public void RegisterSingleton <RegisterType, RegisterImplementation> ()
     where RegisterType : class
     where RegisterImplementation : class, RegisterType
 {
     _container.RegisterSingleton <RegisterType, RegisterImplementation> ();
 }
Example #19
0
 void IInitializeMapping.Init(SimpleInjector.Container container)
 {
     container.RegisterSingleton <ILogging, Logging.Logging>();
     container.RegisterSingleton <IConfiguration, HardcodedConfiguration>();
 }
Example #20
0
 static Program()
 {
     container.RegisterSingleton <IAppConfig, AppConfig>();
     container.RegisterSingleton <ILog, Log>();
     container.Verify();
 }
Example #21
0
        private static void OnStartup(string[] args)
        {
            // TODO free console for UI execution

            // Bootstrap container
            container = new SimpleInjector.Container();

            container.RegisterSingleton<IPlatformFacade, WindowsPlatform>();
            container.RegisterSingleton<IWindowManagerService, WindowManagerService>();
            container.RegisterSingleton<IKeyMapService, KeyMapService>();
            container.RegisterSingleton<INotificationService, NotificationService>();
            container.RegisterSingleton<IMainWindow, MainWindow>();

            // Register default command set
            var commands =
                AppDomain.CurrentDomain.GetAssemblies()
                         .SelectMany(s => s.GetTypes())
                         .Where(p => p != typeof(ICommand) && typeof(ICommand).IsAssignableFrom(p))
                         .ToList();
            container.RegisterCollection<ICommand>(commands);
            container.Register(
                typeof(ICommandHandler<>),
                container.GetTypesToRegister(typeof(ICommandHandler<>), new[] { Assembly.GetExecutingAssembly() })
                    .Where(t => t.IsPublic));

            // Register handlers
            var commandHandlers =
                commands.Select(command => container.GetInstance(typeof(ICommandHandler<>).MakeGenericType(command)));
            container.RegisterSingleton<ICommandService>(
                () => new CommandService(container.GetAllInstances<ICommand>(), commandHandlers));

            container.Verify();

            mainForm = container.GetInstance<IMainWindow>() as Form;

            // Parse arguments and run the app
            var getopt = new GetOpt(Options);

            char returnChar = ' ';
            int optionIndex = 0;
            string optionArg = null;
            bool startWindowManager = true;

            try
            {
                do
                {
                    // parse the args
                    switch (returnChar)
                    {
                        case 'h':
                            Console.Write(getopt.Description);
                            return;
                        case 'v':
                            Console.WriteLine(Application.ProductVersion);
                            return;
                        case 'f': // parse alternate rc file
                            configFile = optionArg;
                            break;
                        case 'c': // send a command
                            startWindowManager = false;
                            break;
                        case 'r': // reset all windows to decorated regular state, in case things screw up :(
                            startWindowManager = false;
                            WindowManagerService.Reset();
                            break;
                    }

                    returnChar = getopt.Parse(args, ref optionIndex, out optionArg);
                }
                while (returnChar != ' ');
            }
            catch (GetOpt.InvalidOptionException e)
            {
                Console.WriteLine(Properties.Resources.Option_Help_Error);
                Console.WriteLine(e);
                return;
            }

            if (startWindowManager)
            {
                // Start the services
                ((ServiceBase)container.GetInstance<IKeyMapService>()).Start();
                ((ServiceBase)container.GetInstance<IWindowManagerService>()).Start();
                ((ServiceBase)container.GetInstance<INotificationService>()).Start();

                // set the internal variables
                // set the data structures
                // read rc file
                ////CommandManager.Execute((int)CommandManager.OtherCommands.source, new string[] { _configFile });
                var keyMapService = container.GetInstance<IKeyMapService>();

                // Top keymap does not require the window on focus, they are global hot keys
                // Prefix key must reside here
                keyMapService.AddKeyMap("top");
                keyMapService.SetTopKey("top", Keys.Control | Keys.B);

                // Root keymap is the default keymap invoked via Prefix key with readkey command
                // All other default shortcuts reside here
                keyMapService.AddKeyMap("root");

                var commandService = container.GetInstance<ICommandService>();
                commandService.Run("definekey top T readkey root");

                // Set default variables
                // commandService.Run()
                ////keyMapService.SetTopKey("root", Keys.Control | Keys.T);
                Application.Run(mainForm);
            }
            else
            {
                // check if an instance already runs
                // send the commands
                // throw output to console or to the bar
            }
        }
 public static void AddCosmosClientBuilder(this Container container)
 {
     container.RegisterSingleton <ICosmosBulkClient>(() => GetCosmosClient(container, true));
     container.RegisterSingleton <ICosmosClient>(() => GetCosmosClient(container, false));
 }