Ejemplo n.º 1
0
        public StatLightRunnerFactory(ILogger logger, IEventSubscriptionManager eventSubscriptionManager, IEventPublisher eventPublisher)
        {
            if (logger == null)
            {
                throw new ArgumentNullException("logger");
            }
            _logger = logger;
            _eventSubscriptionManager = eventSubscriptionManager;
            _eventPublisher           = eventPublisher;

            var debugListener = new ConsoleDebugListener(logger);

            _eventSubscriptionManager.AddListener(debugListener);

            var ea = eventSubscriptionManager as EventAggregator;

            if (ea != null)
            {
                ea.IgnoreTracingEvent <InitializationOfUnitTestHarnessClientEvent>();
                ea.IgnoreTracingEvent <TestExecutionClassCompletedClientEvent>();
                ea.IgnoreTracingEvent <TestExecutionClassBeginClientEvent>();
                ea.IgnoreTracingEvent <SignalTestCompleteClientEvent>();
            }

            SetupExtensions(_eventSubscriptionManager);
        }
Ejemplo n.º 2
0
 public RedisEventBus(IEventSubscriptionManager eventSubscriptionManager, IEventHandlerFactory eventHandlerFactory, ISubscriber subscriber, IServiceProvider serviceProvider)
 {
     _subscriptionManager = eventSubscriptionManager;
     _eventHandlerFactory = eventHandlerFactory;
     _subscriber          = subscriber;
     _serviceProvider     = serviceProvider;
 }
Ejemplo n.º 3
0
        internal WebServerOnlyRunner(
            ILogger logger,
            IEventSubscriptionManager eventSubscriptionManager,
            IEventPublisher eventPublisher,
            IWebServer webServer,
            Uri testHtmlPageUrl,
            string xapPath)
        {
            _logger = logger;
            _eventSubscriptionManager = eventSubscriptionManager;
            _webServer       = webServer;
            _testHtmlPageUrl = testHtmlPageUrl;
            _xapPath         = xapPath;

            _testResultAggregator = new TestResultAggregator(logger, eventPublisher, _xapPath);
            _eventSubscriptionManager.AddListener(_testResultAggregator);
            _continuousRunnerThread = new Thread(() =>
            {
                string line;
                do
                {
                    line = Console.ReadLine();
                } while (line.ToLower(CultureInfo.CurrentCulture) != "exit");
                //string line;
                //while ((line = System.Console.ReadLine())
                //        .ToLower(CultureInfo.CurrentCulture) != "exit")
                //{
                //    ;
                //}
            });
        }
