/// <summary> /// Creates a new instance of this Rhino.Api.Components.RhinoConnector. /// </summary> /// <param name="configuration">Rhino.Api.Contracts.Configuration.RhinoConfiguration to use with this connector.</param> /// <param name="types">A collection of <see cref="Type"/> to load for this repository.</param> /// <param name="logger">Gravity.Abstraction.Logging.ILogger implementation for this connector.</param> /// <param name="connect"><see cref="true"/> for immediately connect after construct <see cref="false"/> skip connection.</param> /// <remarks>If you skip connection you must explicitly call Connect method.</remarks> public GurockConnector(RhinoConfiguration configuration, IEnumerable <Type> types, ILogger logger, bool connect) : base(configuration, types, logger) { // setup connector type (double check) configuration.ConnectorConfiguration ??= new RhinoConnectorConfiguration(); configuration.ConnectorConfiguration.Connector = Connector.TestRail; // setup provider manager ProviderManager = new GurockAutomationProvider(configuration, types, logger); // integration var clientFactory = new ClientFactory( testRailServer: configuration.ConnectorConfiguration.Collection, user: configuration.ConnectorConfiguration.UserName, password: configuration.ConnectorConfiguration.Password, logger); casesClient = clientFactory.Create <TestRailCasesClient>(); testsClient = clientFactory.Create <TestRailTestsClient>(); resultsClient = clientFactory.Create <TestRailResultsClient>(); attachmentsClient = clientFactory.Create <TestRailAttachmentsClient>(); // connect on constructing if (connect) { Connect(); } }
/// <summary> /// Creates a new instance of this Rhino.Api.Simulator.Framework.AutomationProvider. /// </summary> /// <param name="configuration">Rhino.Api.Contracts.Configuration.RhinoConfiguration to use with this provider.</param> /// <param name="types">A collection of <see cref="Type"/> to load for this repository.</param> /// <param name="logger">Gravity.Abstraction.Logging.ILogger implementation for this provider.</param> public GurockAutomationProvider(RhinoConfiguration configuration, IEnumerable <Type> types, ILogger logger) : base(configuration, types, logger) { // setup this.logger = logger?.Setup(loggerName: nameof(GurockAutomationProvider)); // capabilities BucketSize = configuration.GetCapability(ProviderCapability.BucketSize, 15); // jira var jiraAuth = GetJiraAuthentication(configuration.Capabilities); if (!string.IsNullOrEmpty(jiraAuth.Collection)) { jiraClient = new JiraClient(jiraAuth); bugsManager = new JiraBugsManager(jiraClient); } // integration clientFactory = new ClientFactory( configuration.ConnectorConfiguration.Collection, configuration.ConnectorConfiguration.UserName, configuration.ConnectorConfiguration.Password, logger); suitesClient = clientFactory.Create <TestRailSuitesClient>(); casesClient = clientFactory.Create <TestRailCasesClient>(); configuraionsClient = clientFactory.Create <TestRailConfiguraionsClient>(); milestoneClient = clientFactory.Create <TestRailMilestoneClient>(); plansClient = clientFactory.Create <TestRailPlansClient>(); usersClient = clientFactory.Create <TestRailUsersClient>(); prioritiesClient = clientFactory.Create <TestRailPrioritiesClient>(); templatesClient = clientFactory.Create <TestRailTemplatesClient>(); // meta data project = suitesClient.Projects.FirstOrDefault(i => i.Name.Equals(configuration.ConnectorConfiguration.Project, Compare)); user = usersClient.GetUserByEmail(configuration.ConnectorConfiguration.UserName); }