Exemplo n.º 1
0
        private readonly IEnumerable <string> _appArguments; // Arguments that will be passed to the iOS application

        public AppTester(IMlaunchProcessManager processManager,
                         IHardwareDeviceLoader hardwareDeviceLoader,
                         ISimulatorLoader simulatorLoader,
                         ISimpleListenerFactory simpleListenerFactory,
                         ICrashSnapshotReporterFactory snapshotReporterFactory,
                         ICaptureLogFactory captureLogFactory,
                         IDeviceLogCapturerFactory deviceLogCapturerFactory,
                         ITestReporterFactory reporterFactory,
                         IResultParser resultParser,
                         IFileBackedLog mainLog,
                         ILogs logs,
                         IHelpers helpers,
                         IEnumerable <string> appArguments,
                         Action <string>?logCallback = null)
            : base(hardwareDeviceLoader, mainLog, logCallback)
        {
            _processManager           = processManager ?? throw new ArgumentNullException(nameof(processManager));
            _simulatorLoader          = simulatorLoader ?? throw new ArgumentNullException(nameof(simulatorLoader));
            _listenerFactory          = simpleListenerFactory ?? throw new ArgumentNullException(nameof(simpleListenerFactory));
            _snapshotReporterFactory  = snapshotReporterFactory ?? throw new ArgumentNullException(nameof(snapshotReporterFactory));
            _captureLogFactory        = captureLogFactory ?? throw new ArgumentNullException(nameof(captureLogFactory));
            _deviceLogCapturerFactory = deviceLogCapturerFactory ?? throw new ArgumentNullException(nameof(deviceLogCapturerFactory));
            _testReporterFactory      = reporterFactory ?? throw new ArgumentNullException(nameof(_testReporterFactory));
            _resultParser             = resultParser ?? throw new ArgumentNullException(nameof(resultParser));
            _logs         = logs ?? throw new ArgumentNullException(nameof(logs));
            _helpers      = helpers ?? throw new ArgumentNullException(nameof(helpers));
            _appArguments = appArguments;
        }
Exemplo n.º 2
0
 public AppRunner(IMLaunchProcessManager processManager,
                  IHardwareDeviceLoader hardwareDeviceLoader,
                  ISimulatorLoader simulatorLoader,
                  ISimpleListenerFactory simpleListenerFactory,
                  ICrashSnapshotReporterFactory snapshotReporterFactory,
                  ICaptureLogFactory captureLogFactory,
                  IDeviceLogCapturerFactory deviceLogCapturerFactory,
                  ITestReporterFactory reporterFactory,
                  IFileBackedLog mainLog,
                  ILogs logs,
                  IHelpers helpers,
                  bool useXmlOutput,
                  Action <string>?logCallback = null)
 {
     _processManager           = processManager ?? throw new ArgumentNullException(nameof(processManager));
     _hardwareDeviceLoader     = hardwareDeviceLoader ?? throw new ArgumentNullException(nameof(hardwareDeviceLoader));
     _simulatorLoader          = simulatorLoader ?? throw new ArgumentNullException(nameof(simulatorLoader));
     _listenerFactory          = simpleListenerFactory ?? throw new ArgumentNullException(nameof(simpleListenerFactory));
     _snapshotReporterFactory  = snapshotReporterFactory ?? throw new ArgumentNullException(nameof(snapshotReporterFactory));
     _captureLogFactory        = captureLogFactory ?? throw new ArgumentNullException(nameof(captureLogFactory));
     _deviceLogCapturerFactory = deviceLogCapturerFactory ?? throw new ArgumentNullException(nameof(deviceLogCapturerFactory));
     _testReporterFactory      = reporterFactory ?? throw new ArgumentNullException(nameof(_testReporterFactory));
     _logs         = logs ?? throw new ArgumentNullException(nameof(logs));
     _helpers      = helpers ?? throw new ArgumentNullException(nameof(helpers));
     _useXmlOutput = useXmlOutput;
     if (logCallback == null)
     {
         _mainLog = mainLog ?? throw new ArgumentNullException(nameof(mainLog));
     }
     else
     {
         // create using the main as the default log
         _mainLog = Log.CreateReadableAggregatedLog(mainLog, new CallbackLog(logCallback));
     }
 }
Exemplo n.º 3
0
        public void SetUp()
        {
            logs = new Mock <ILogs> ();
            logs.SetupGet(x => x.Directory).Returns(Path.Combine(outputPath, "logs"));

            processManager   = new Mock <IMlaunchProcessManager> ();
            simulators       = new Mock <ISimulatorLoader> ();
            devices          = new Mock <IHardwareDeviceLoader> ();
            simpleListener   = new Mock <ISimpleListener> ();
            snapshotReporter = new Mock <ICrashSnapshotReporter> ();

            var mock1 = new Mock <ISimulatorLoaderFactory> ();

            mock1.Setup(m => m.CreateLoader()).Returns(simulators.Object);
            simulatorsFactory = mock1.Object;

            var mock2 = new Mock <IDeviceLoaderFactory> ();

            mock2.Setup(m => m.CreateLoader()).Returns(devices.Object);
            devicesFactory = mock2.Object;

            var mock3 = new Mock <ISimpleListenerFactory> ();

            mock3
            .Setup(m => m.Create(It.IsAny <RunMode> (), It.IsAny <ILog> (), It.IsAny <IFileBackedLog> (), It.IsAny <bool> (), It.IsAny <bool> (), It.IsAny <bool> ()))
            .Returns((ListenerTransport.Tcp, simpleListener.Object, "listener-temp-file"));
            listenerFactory = mock3.Object;
            simpleListener.Setup(x => x.InitializeAndGetPort()).Returns(listenerPort);

            var mock4 = new Mock <ICrashSnapshotReporterFactory> ();

            mock4.Setup(m => m.Create(It.IsAny <ILog> (), It.IsAny <ILogs> (), It.IsAny <bool> (), It.IsAny <string> ())).Returns(snapshotReporter.Object);
            snapshotReporterFactory = mock4.Object;

            var mock5 = new Mock <IAppBundleInformationParser> ();

            mock5
            .Setup(x => x.ParseFromProject(It.IsAny <string> (), It.IsAny <TestTarget> (), It.IsAny <string> ()))
            .ReturnsAsync(new AppBundleInformation(appName, appName, appPath, appPath, true, null));

            appBundleInformationParser = mock5.Object;

            mainLog = new Mock <IFileBackedLog> ();

            Directory.CreateDirectory(appPath);
        }
