예제 #1
0
 public static IObservable <Unit> ClientBroadcast(this ITestApplication application)
 {
     return(Process.GetProcessesByName("Xpand.XAF.Modules.Reactive.Logger.Client.Win").Any()
         ? TraceEventHub.Broadcasted.FirstAsync(_ => _.Source == application.SUTModule.Name).ToUnit()
            .SubscribeReplay()
         : Unit.Default.ReturnObservable());
 }
예제 #2
0
        public ApplicationFixture()
        {
            var container = ContainerConfig.Configure();

            _scope = container.BeginLifetimeScope();
            App    = _scope.Resolve <ITestApplication>();
        }
예제 #3
0
 private void GetServices()
 {
     processingErrors   = new List <CommandLineErrorEventArgs>();
     registrationErrors = new List <CommandLineErrorEventArgs>();
     processor          = container.Resolve <ICommandLineProcessorService>();
     processor.CommandRegistrationError += Processor_CommandRegistrationError;
     processor.ProcessInputError        += Processor_ProcessInputError;
     applicationMock          = container.Resolve <ITestApplication>();
     commandHistoryWriterMock = container.Resolve <ITestCommandHistoryWriter>();
 }
예제 #4
0
 public static IObservable <Unit> ClientConnect(this ITestApplication application)
 {
     return(Process.GetProcessesByName("Xpand.XAF.Modules.Reactive.Logger.Client.Win").Any()
         ? TraceEventHub.Connecting.FirstAsync().SubscribeReplay()
         : Unit.Default.ReturnObservable());
 }
        public override void SetUpThread(TestConfiguration baseTestConfiguration)
        {
            log.Info("setting up schoolnet thread...");
            ITestApplication  testApplication   = null;
            TestConfiguration testConfiguration = (TestConfiguration)baseTestConfiguration;

            if (testConfiguration.ApplicationName.Equals(ApplicationName.schoolnetsingletenant))
            {
                switch (testConfiguration.ApplicationType)
                {
                case ApplicationType.ANDROID_PHONE_WEB:
                case ApplicationType.ANDROID_TABLET_WEB:
                case ApplicationType.IOS_IPAD_MINI_WEB:
                case ApplicationType.IOS_IPAD_PRO_WEB:
                case ApplicationType.IOS_IPAD_WEB:
                case ApplicationType.IOS_IPHONE_WEB:
                case ApplicationType.LINUX_WEB_CHROME:
                case ApplicationType.LINUX_WEB_FIREFOX:
                case ApplicationType.LINUX_WEB_OPERA:
                case ApplicationType.MAC_WEB_CHROME:
                case ApplicationType.MAC_WEB_FIREFOX:
                case ApplicationType.MAC_WEB_OPERA:
                case ApplicationType.MAC_WEB_SAFARI:
                case ApplicationType.WEB_HEADLESS:
                case ApplicationType.WEB_PHANTOMJS:
                case ApplicationType.WINDOWS_WEB_CHROME:
                case ApplicationType.WINDOWS_WEB_EDGE:
                case ApplicationType.WINDOWS_WEB_FIREFOX:
                case ApplicationType.WINDOWS_WEB_INTERNET_EXPLORER:
                case ApplicationType.WINDOWS_WEB_OPERA:
                    testApplication = new SchoolNetSTWeb(testConfiguration);
                    break;

                default:
                    break;
                }
            }
            if (testConfiguration.ApplicationName.Equals(ApplicationName.schoolnetmultitenant))
            {
                switch (testConfiguration.ApplicationType)
                {
                case ApplicationType.ANDROID_PHONE_WEB:
                case ApplicationType.ANDROID_TABLET_WEB:
                case ApplicationType.IOS_IPAD_MINI_WEB:
                case ApplicationType.IOS_IPAD_PRO_WEB:
                case ApplicationType.IOS_IPAD_WEB:
                case ApplicationType.IOS_IPHONE_WEB:
                case ApplicationType.LINUX_WEB_CHROME:
                case ApplicationType.LINUX_WEB_FIREFOX:
                case ApplicationType.LINUX_WEB_OPERA:
                case ApplicationType.MAC_WEB_CHROME:
                case ApplicationType.MAC_WEB_FIREFOX:
                case ApplicationType.MAC_WEB_OPERA:
                case ApplicationType.MAC_WEB_SAFARI:
                case ApplicationType.WEB_HEADLESS:
                case ApplicationType.WEB_PHANTOMJS:
                case ApplicationType.WINDOWS_WEB_CHROME:
                case ApplicationType.WINDOWS_WEB_EDGE:
                case ApplicationType.WINDOWS_WEB_FIREFOX:
                case ApplicationType.WINDOWS_WEB_INTERNET_EXPLORER:
                case ApplicationType.WINDOWS_WEB_OPERA:
                    testApplication = new SchoolNetMTWeb(testConfiguration);
                    break;

                default:
                    break;
                }
            }
            //TODO: add other types here...
            SetUpThread(testApplication);
            log.Info("set up schoolnet thread.");
        }