/// <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; }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
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) }; }
/// <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); }
/// <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); }
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); }
/// <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); }
/// <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"); }); }
/// <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; }
/// <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; }
/// <summary> /// Constructor. /// </summary> /// <param name="logger">Logger.</param> public ControllerExtensions(IManagerLogger logger) { _logger = logger; }
/// <summary> /// /// </summary> /// <param name="logger"></param> /// <param name="externalProcesses"></param> public DeviceUtils(IManagerLogger logger, IExternalProcesses externalProcesses) { _logger = logger; _externalProcesses = externalProcesses; }
/// <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; }
/// <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; }
/// <inheritdoc /> /// <summary> /// Initializes a new instance of the <see cref="T:MobileManager.Controllers.ConfigurationController" /> class. /// </summary> public ConfigurationController(IManagerLogger logger) : base(logger) { _logger = logger; }