Ejemplo n.º 1
0
 /// <inheritdoc />
 /// <summary>
 /// Initializes a new instance of the <see cref="T:MobileManager.Controllers.AppiumController" /> class.
 /// </summary>
 /// <param name="restClient">Rest client.</param>
 /// <param name="appiumRepository">Appium repository.</param>
 /// <param name="logger">Logger</param>
 public AppiumController(IRestClient restClient, IRepository <AppiumProcess> appiumRepository,
                         IManagerLogger logger) : base(logger)
 {
     _restClient       = restClient;
     _appiumRepository = appiumRepository;
     _logger           = logger;
 }
Ejemplo n.º 2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="T:MobileManager.Services.AndroidDeviceService"/> class.
 /// </summary>
 public AndroidDeviceService(IManagerConfiguration configuration, IManagerLogger logger, IExternalProcesses externalProcesses)
 {
     _logger            = logger;
     _externalProcesses = externalProcesses;
     _logger.Debug("Running AndroidDeviceService service.");
     _deviceUtils = new DeviceUtils(_logger, _externalProcesses);
     _restClient  = new RestClient(configuration, _logger);
 }
Ejemplo n.º 3
0
        /// <summary>
        /// Initializes a new instance of the <see cref="T:MobileManager.Http.Clients.RestClient"/> class. For unit tests only.
        /// </summary>
        /// <param name="configuration">Configuration.</param>
        /// <param name="client">Client.</param>
        /// <param name="logger">Logger.</param>
        public RestClient(IManagerConfiguration configuration, HttpClient client, IManagerLogger logger)
        {
            Endpoint = $"http://{configuration.LocalIpAddress}:{configuration.ListeningPort}";

            _client             = client;
            _logger             = logger;
            _client.BaseAddress = new Uri(Endpoint);
            _client.Timeout     = new TimeSpan(0, 0, 0, 10);
        }
Ejemplo n.º 4
0
 /// <summary>
 /// Initializes a new instance of the <see cref="T:DeviceConnectors.iOS.IOSDeviceConnector"/> class.
 /// </summary>
 public IosDeviceService(IManagerConfiguration configuration, IManagerLogger logger,
                         IExternalProcesses externalProcesses)
 {
     _logger            = logger;
     _externalProcesses = externalProcesses;
     _deviceUtils       = new DeviceUtils(_logger, _externalProcesses);
     _logger.Info("Running IOSDeviceConnector service.");
     _restClient = new RestClient(configuration, _logger);
 }
Ejemplo n.º 5
0
 /// <inheritdoc />
 /// <summary>
 /// Initializes a new instance of the <see cref="T:MobileManager.Controllers.ReservationsQueueController" /> class.
 /// </summary>
 /// <param name="reservationsQueueRepository">Reservations queue repository.</param>
 /// <param name="restClient">Rest client.</param>
 /// <param name="logger">Logger.</param>
 /// <param name="externalProcesses"></param>
 public ReservationsQueueController(IRepository <Reservation> reservationsQueueRepository,
                                    IRestClient restClient, IManagerLogger logger, IExternalProcesses externalProcesses) : base(logger)
 {
     _reservationsQueueRepository = reservationsQueueRepository;
     _restClient        = restClient;
     _logger            = logger;
     _externalProcesses = externalProcesses;
     _deviceUtils       = new DeviceUtils(_logger, _externalProcesses);
 }
Ejemplo n.º 6
0
        /// <summary>
        /// Initializes a new instance of the <see cref="T:MobileManager.Services.AppiumService"/> class.
        /// </summary>
        public AppiumService(IManagerConfiguration configuration, IManagerLogger logger, IExternalProcesses externalProcesses)
        {
            _logger            = logger;
            _externalProcesses = externalProcesses;
            _restClient        = new RestClient(configuration, _logger);

            _appiumLogFolderPath     = EnsureLogFolderIsCreated(configuration.AppiumLogFilePath);
            _ideviceSyslogFolderPath = EnsureLogFolderIsCreated(configuration.IdeviceSyslogFolderPath);
        }
Ejemplo n.º 7
0
        /// <summary>
        /// Initializes a new instance of the <see cref="T:MobileManager.Services.ReservationService"/> class.
        /// </summary>
        public ReservationService(IManagerConfiguration configuration, IManagerLogger logger, IExternalProcesses externalProcesses)
        {
            _logger = logger;
            var externalProcesses1 = externalProcesses;

            _deviceUtils   = new DeviceUtils(_logger, externalProcesses1);
            RestClient     = new RestClient(configuration, _logger);
            _appiumService = new AppiumService(configuration, logger, externalProcesses1);
        }
