public override async Task <CrawlJobData> GetCrawlJobData( ProviderUpdateContext context, IDictionary <string, object> configuration, Guid organizationId, Guid userId, Guid providerDefinitionId) { if (configuration == null) { throw new ArgumentNullException(nameof(configuration)); } var adversusCrawlJobData = new AdversusCrawlJobData(); if (configuration.ContainsKey(AdversusConstants.KeyName.ApiKey)) { adversusCrawlJobData.ApiKey = configuration[AdversusConstants.KeyName.ApiKey].ToString(); } if (configuration.ContainsKey(AdversusConstants.KeyName.Username)) { adversusCrawlJobData.Username = configuration[AdversusConstants.KeyName.Username].ToString(); } if (configuration.ContainsKey(AdversusConstants.KeyName.Password)) { adversusCrawlJobData.Password = configuration[AdversusConstants.KeyName.Password].ToString(); } return(await Task.FromResult(adversusCrawlJobData)); }
public override Task <bool> TestAuthentication( ProviderUpdateContext context, IDictionary <string, object> configuration, Guid organizationId, Guid userId, Guid providerDefinitionId) { var adversusCrawlJobData = new AdversusCrawlJobData(); if (configuration.ContainsKey(AdversusConstants.KeyName.ApiKey)) { adversusCrawlJobData.ApiKey = configuration[AdversusConstants.KeyName.ApiKey].ToString(); } if (configuration.ContainsKey(AdversusConstants.KeyName.Username)) { adversusCrawlJobData.Username = configuration[AdversusConstants.KeyName.Username].ToString(); } if (configuration.ContainsKey(AdversusConstants.KeyName.Password)) { adversusCrawlJobData.Password = configuration[AdversusConstants.KeyName.Password].ToString(); } try { var client = _adversusClientFactory.CreateNew(adversusCrawlJobData); var result = client.GetAccountInformation(); return(Task.FromResult(result != null)); } catch (Exception exception) { context.Log.LogError("Could not add Adversus provider", exception); return(Task.FromResult(false)); } }
public AdversusClient(ILogger <AdversusClient> log, AdversusCrawlJobData adversusCrawlJobData, IRestClient client) // TODO: pass on any extra dependencies { if (adversusCrawlJobData == null) { throw new ArgumentNullException(nameof(adversusCrawlJobData)); } if (client == null) { throw new ArgumentNullException(nameof(client)); } this.log = log ?? throw new ArgumentNullException(nameof(log)); this.client = client ?? throw new ArgumentNullException(nameof(client)); // TODO use info from adversusCrawlJobData to instantiate the connection client.BaseUrl = new Uri(BaseUri); this._adversusCrawlJobData = adversusCrawlJobData; }