Ejemplo n.º 4
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env, IEventSubscriptionManager eventSubscriptionManager)
        {
            eventSubscriptionManager.Subscribe <PageViewEvent, PageViewEventHandler>();

            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            app.UseHealthCheck("/health", serviceProvider =>
            {
                // 检查数据库访问是否正常
                var configuration = serviceProvider.GetService <IConfiguration>();
                var connString    = configuration.GetConnectionString("Configurations");
                using (var conn = new SqlConnection(connString))
                {
                    conn.EnsureOpen();
                }
                return(true);
            });

            app.Use(async(context, next) =>
            {
                var eventPublisher = context.RequestServices.GetRequiredService <IEventPublisher>();
                await eventPublisher.Publish("pageView", new PageViewEvent()
                {
                    Path = context.Request.Path.Value
                });
                await next();
            });
            app.UseAuthentication();
            app.UseMvc();
        }
        internal ContinuousConsoleRunner(
            ILogger logger,
            IEventSubscriptionManager eventSubscriptionManager,
            IEventPublisher eventPublisher,
            string xapPath,
            ClientTestRunConfiguration clientTestRunConfiguration,
            IWebServer webServer,
            IWebBrowser webBrowser)
        {
            _xapPath   = xapPath;
            _webServer = webServer;
            _xapFileBuildChangedMonitor = new XapFileBuildChangedMonitor(eventPublisher, _xapPath);

            _continuousRunnerThread = new Thread(() =>
            {
                using (var runner = new ContinuousTestRunner(logger, eventSubscriptionManager, eventPublisher, webBrowser, clientTestRunConfiguration, _xapPath))
                {
                    string line;
                    while (!(line = System.Console.ReadLine()).Equals("exit", StringComparison.OrdinalIgnoreCase))
                    {
                        runner.ForceFilteredTest(line);
                    }
                }
            });
        }
        internal ContinuousConsoleRunner(
            ILogger logger,
            IEventSubscriptionManager eventSubscriptionManager,
            IEventPublisher eventPublisher ,
            string xapPath,
            ClientTestRunConfiguration clientTestRunConfiguration,
            IWebServer webServer,
            IWebBrowser webBrowser)
        {
            _xapPath = xapPath;
            _webServer = webServer;
            _xapFileBuildChangedMonitor = new XapFileBuildChangedMonitor(eventPublisher, _xapPath);

            _continuousRunnerThread = new Thread(() =>
            {
                using (var runner = new ContinuousTestRunner(logger, eventSubscriptionManager, eventPublisher, webBrowser, clientTestRunConfiguration, _xapPath))
                {
                    string line;
                    while (!(line = System.Console.ReadLine()).Equals("exit", StringComparison.OrdinalIgnoreCase))
                    {
                        runner.ForceFilteredTest(line);
                    }
                }
            });
        }
Ejemplo n.º 7
0
        public static IEventSubscriptionManager AddListener <T>(this IEventSubscriptionManager eventAggregator, Action <T> listener)
        {
            var delegateListener = new DelegateListener <T>(listener);

            eventAggregator.AddListener(delegateListener);
            return(eventAggregator);
        }
Ejemplo n.º 8
0
        internal WebServerOnlyRunner(
            ILogger logger,
            IEventSubscriptionManager eventSubscriptionManager,
            IEventPublisher eventPublisher,
            IWebServer webServer,
            Uri testHtmlPageUrl,
            string xapPath)
        {
            _logger = logger;
            _eventSubscriptionManager = eventSubscriptionManager;
            _webServer = webServer;
            _testHtmlPageUrl = testHtmlPageUrl;
            _xapPath = xapPath;

            _testResultAggregator = new TestResultAggregator(logger, eventPublisher, _xapPath);
            _eventSubscriptionManager.AddListener(_testResultAggregator);
            _continuousRunnerThread = new Thread(() =>
            {
                string line;
                do
                {
                    line = Console.ReadLine();
                } while (line.ToLower(CultureInfo.CurrentCulture) != "exit");
                //string line;
                //while ((line = System.Console.ReadLine())
                //        .ToLower(CultureInfo.CurrentCulture) != "exit")
                //{
                //    ;
                //}
            });
        }
 public ResetAllEventsForAllSubscriptionsTask(
     IEventSubscriptionManager eventSubcriptionManager,
     IEventStore eventStore
     )
 {
     _eventSubscriptionManager = eventSubcriptionManager;
     _eventStore = eventStore;
 }
 public ResetAllEventsForAllSubscriptionsTask(
         IEventSubscriptionManager eventSubcriptionManager,
         IEventStore eventStore
     )
 {
     _eventSubscriptionManager = eventSubcriptionManager;
     _eventStore = eventStore;
 }
 /// <summary>
 /// Initializes an instance of a <see cref="UncommittedEventStreamCoordinator"/>
 /// </summary>
 /// <param name="eventStore"><see cref="IEventStore"/> to use for saving the events</param>
 /// <param name="eventStoreChangeManager"><see cref="IEventStoreChangeManager"/> to notify about changes</param>
 /// <param name="eventSubscriptionManager"><see cref="IEventSubscriptionManager"/> to process subscriptions</param>
 public UncommittedEventStreamCoordinator(
     IEventStore eventStore,
     IEventStoreChangeManager eventStoreChangeManager,
     IEventSubscriptionManager eventSubscriptionManager)
 {
     _eventStore = eventStore;
     _eventStoreChangeManager = eventStoreChangeManager;
     _eventSubscriptionManager = eventSubscriptionManager;
 }
