public void ShouldNotAllowEmptyBulkLoadCredentials() { var saveBulkUploadCredentialsModel = new SaveBulkUploadCredentialsModel { ApiKey = "", ApiSecret = "" }; var instanceContext = new InstanceContext { Id = 1, Name = "Test Instance" }; Scoped <IUsersContext>(usersContext => { var validator = new SaveBulkUploadCredentialsModelValidator(usersContext, instanceContext); var validationResults = validator.Validate(saveBulkUploadCredentialsModel); validationResults.IsValid.ShouldBe(false); validationResults.Errors.Select(x => x.ErrorMessage).ShouldBe(new List <string> { "'Api Key' must not be empty.", "'Api Secret' must not be empty." }); }); }
public async Task <ActionResult> SaveBulkLoadCredentials(SaveBulkUploadCredentialsModel model) { var config = await _odsSecretConfigurationProvider.GetSecretConfiguration(_instanceContext.Id); if (config == null) { return(JsonError(_missingOdsSecretConfig)); } config.BulkUploadCredential = new BulkUploadCredential { ApiKey = model.ApiKey, ApiSecret = model.ApiSecret }; await _odsSecretConfigurationProvider.SetSecretConfiguration(config, _instanceContext.Id); return(JsonSuccess("Credentials successfully saved")); }
public void ShouldNotAllowBulkLoadCredentialsFromADifferentInstance() { var odsInstance1 = new OdsInstance { Name = "Test Instance 1", InstanceType = "Ods", IsExtended = false, Status = "OK", Version = "1.0.0" }; var apiClientForInstance1 = SetupApplicationForInstance(odsInstance1); var odsInstance2 = new OdsInstance { Name = "Test Instance 2", InstanceType = "Ods", IsExtended = false, Status = "OK", Version = "1.0.0" }; SetupApplicationForInstance(odsInstance2); var saveBulkUploadCredentialsModel = new SaveBulkUploadCredentialsModel { ApiKey = apiClientForInstance1.Key, ApiSecret = apiClientForInstance1.Secret }; var instanceContext = new InstanceContext { Id = odsInstance2.OdsInstanceId, Name = odsInstance2.Name }; Scoped <IUsersContext>(usersContext => { var validator = new SaveBulkUploadCredentialsModelValidator(usersContext, instanceContext); var validationResults = validator.Validate(saveBulkUploadCredentialsModel); validationResults.IsValid.ShouldBe(false); validationResults.Errors.Select(x => x.ErrorMessage).ShouldContain("The Api Key provided is not associated with the currently selected ODS instance."); }); }
public void ShouldAllowBulkLoadCredentialsFromTheSameInstance() { var odsInstance1 = new OdsInstance { Name = "Test Instance 1", InstanceType = "Ods", IsExtended = false, Status = "OK", Version = "1.0.0" }; var apiClientForInstance1 = SetupApplicationForInstance(odsInstance1); var odsInstance2 = new OdsInstance { Name = "Test Instance 2", InstanceType = "Ods", IsExtended = false, Status = "OK", Version = "1.0.0" }; SetupApplicationForInstance(odsInstance2); var saveBulkUploadCredentialsModel = new SaveBulkUploadCredentialsModel { ApiKey = apiClientForInstance1.Key, ApiSecret = apiClientForInstance1.Secret }; var instanceContext = new InstanceContext { Id = odsInstance1.OdsInstanceId, Name = odsInstance1.Name }; Scoped <IUsersContext>(usersContext => { var validator = new SaveBulkUploadCredentialsModelValidator(usersContext, instanceContext); var validationResults = validator.Validate(saveBulkUploadCredentialsModel); validationResults.IsValid.ShouldBe(true); }); }
public async Task When_Perform_Post_Request_To_SaveBulkLoadCredentials_With_BulkUpload_Credentials_Return_Json_Success() { // Arrange const string expectedKey = "key"; const string expectedSecret = "secret"; var model = new SaveBulkUploadCredentialsModel { ApiKey = expectedKey, ApiSecret = expectedSecret }; OdsSecretConfigurationProvider.Setup(x => x.GetSecretConfiguration(It.IsAny <int>())) .Returns(Task.FromResult(new OdsSecretConfiguration())); // Act var result = (ContentResult)await SystemUnderTest.SaveBulkLoadCredentials(model); // Assert result.Content.Contains("Credentials successfully saved").ShouldBeTrue(); }