Exemplo n.º 4
0
 public AppRunner(IProcessManager processManager,
                  IHardwareDeviceLoader hardwareDeviceLoader,
                  ISimulatorLoader simulatorLoader,
                  ISimpleListenerFactory simpleListenerFactory,
                  ICrashSnapshotReporterFactory snapshotReporterFactory,
                  ICaptureLogFactory captureLogFactory,
                  IDeviceLogCapturerFactory deviceLogCapturerFactory,
                  ITestReporterFactory reporterFactory,
                  ILog mainLog,
                  ILogs logs,
                  IHelpers helpers)
 {
     _processManager           = processManager ?? throw new ArgumentNullException(nameof(processManager));
     _hardwareDeviceLoader     = hardwareDeviceLoader ?? throw new ArgumentNullException(nameof(hardwareDeviceLoader));
     _simulatorLoader          = simulatorLoader ?? throw new ArgumentNullException(nameof(simulatorLoader));
     _listenerFactory          = simpleListenerFactory ?? throw new ArgumentNullException(nameof(simpleListenerFactory));
     _snapshotReporterFactory  = snapshotReporterFactory ?? throw new ArgumentNullException(nameof(snapshotReporterFactory));
     _captureLogFactory        = captureLogFactory ?? throw new ArgumentNullException(nameof(captureLogFactory));
     _deviceLogCapturerFactory = deviceLogCapturerFactory ?? throw new ArgumentNullException(nameof(deviceLogCapturerFactory));
     _testReporterFactory      = reporterFactory ?? throw new ArgumentNullException(nameof(_testReporterFactory));
     _mainLog = mainLog ?? throw new ArgumentNullException(nameof(mainLog));
     _logs    = logs ?? throw new ArgumentNullException(nameof(logs));
     _helpers = helpers ?? throw new ArgumentNullException(nameof(helpers));
 }
Exemplo n.º 5
0
        public void SetUp()
        {
            _mainLog = new Mock <ILog>();

            _processManager = new Mock <IProcessManager>();
            _processManager.SetReturnsDefault(Task.FromResult(new ProcessExecutionResult()
            {
                ExitCode = 0
            }));

            _hardwareDeviceLoader = new Mock <IHardwareDeviceLoader>();
            _hardwareDeviceLoader
            .Setup(x => x.FindDevice(RunMode.iOS, _mainLog.Object, false, false))
            .ReturnsAsync(s_mockDevice);

            _simulatorLoader = new Mock <ISimulatorLoader>();
            _simulatorLoader
            .Setup(x => x.LoadDevices(It.IsAny <ILog>(), false, false, false))
            .Returns(Task.CompletedTask);

            _listener = new Mock <ISimpleListener>();
            _listener
            .SetupGet(x => x.ConnectedTask)
            .Returns(Task.CompletedTask);

            _snapshotReporter = new Mock <ICrashSnapshotReporter>();

            _testReporter = new Mock <ITestReporter>();
            _testReporter
            .Setup(r => r.Success)
            .Returns(true);
            _testReporter
            .Setup(r => r.ParseResult())
            .ReturnsAsync((TestExecutingResult.Succeeded, null));
            _testReporter
            .Setup(x => x.CollectSimulatorResult(It.IsAny <Task <ProcessExecutionResult> >()))
            .Returns(Task.CompletedTask);

            _logs = new Mock <ILogs>();
            _logs.SetupGet(x => x.Directory).Returns(Path.Combine(s_outputPath, "logs"));

            var factory = new Mock <ISimpleListenerFactory>();

            factory.SetReturnsDefault((ListenerTransport.Tcp, _listener.Object, "listener-temp-file"));
            _listenerFactory = factory.Object;
            _listener.SetupGet(x => x.Port).Returns(1020);

            var factory2 = new Mock <ICrashSnapshotReporterFactory>();

            factory2.SetReturnsDefault(_snapshotReporter.Object);
            _snapshotReporterFactory = factory2.Object;

            var factory3 = new Mock <ITestReporterFactory>();

            factory3.SetReturnsDefault(_testReporter.Object);
            _testReporterFactory = factory3.Object;

            _helpers = new Mock <IHelpers>();
            _helpers
            .Setup(x => x.GetTerminalName(It.IsAny <int>()))
            .Returns("tty1");
            _helpers
            .Setup(x => x.GenerateStableGuid(It.IsAny <string>()))
            .Returns(Guid.NewGuid());
            _helpers
            .SetupGet(x => x.Timestamp)
            .Returns("mocked_timestamp");

            Directory.CreateDirectory(s_outputPath);
        }