Ejemplo n.º 12
0
 /// <summary>
 /// Initializes an instance of a <see cref="UncommittedEventStreamCoordinator"/>
 /// </summary>
 /// <param name="eventStore"><see cref="IEventStore"/> to use for saving the events</param>
 /// <param name="eventStoreChangeManager"><see cref="IEventStoreChangeManager"/> to notify about changes</param>
 /// <param name="eventSubscriptionManager"><see cref="IEventSubscriptionManager"/> to process subscriptions</param>
 public UncommittedEventStreamCoordinator(
     IEventStore eventStore,
     IEventStoreChangeManager eventStoreChangeManager,
     IEventSubscriptionManager eventSubscriptionManager)
 {
     _eventStore = eventStore;
     _eventStoreChangeManager  = eventStoreChangeManager;
     _eventSubscriptionManager = eventSubscriptionManager;
 }
Ejemplo n.º 13
0
            protected override void Before_all_tests()
            {
                base.Before_all_tests();

                var ea = (new EventAggregatorFactory(TestLogger)).Create();

                _eventSubscriptionManager = ea;
                _eventPublisher           = ea;
                _eventSubscriptionManager.AddListener(new MultiListener());
            }
Ejemplo n.º 14
0
	    /// <summary>
	    /// Initializes a new instance of <see cref="EventStore"/>
	    /// </summary>
	    /// <param name="repository"><see cref="IEventRepository"/> that persists events</param>
        /// <param name="eventStoreChangeManager">A <see cref="IEventStoreChangeManager"/> for managing changes to the event store</param>
        /// <param name="eventSubscriptionManager">A <see cref="IEventSubscriptionManager"/> for managing event subscriptions</param>
	    /// <param name="localizer"><see cref="ILocalizer" /> that ensures thread has the correct culture.</param>
	    public EventStore(
            IEventRepository repository, 
            IEventStoreChangeManager eventStoreChangeManager, 
            IEventSubscriptionManager eventSubscriptionManager,
            ILocalizer localizer)
        {
            _repository = repository;
            _eventStoreChangeManager = eventStoreChangeManager;
            _eventSubscriptionManager = eventSubscriptionManager;
		    _localizer = localizer;
        }
Ejemplo n.º 15
0
        public StatLightRunnerFactory(ILogger logger, IEventSubscriptionManager eventSubscriptionManager, IEventPublisher eventPublisher)
        {
            if (logger == null) throw new ArgumentNullException("logger");
            _logger = logger;
            _eventSubscriptionManager = eventSubscriptionManager;
            _eventPublisher = eventPublisher;

            var debugListener = new ConsoleDebugListener(logger);
            _eventSubscriptionManager.AddListener(debugListener);

            SetupExtensions(_eventSubscriptionManager);
        }
Ejemplo n.º 16
0
        protected internal virtual IList <EventSubscriptionEntity> FindSignalEventSubscriptions(
            CommandContext commandContext, string signalName)
        {
            IEventSubscriptionManager eventSubscriptionManager = commandContext.EventSubscriptionManager;

            if (Builder.IsTenantIdSet)
            {
                return(eventSubscriptionManager.FindSignalEventSubscriptionsByEventNameAndTenantId(signalName,
                                                                                                   Builder.TenantId));
            }
            return(eventSubscriptionManager.FindSignalEventSubscriptionsByEventName(signalName));
        }