Ejemplo n.º 8
0
 public RestClient(IManagerConfiguration configuration, IManagerLogger logger)
 {
     _logger  = logger;
     Endpoint = $"http://{configuration.LocalIpAddress}:{configuration.ListeningPort}";
     _client  = new HttpClient
     {
         BaseAddress = new Uri(Endpoint),
         Timeout     = new TimeSpan(0, 0, 0, 60)
     };
 }
Ejemplo n.º 9
0
 /// <inheritdoc />
 /// <summary>
 /// Initializes a new instance of the <see cref="T:MobileManager.Controllers.ReservationsAppliedController" /> class.
 /// </summary>
 /// <param name="reservationsAppliedRepository">Reservations applied repository.</param>
 /// <param name="restClient">Rest client.</param>
 /// <param name="appiumService">Appium service.</param>
 /// <param name="logger">Logger.</param>
 /// <param name="externalProcesses"></param>
 public ReservationsAppliedController(IRepository <ReservationApplied> reservationsAppliedRepository,
                                      IRestClient restClient, IAppiumService appiumService, IManagerLogger logger, IExternalProcesses externalProcesses) : base(logger)
 {
     _reservationsAppliedRepository = reservationsAppliedRepository;
     _restClient        = restClient;
     _appiumService     = appiumService;
     _logger            = logger;
     _externalProcesses = externalProcesses;
     _deviceUtils       = new DeviceUtils(_logger, _externalProcesses);
 }
Ejemplo n.º 10
0
 /// <inheritdoc />
 /// <summary>
 /// Initializes a new instance of the <see cref="T:MobileManager.Controllers.DevicesController" /> class.
 /// </summary>
 /// <param name="devicesRepository"><see cref="IRepository{T}"/> Device.</param>
 /// <param name="logger"><see cref="IManagerLogger"/></param>
 /// <param name="configuration"><see cref="IManagerConfiguration"/></param>
 /// <param name="screenshotService"><see cref="IScreenshotService"/></param>
 /// <param name="externalProcesses"><see cref="IExternalProcesses"/></param>
 /// <param name="deviceUtils"><see cref="IDeviceUtils"/></param>
 public DevicesController(IRepository <Device> devicesRepository, IManagerLogger logger,
                          IManagerConfiguration configuration, IDeviceUtils deviceUtils,
                          IScreenshotService screenshotService, IExternalProcesses externalProcesses) : base(logger)
 {
     _devicesRepository = devicesRepository;
     _logger            = logger;
     _configuration     = configuration;
     _deviceUtils       = deviceUtils ?? new DeviceUtils(_logger, _externalProcesses);
     _screenshotService = screenshotService ?? new ScreenshotService(_logger, _externalProcesses);
     _externalProcesses = externalProcesses ?? new ExternalProcesses(_logger);
 }
Ejemplo n.º 11
0
        public Startup(IConfiguration options)
        {
            ApplicationOptionsProvider = options;

            ManagerLogger = new CollectorLogger();

            var managerOptions = new ManagerOptions()
                                 .UseLogger(ManagerLogger)
                                 .UseOnlyClassesDerivedFromIProcessable();

            Manager = new Manager.Manager(managerOptions)
                      .AddEntryAssembly()
                      .AddAssemblyContainingType(typeof(ExtensionForInstantiatePerContainerAttribute))
                      .AddAssemblyContainingType(typeof(ExtensionForBoundedContextAttribute))
                      .AddKeyedOptionsProvider(ApplicationOptionsProvider);
        }
Ejemplo n.º 12
0
        /// <param name="logger"></param>
        /// <inheritdoc />
        public ExternalProcesses(IManagerLogger logger)
        {
            _logger            = logger;
            NotificationSystem = ToolBox.Notification.NotificationSystem.Default;
            switch (OS.GetCurrent())
            {
            case "win":
                BridgeSystem = ToolBox.Bridge.BridgeSystem.Bat;
                break;

            case "mac":
            case "gnu":
                BridgeSystem = ToolBox.Bridge.BridgeSystem.Bash;
                break;

            default:
                throw new NotImplementedException();
            }

            Shell = new ShellConfigurator(BridgeSystem, NotificationSystem);
        }
