public async Task Revisions() { var connectionString = Environment.GetEnvironmentVariable("AZ_CONFIG_CONNECTION"); Assert.NotNull(connectionString, "Set AZ_CONFIG_CONNECTION environment variable to the connection string"); var service = new ConfigurationClient(connectionString); //Prepare environment ConfigurationSetting setting = s_testSetting; setting.Key = string.Concat("key-", Guid.NewGuid().ToString("N")); var testSettingUpdate = setting.Clone(); testSettingUpdate.Label = "test_label_update"; int expectedEvents = 2; try { await service.SetAsync(setting); await service.SetAsync(testSettingUpdate); // Test var filter = new BatchRequestOptions(); filter.Key = setting.Key; filter.Revision = DateTimeOffset.MaxValue; SettingBatch batch = await service.GetRevisionsAsync(filter, CancellationToken.None); int resultsReturned = 0; for (int i = 0; i < batch.Count; i++) { var value = batch[i]; if (value.Label.Contains("update")) { Assert.AreEqual(value, testSettingUpdate); } else { Assert.AreEqual(value, setting); } resultsReturned++; } Assert.AreEqual(expectedEvents, resultsReturned); } finally { await service.DeleteAsync(setting.Key, setting.Label); await service.DeleteAsync(testSettingUpdate.Key, testSettingUpdate.Label); } }
/// <summary> /// Adds the batch requests with default settings, optionally modified by the action /// </summary> /// <param name="serviceCollection">The service collection</param> /// <param name="batchRequestOptionsAction">The action to modify the default settings</param> /// <returns>The service collection</returns> public static IServiceCollection AddBatchRequest(this IServiceCollection serviceCollection, Action <BatchRequestOptions> batchRequestOptionsAction) { serviceCollection.AddRouting(); serviceCollection.AddHttpContextAccessor(); BatchRequestOptions batchRequestOptions = new BatchRequestOptions(); if (batchRequestOptionsAction != null) { batchRequestOptionsAction.Invoke(batchRequestOptions); } BatchRequestOptionsDefaults.SetDefaults(batchRequestOptions); serviceCollection.AddSingleton(batchRequestOptions); serviceCollection.AddScoped <IBatchRequestService, BatchRequestService>(); return(serviceCollection); }
/// <summary> /// Initializes a new instance /// </summary> /// <param name="batchRequestOptions">The injected batch request options</param> public BatchRequestController(BatchRequestOptions batchRequestOptions, IBatchRequestService batchRequestService) { _batchRequestOptions = batchRequestOptions; _batchRequestService = batchRequestService; }
internal SettingBatch(ConfigurationSetting[] settings, string link, BatchRequestOptions filter) { _settings = settings; _link = link; _filter = filter; }