Ejemplo n.º 17
0
        private void SetupExtensions(IEventSubscriptionManager eventSubscriptionManager)
        {
            try
            {
                var path = GetFullPath("Extensions");
                if (!Directory.Exists(path))
                {
                    Directory.CreateDirectory(path);
                }

                using (var directoryCatalog = new DirectoryCatalog(path))
                    using (var compositionContainer = new CompositionContainer(directoryCatalog))
                    {
                        var extensions = compositionContainer.GetExports <ITestingReportEvents>().ToList();
                        if (extensions.Any())
                        {
                            _logger.Debug("********** Extensions **********");
                            foreach (var lazyExtension in extensions)
                            {
                                var extensionInstance = lazyExtension.Value;
                                _logger.Debug("* Adding - {0}".FormatWith(extensionInstance.GetType().FullName));
                                eventSubscriptionManager.AddListener(extensionInstance);
                            }
                            _logger.Debug("********************************");
                        }
                    }
            }
            catch (ReflectionTypeLoadException rfex)
            {
                string loaderExceptionMessages = "";
                foreach (var t in rfex.LoaderExceptions)
                {
                    loaderExceptionMessages += "   -  ";
                    loaderExceptionMessages += t.Message;
                    loaderExceptionMessages += Environment.NewLine;
                }

                string msg = @"
********************* ReflectionTypeLoadException *********************
***** Begin Loader Exception Messages *****
{0}
***** End Loader Exception Messages *****
".FormatWith(loaderExceptionMessages);

                _logger.Error(msg);
            }
            catch (Exception e)
            {
                _logger.Error("Failed to initialize extension. Error:{0}{1}".FormatWith(Environment.NewLine, e.ToString()));
            }
        }
Ejemplo n.º 18
0
 internal TeamCityRunner(
     ILogger logger,
     IEventSubscriptionManager eventSubscriptionManager,
     IEventPublisher eventPublisher,
     IWebServer webServer,
     List<IWebBrowser> webBrowsers,
     TeamCityTestResultHandler teamCityTestResultHandler,
     string xapPath,
     IDialogMonitorRunner dialogMonitorRunner)
     : base(logger, eventSubscriptionManager, eventPublisher, webServer, webBrowsers, xapPath, dialogMonitorRunner)
 {
     _eventSubscriptionManager = eventSubscriptionManager;
     _teamCityTestResultHandler = teamCityTestResultHandler;
 }
Ejemplo n.º 19
0
 internal TeamCityRunner(
     ILogger logger,
     IEventSubscriptionManager eventSubscriptionManager,
     IEventPublisher eventPublisher,
     IWebServer webServer,
     List <IWebBrowser> webBrowsers,
     TeamCityTestResultHandler teamCityTestResultHandler,
     string xapPath,
     IDialogMonitorRunner dialogMonitorRunner)
     : base(logger, eventSubscriptionManager, eventPublisher, webServer, webBrowsers, xapPath, dialogMonitorRunner)
 {
     _eventSubscriptionManager  = eventSubscriptionManager;
     _teamCityTestResultHandler = teamCityTestResultHandler;
 }
        protected internal virtual IList <EventSubscriptionEntity> FindSignalEventSubscriptions(string signalName,
                                                                                                string tenantId)
        {
            IEventSubscriptionManager eventSubscriptionManager = Context.CommandContext.EventSubscriptionManager;

            if (!ReferenceEquals(tenantId, null))
            {
                return
                    (eventSubscriptionManager.FindSignalEventSubscriptionsByEventNameAndTenantIdIncludeWithoutTenantId(
                         signalName, tenantId));
            }
            // find event subscriptions without tenant id
            //Preparing: select EVT.* from ACT_RU_EVENT_SUBSCR EVT left join ACT_RU_EXECUTION EXC on EVT.EXECUTION_ID_ = EXC.ID_ where (EVENT_TYPE_ = 'signal') and (EVENT_NAME_ = ?) and (EVT.EXECUTION_ID_ is null or EXC.SUSPENSION_STATE_ = 1) and EVT.TENANT_ID_ is null
            return(eventSubscriptionManager.FindSignalEventSubscriptionsByEventNameAndTenantId(signalName, null));
        }