Ejemplo n.º 13
0
        /// <summary>
        /// Configure the specified app, env and loggerFactory. This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        /// </summary>
        /// <returns>The configure.</returns>
        /// <param name="app">App.</param>
        /// <param name="env">Env.</param>
        /// <param name="loggerFactory">Logger factory.</param>
        /// <param name="applicationLifetime">Handle application lifecycle.</param>
        /// <param name="logger">Logger.</param>
        public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory,
                              IApplicationLifetime applicationLifetime, IManagerLogger logger)
        {
            var appconfig = AppConfigurationProvider.Get <AppConfiguration>();

            applicationLifetime.ApplicationStopped.Register(OnShutdown);

            loggerFactory.AddConsole((logText, logLevel) =>
            {
                if (Debugger.IsAttached)
                {
                    return(true);
                }

                if (logLevel >= appconfig.DefaultLogLevel)
                {
                    return(true);
                }

                return(false);
            }, appconfig.IncludeScopes);

            loggerFactory.AddFile("Logs/log-{Date}.txt", LogLevel.Trace);

            app.UseExceptionHandler(
                options =>
            {
                options.Run(
                    async context =>
                {
                    context.Response.StatusCode  = (int)HttpStatusCode.InternalServerError;
                    context.Response.ContentType = "text/html";
                    var ex = context.Features.Get <IExceptionHandlerFeature>();
                    if (ex != null)
                    {
                        var err = $"<h1>Error: {ex.Error.Message}</h1>{ex.Error.StackTrace}";
                        await context.Response.WriteAsync(err).ConfigureAwait(false);
                        logger.Error(ex.Error.Message, ex.Error);
                    }
                });
            }
                );

            //app.UseDeveloperExceptionPage();

            app.UseStaticFiles();

            app.UseMvcWithDefaultRoute();

            app.UseCors("AllowAllHeaders");

            // Enable middleware to serve generated Swagger as a JSON endpoint.
            app.UseSwagger();

            // Enable middleware to serve swagger-ui (HTML, JS, CSS etc.), specifying the Swagger JSON endpoint.
            app.UseSwaggerUI(c =>
            {
                c.RoutePrefix = "doc";
                c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
            });
        }
Ejemplo n.º 14
0
 /// <inheritdoc />
 /// <summary>
 /// Initializes a new instance of the <see cref="T:MobileManager.Controllers.AdminController" /> class.
 /// </summary>
 /// <param name="restClient">Rest client.</param>
 /// <param name="logger">Logger</param>
 public AdminController(IRestClient restClient, IManagerLogger logger) : base(logger)
 {
     _restClient = restClient;
     _logger     = logger;
 }
Ejemplo n.º 15
0
 /// <inheritdoc />
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="repository">Logger repository.</param>
 /// <param name="logger">Logger.</param>
 public MMLogController(IRepository <LogMessage> repository, IManagerLogger logger) : base(logger)
 {
     _repository = repository;
     _logger     = logger;
 }
Ejemplo n.º 16
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="logger">Logger.</param>
 public ControllerExtensions(IManagerLogger logger)
 {
     _logger = logger;
 }
Ejemplo n.º 17
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="logger"></param>
 /// <param name="externalProcesses"></param>
 public DeviceUtils(IManagerLogger logger, IExternalProcesses externalProcesses)
 {
     _logger            = logger;
     _externalProcesses = externalProcesses;
 }
Ejemplo n.º 18
0
 /// <inheritdoc />
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="logger">Logger</param>
 /// <param name="externalProcesses"></param>
 public ScreenshotService(IManagerLogger logger, IExternalProcesses externalProcesses) : base(logger)
 {
     _logger            = logger;
     _externalProcesses = externalProcesses;
 }
Ejemplo n.º 19
0
 /// <inheritdoc />
 /// <summary>
 /// Initializes a new instance of the <see cref="T:MobileManager.Controllers.AdbController" /> class.
 /// </summary>
 /// <param name="restClient">Rest client.</param>
 /// <param name="logger">Logger</param>
 /// <param name="externalProcesses"></param>
 public AdbController(IRestClient restClient, IManagerLogger logger, IExternalProcesses externalProcesses) : base(logger)
 {
     _restClient        = restClient;
     _logger            = logger;
     _externalProcesses = externalProcesses;
 }
Ejemplo n.º 20
0
 /// <inheritdoc />
 /// <summary>
 /// Initializes a new instance of the <see cref="T:MobileManager.Controllers.ConfigurationController" /> class.
 /// </summary>
 public ConfigurationController(IManagerLogger logger) : base(logger)
 {
     _logger = logger;
 }