private async Task SetSecretConfiguration(OdsSecretConfiguration configuration, int?instanceRegistrationId = null) { await ScopedAsync <AdminAppDbContext>(async database => { var provider = OdsSecretConfigurationProvider(database); await provider.SetSecretConfiguration(configuration, instanceRegistrationId); }); }
private OdsSecretConfiguration GetOdsSecretConfiguration() { var odsSecretConfiguration = new OdsSecretConfiguration { ProductionApiKeyAndSecret = new OdsApiCredential("production", "api") }; return(odsSecretConfiguration); }
private async Task CreateAndSaveApiKeyAndSecret(OdsInstanceRegistration odsInstanceRegistration, CloudOdsClaimSet claimSet, ApiMode mode) { var secretConfiguration = new OdsSecretConfiguration(); var applicationCreateResult = await _firstTimeSetupService.CreateAdminAppInAdminDatabase(claimSet.ClaimSetName, odsInstanceRegistration.Name, ConfigurationManager.AppSettings["AwsCurrentVersion"], mode); secretConfiguration.ProductionApiKeyAndSecret = applicationCreateResult.ProductionKeyAndSecret; await _odsSecretConfigurationProvider.SetSecretConfiguration(secretConfiguration, odsInstanceRegistration.Id); }
public async Task ShouldEditSecretConfiguration_SingleInstance() { ClearSecretConfigurationCache(); var productionApiKey = Guid.NewGuid().ToString(); var productionApiSecret = Guid.NewGuid().ToString(); var newProductionApiKey = Guid.NewGuid().ToString(); var newProductionApiSecret = Guid.NewGuid().ToString(); var secretConfiguration = new OdsSecretConfiguration { ProductionApiKeyAndSecret = new OdsApiCredential { Key = productionApiKey, Secret = productionApiSecret } }; var editSecretConfiguration = new OdsSecretConfiguration { ProductionApiKeyAndSecret = new OdsApiCredential { Key = newProductionApiKey, Secret = newProductionApiSecret } }; var odsInstanceRegistration = CreateOdsInstanceRegistration("SingleInstance-EditConfig_" + Guid.NewGuid()); odsInstanceRegistration.ShouldNotBeNull(); await OdsSecretConfigurationProvider.SetSecretConfiguration(secretConfiguration, odsInstanceRegistration.Id); var createdSecretConfiguration = await OdsSecretConfigurationProvider.GetSecretConfiguration(odsInstanceRegistration.Id); createdSecretConfiguration.ProductionApiKeyAndSecret.Key.ShouldBe(productionApiKey); createdSecretConfiguration.ProductionApiKeyAndSecret.Secret.ShouldBe(productionApiSecret); createdSecretConfiguration.BulkUploadCredential.ShouldBe(null); createdSecretConfiguration.LearningStandardsCredential.ShouldBe(null); createdSecretConfiguration.ProductionAcademicBenchmarkApiClientKeyAndSecret.ShouldBe(null); await OdsSecretConfigurationProvider.SetSecretConfiguration(editSecretConfiguration, odsInstanceRegistration.Id); var editedSecretConfiguration = await OdsSecretConfigurationProvider.GetSecretConfiguration(odsInstanceRegistration.Id); editedSecretConfiguration.ProductionApiKeyAndSecret.Key.ShouldBe(newProductionApiKey); editedSecretConfiguration.ProductionApiKeyAndSecret.Secret.ShouldBe(newProductionApiSecret); editedSecretConfiguration.BulkUploadCredential.ShouldBe(null); editedSecretConfiguration.LearningStandardsCredential.ShouldBe(null); editedSecretConfiguration.ProductionAcademicBenchmarkApiClientKeyAndSecret.ShouldBe(null); }
public async Task ShouldExecute() { var odsSecretConfiguration = new OdsSecretConfiguration { ProductionApiKeyAndSecret = new OdsApiCredential("production", "api") }; var instanceContext = new InstanceContext { Id = 1, Name = "Test instance" }; var mockIOdsSecretConfigurationProvider = new Mock <IOdsSecretConfigurationProvider>(); mockIOdsSecretConfigurationProvider.Setup(a => a.GetSecretConfiguration(1)).ReturnsAsync(odsSecretConfiguration); var query = new GetOdsAdminAppApiCredentialsQuery(mockIOdsSecretConfigurationProvider.Object, instanceContext); var credentials = await query.Execute(); credentials.ProductionApiCredential.Key.ShouldBe(odsSecretConfiguration.ProductionApiKeyAndSecret.Key); credentials.ProductionApiCredential.Secret.ShouldBe(odsSecretConfiguration.ProductionApiKeyAndSecret.Secret); }
public async Task When_Perform_Post_Request_To_ResetCredentials_With_Valid_OdsSecretConfig_Returns_Json_Success() { // Arrange const string expectedKey = "key"; const string expectedSecret = "secret"; var odsConfig = new OdsSecretConfiguration { BulkUploadCredential = new BulkUploadCredential { ApiKey = expectedKey, ApiSecret = expectedSecret } }; OdsSecretConfigurationProvider.Setup(x => x.GetSecretConfiguration(It.IsAny <int>())) .Returns(Task.FromResult(odsConfig)); // Act var result = (ContentResult)await SystemUnderTest.ResetCredentials(); // Assert result.Content.Contains("Credentials successfully reset").ShouldBeTrue(); }
public async Task SetSecretConfiguration(OdsSecretConfiguration configuration, int?odsInstanceId = null) { await Task.Run(() => { }); _odsSecretConfig = configuration; }
public FakeOdsSecretConfigurationProvider() { _odsSecretConfig = new OdsSecretConfiguration(); _odsSqlConfig = new OdsSqlConfiguration(); }
public async Task ShouldEditSecretConfiguration_MultiInstance() { ClearSecretConfigurationCache(); var productionApiKey = Guid.NewGuid().ToString(); var productionApiSecret = Guid.NewGuid().ToString(); var newProductionApiKey = Guid.NewGuid().ToString(); var newProductionApiSecret = Guid.NewGuid().ToString(); var secretConfiguration = new OdsSecretConfiguration { ProductionApiKeyAndSecret = new OdsApiCredential { Key = productionApiKey, Secret = productionApiSecret } }; var editSecretConfiguration = new OdsSecretConfiguration { ProductionApiKeyAndSecret = new OdsApiCredential { Key = newProductionApiKey, Secret = newProductionApiSecret } }; var odsInstanceRegistration1 = CreateOdsInstanceRegistration("MultiInstance1-EditConfig_" + Guid.NewGuid()); var odsInstanceRegistration2 = CreateOdsInstanceRegistration("MultiInstance2-EditConfig_" + Guid.NewGuid()); odsInstanceRegistration1.ShouldNotBeNull(); odsInstanceRegistration2.ShouldNotBeNull(); // Set secret configuration for instance 1 await OdsSecretConfigurationProvider.SetSecretConfiguration(secretConfiguration, odsInstanceRegistration1.Id); // Set secret configuration for instance 2 await OdsSecretConfigurationProvider.SetSecretConfiguration(secretConfiguration, odsInstanceRegistration2.Id); // Edit the secret configuration for instance 1 await OdsSecretConfigurationProvider.SetSecretConfiguration(editSecretConfiguration, odsInstanceRegistration1.Id); // Verify the secret configuration for instance 2 var createdSecretConfigurationForInstance2 = await OdsSecretConfigurationProvider.GetSecretConfiguration(odsInstanceRegistration2.Id); createdSecretConfigurationForInstance2.ProductionApiKeyAndSecret.Key.ShouldBe(productionApiKey); createdSecretConfigurationForInstance2.ProductionApiKeyAndSecret.Secret.ShouldBe(productionApiSecret); createdSecretConfigurationForInstance2.BulkUploadCredential.ShouldBe(null); createdSecretConfigurationForInstance2.LearningStandardsCredential.ShouldBe(null); createdSecretConfigurationForInstance2.ProductionAcademicBenchmarkApiClientKeyAndSecret.ShouldBe(null); // Verify the edited secret configuration for instance 1 var editedSecretConfigurationForInstance1 = await OdsSecretConfigurationProvider.GetSecretConfiguration(odsInstanceRegistration1.Id); editedSecretConfigurationForInstance1.ProductionApiKeyAndSecret.Key.ShouldBe(newProductionApiKey); editedSecretConfigurationForInstance1.ProductionApiKeyAndSecret.Secret.ShouldBe(newProductionApiSecret); editedSecretConfigurationForInstance1.BulkUploadCredential.ShouldBe(null); editedSecretConfigurationForInstance1.LearningStandardsCredential.ShouldBe(null); editedSecretConfigurationForInstance1.ProductionAcademicBenchmarkApiClientKeyAndSecret.ShouldBe(null); }
private static async Task SetSecretConfiguration(OdsSecretConfiguration configuration, int?instanceRegistrationId = null) { await ScopedAsync <IOdsSecretConfigurationProvider>( async provider => await provider.SetSecretConfiguration(configuration, instanceRegistrationId)); }