Ejemplo n.º 21
0
        public StatLightRunnerFactory(ILogger logger, TinyIoCContainer ioc)
        {
            if (logger == null) throw new ArgumentNullException("logger");
            if (ioc == null) throw new ArgumentNullException("ioc");

            _ioc = ioc;
            _logger = logger;

            _eventSubscriptionManager = ioc.Resolve<IEventSubscriptionManager>();
            _eventPublisher = ioc.Resolve<IEventPublisher>();

            _ioc.ResolveAndAddToEventAggregator<ConsoleDebugListener>();

            _ioc.Resolve<ExtensionResolver>().AddExtensionsToEventAggregator();
        }
Ejemplo n.º 22
0
        public StatLightRunnerFactory(ILogger logger, IEventSubscriptionManager eventSubscriptionManager, IEventPublisher eventPublisher)
        {
            if (logger == null)
            {
                throw new ArgumentNullException("logger");
            }
            _logger = logger;
            _eventSubscriptionManager = eventSubscriptionManager;
            _eventPublisher           = eventPublisher;

            var debugListener = new ConsoleDebugListener(logger);

            _eventSubscriptionManager.AddListener(debugListener);

            SetupExtensions(_eventSubscriptionManager);
        }
Ejemplo n.º 23
0
        protected internal virtual void SendSignalToExecution(CommandContext commandContext, string signalName,
                                                              string executionId)
        {
            IExecutionManager executionManager = commandContext.ExecutionManager;
            ExecutionEntity   execution        = executionManager.FindExecutionById(executionId);

            EnsureUtil.EnsureNotNull("Cannot find execution with id '" + executionId + "'", "execution", execution);

            IEventSubscriptionManager       eventSubscriptionManager = commandContext.EventSubscriptionManager;
            IList <EventSubscriptionEntity> signalEvents             =
                eventSubscriptionManager.FindSignalEventSubscriptionsByNameAndExecution(signalName, executionId);

            EnsureUtil.EnsureNotEmpty("Execution '" + executionId + "' has not subscribed to a signal event with name '" + signalName + "'.", ListExt.ConvertToIlist(signalEvents));

            CheckAuthorizationOfCatchSignals(commandContext, signalEvents);
            NotifyExecutions(signalEvents);
        }
Ejemplo n.º 24
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env, IEventSubscriptionManager eventSubscriptionManager)
        {
            eventSubscriptionManager.Subscribe <PageViewEvent, PageViewEventHandler>();

            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            app.UseHealthCheck("/health", serviceProvider =>
            {
                // 检查数据库访问是否正常
                var configuration = serviceProvider.GetService <IConfiguration>();
                var connString    = configuration.GetConnectionString("Configurations");
                using (var conn = new SqlConnection(connString))
                {
                    conn.EnsureOpen();
                }
                return(true);
            });

            //app.Use(async (context, next) =>
            //{
            //    var eventPublisher = context.RequestServices.GetRequiredService<IEventPublisher>();
            //    await eventPublisher.Publish("pageView", new PageViewEvent() { Path = context.Request.Path.Value });
            //    await next();
            //});

            var supportedCultures = new[]
            {
                new CultureInfo("zh"),
                new CultureInfo("en"),
            };

            app.UseRequestLocalization(new RequestLocalizationOptions
            {
                DefaultRequestCulture = new RequestCulture("zh"),
                // Formatting numbers, dates, etc.
                SupportedCultures = supportedCultures,
                // UI strings that we have localized.
                SupportedUICultures = supportedCultures
            });

            app.UseAuthentication();
            app.UseMvcWithDefaultRoute();
        }
Ejemplo n.º 25
0
        public static TinyIoCContainer ResolveAndAddToEventAggregator <T>(this TinyIoCContainer ioc) where T : class
        {
            if (ioc == null)
            {
                throw new ArgumentNullException("ioc");
            }

            if (_eventSubscriptionManager == null)
            {
                _eventSubscriptionManager = ioc.Resolve <IEventSubscriptionManager>();
            }

            var listener = ioc.Resolve <T>();

            _eventSubscriptionManager.AddListener(listener);
            return(ioc);
        }
        public static IDisposable AddListenerAction <T>(this IEventSubscriptionManager eventAggregator, Action <T, IEventAggregator> listener)
        {
            if (eventAggregator == null)
            {
                throw new ArgumentNullException(nameof(eventAggregator));
            }
            if (listener == null)
            {
                throw new ArgumentNullException(nameof(listener));
            }

            var delegateListener = new DelegateListener <T>(listener, eventAggregator);

            eventAggregator.AddListener(delegateListener);

            return(delegateListener);
        }
Ejemplo n.º 27
0
        internal OnetimeRunner(
            ILogger logger,
            IEventSubscriptionManager eventSubscriptionManager,
            IEventPublisher eventPublisher,
            IWebServer webServer,
            List <IWebBrowser> webBrowsers,
            string xapPath,
            IDialogMonitorRunner dialogMonitorRunner)
        {
            _logger = logger;
            _eventSubscriptionManager = eventSubscriptionManager;
            _webServer           = webServer;
            _webBrowsers         = webBrowsers;
            _xapPath             = xapPath;
            _dialogMonitorRunner = dialogMonitorRunner;

            _testResultAggregator = new TestResultAggregator(logger, eventPublisher, _xapPath);
            _eventSubscriptionManager.AddListener(_testResultAggregator);
            _eventSubscriptionManager.AddListener(this);
        }
        public StatLightRunnerFactory(ILogger logger, IEventSubscriptionManager eventSubscriptionManager, IEventPublisher eventPublisher)
        {
            if (logger == null) throw new ArgumentNullException("logger");
            _logger = logger;
            _eventSubscriptionManager = eventSubscriptionManager;
            _eventPublisher = eventPublisher;

            var debugListener = new ConsoleDebugListener(logger);
            _eventSubscriptionManager.AddListener(debugListener);

            var ea = eventSubscriptionManager as EventAggregator;
            if (ea != null)
            {
                ea.IgnoreTracingEvent<InitializationOfUnitTestHarnessClientEvent>();
                ea.IgnoreTracingEvent<TestExecutionClassCompletedClientEvent>();
                ea.IgnoreTracingEvent<TestExecutionClassBeginClientEvent>();
                ea.IgnoreTracingEvent<SignalTestCompleteClientEvent>();
            }

            SetupExtensions(_eventSubscriptionManager);
        }
Ejemplo n.º 29
0
        protected internal virtual void RemoveObsoleteEventSubscriptions(ESS.FW.Bpm.Engine.Persistence.Entity.ProcessDefinitionEntity processDefinition, ESS.FW.Bpm.Engine.Persistence.Entity.ProcessDefinitionEntity latestProcessDefinition)
        {
            // remove all subscriptions for the previous version
            if (latestProcessDefinition != null)
            {
                IEventSubscriptionManager eventSubscriptionManager = EventSubscriptionManager;

                IList <EventSubscriptionEntity> subscriptionsToDelete = new List <EventSubscriptionEntity>();

                IList <EventSubscriptionEntity> messageEventSubscriptions = eventSubscriptionManager.FindEventSubscriptionsByConfiguration(EventType.Message.Name, latestProcessDefinition.Id);
                ((List <EventSubscriptionEntity>)subscriptionsToDelete).AddRange(messageEventSubscriptions);

                IList <EventSubscriptionEntity> signalEventSubscriptions = eventSubscriptionManager.FindEventSubscriptionsByConfiguration(EventType.Signal.Name, latestProcessDefinition.Id);
                ((List <EventSubscriptionEntity>)subscriptionsToDelete).AddRange(signalEventSubscriptions);

                foreach (EventSubscriptionEntity eventSubscriptionEntity in subscriptionsToDelete)
                {
                    eventSubscriptionEntity.Delete();
                }
            }
        }
Ejemplo n.º 30
0
        public StatLightRunnerFactory(ILogger logger, TinyIoCContainer ioc)
        {
            if (logger == null)
            {
                throw new ArgumentNullException("logger");
            }
            if (ioc == null)
            {
                throw new ArgumentNullException("ioc");
            }

            _ioc    = ioc;
            _logger = logger;

            _eventSubscriptionManager = ioc.Resolve <IEventSubscriptionManager>();
            _eventPublisher           = ioc.Resolve <IEventPublisher>();

            _ioc.ResolveAndAddToEventAggregator <ConsoleDebugListener>();

            _ioc.Resolve <ExtensionResolver>().AddExtensionsToEventAggregator();
        }
Ejemplo n.º 31
0
        protected internal virtual IList <EventSubscriptionEntity> FindMessageStartEventSubscriptions(
            CommandContext commandContext, string messageName, CorrelationSet correlationSet)
        {
            IEventSubscriptionManager eventSubscriptionManager = commandContext.EventSubscriptionManager;

            if (correlationSet.IsTenantIdSet)
            {
                EventSubscriptionEntity eventSubscription = eventSubscriptionManager.FindMessageStartEventSubscriptionByNameAndTenantId(messageName, correlationSet.TenantId);
                if (eventSubscription != null)
                {
                    return(new List <EventSubscriptionEntity> {
                        eventSubscription
                    });
                }
                else
                {
                    return(new List <EventSubscriptionEntity>());
                }
            }
            return(eventSubscriptionManager.FindMessageStartEventSubscriptionByName(messageName));;
        }
Ejemplo n.º 32
0
        internal ContinuousTestRunner(
            ILogger logger,
            IEventSubscriptionManager eventSubscriptionManager,
            IEventPublisher eventPublisher,
            IWebBrowser webBrowser,
            ClientTestRunConfiguration clientTestRunConfiguration,
            string xapPath)
        {
            _logger = logger;
            _eventSubscriptionManager = eventSubscriptionManager;
            _eventPublisher           = eventPublisher;
            _webBrowser = webBrowser;
            _clientTestRunConfiguration = clientTestRunConfiguration;
            _xapPath = xapPath;

            _eventSubscriptionManager.AddListener(this);

            _logger.Debug("ContinuousTestRunner.ctor()");

            Start();
        }
Ejemplo n.º 33
0
        internal ContinuousConsoleRunner(
            ILogger logger,
            IEventSubscriptionManager eventSubscriptionManager,
            IEventPublisher eventPublisher,
            IWebServer webServer,
            IEnumerable <IWebBrowser> webBrowsers,
            IDialogMonitorRunner dialogMonitorRunner,
            ICurrentStatLightConfiguration currentStatLightConfiguration)
        {
            eventSubscriptionManager.AddListener(this);
            _logger = logger;
            _eventSubscriptionManager = eventSubscriptionManager;
            _eventPublisher           = eventPublisher;
            _webServer                     = webServer;
            _webBrowsers                   = webBrowsers;
            _dialogMonitorRunner           = dialogMonitorRunner;
            _currentStatLightConfiguration = currentStatLightConfiguration;
            Func <string, string> getFullXapPath = path => new FileInfo(path).FullName;
            var xapFiles = currentStatLightConfiguration.Select(x => getFullXapPath(x.Server.XapToTestPath));

            _statLightConfigurations    = currentStatLightConfiguration.ToDictionary(x => getFullXapPath(x.Server.XapToTestPath), x => x);
            _xapFileBuildChangedMonitor = new XapFileBuildChangedMonitor(eventPublisher, xapFiles);
            xapFiles.Each(e => _initialXaps.Add(new XapFileBuildChangedServerEvent(e)));
            _currentFilterString = currentStatLightConfiguration.First().Client.TagFilter;
            QueueInitialXaps();

            _runnerTask = new Thread(() =>
            {
                TryRun();

                while (!ShouldExitFromInput())
                {
                    TryRun();
                }
            });
        }
Ejemplo n.º 34
0
        /// <summary>
        /// 构造函数
        /// </summary>

        public ValuesController(ILogger <ValuesController> logger, IEventPublish eventPublish, IEventSubscriptionManager eventSubscription)
        {
            _logger            = logger;
            _eventPublish      = eventPublish;
            _eventSubscription = eventSubscription;
        }
 public DefaultEventHandlerFactory(IEventSubscriptionManager subscriptionManager, IServiceProvider serviceProvider = null)
 {
     _subscriptionManager = subscriptionManager;
     _serviceProvider     = serviceProvider ?? DependencyResolver.Current;
 }
 public DelegateListener(Action <T, IEventAggregator> listener, IEventSubscriptionManager eventSubscriptionManager)
 {
     _listener = listener;
     _eventSubscriptionManager = eventSubscriptionManager;
 }
		public void AddHandlerInScopeThatWillRemoveInstanceWhenGarbageCollected(IEventSubscriptionManager eventSubscriptionManager, bool? holdStrongReference = false)
		{
			var someMessageHandler = new SomeMessageHandler();
			eventSubscriptionManager.AddListener(someMessageHandler, holdStrongReference);
		}
        private void AddHandlerInScopeThatWillRemoveInstanceWhenGarbageCollected(IEventSubscriptionManager eventSubscriptionManager, bool?holdStrongReference = false)
        {
            var someMessageHandler = new SomeMessageHandler();

            eventSubscriptionManager.AddListener(someMessageHandler, holdStrongReference);
        }
        public static IEnumerable <object> GetListeners(this IEventSubscriptionManager eventSubscriptionManager)
        {
            var field = eventSubscriptionManager.GetType().GetField("_listeners", BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance);

            return((IEnumerable <object>)field.GetValue(eventSubscriptionManager));
        }
Ejemplo n.º 40
0
 public static IEventSubscriptionManager AddListener(this IEventSubscriptionManager eventAggregator, Action listener, Predicate <object> filter)
 {
     return(eventAggregator.AddListener(listener, filter));
 }
Ejemplo n.º 41
0
        private void SetupExtensions(IEventSubscriptionManager eventSubscriptionManager)
        {
            try
            {
                var path = GetFullPath("Extensions");
                if (!Directory.Exists(path))
                {
                    Directory.CreateDirectory(path);
                }

                using (var directoryCatalog = new DirectoryCatalog(path))
                using (var compositionContainer = new CompositionContainer(directoryCatalog))
                {

                    var extensions = compositionContainer.GetExports<ITestingReportEvents>().ToList();
                    if (extensions.Any())
                    {
                        _logger.Debug("********** Extensions **********");
                        foreach (var lazyExtension in extensions)
                        {
                            var extensionInstance = lazyExtension.Value;
                            _logger.Debug("* Adding - {0}".FormatWith(extensionInstance.GetType().FullName));
                            eventSubscriptionManager.AddListener(extensionInstance);
                        }
                        _logger.Debug("********************************");
                    }
                }
            }
            catch (ReflectionTypeLoadException rfex)
            {
                string loaderExceptionMessages = "";
                foreach (var t in rfex.LoaderExceptions)
                {
                    loaderExceptionMessages += "   -  ";
                    loaderExceptionMessages += t.Message;
                    loaderExceptionMessages += Environment.NewLine;
                }

                string msg = @"
            ********************* ReflectionTypeLoadException *********************
            ***** Begin Loader Exception Messages *****
            {0}
            ***** End Loader Exception Messages *****
            ".FormatWith(loaderExceptionMessages);

                _logger.Error(msg);
            }
            catch (Exception e)
            {
                _logger.Error("Failed to initialize extension. Error:{0}{1}".FormatWith(Environment.NewLine, e.ToString()));
            }
        }