public async Task TestNestedRepositorySequential() { var repositoryInner = new IdentityRepository(new NullLogger <IdentityRepository>(), Redis); var repository = new SimpleItemRepository(new NullLogger <SimpleItemRepository>(), Redis, repositoryInner); for (int i = 0; i < 10; i++) { await Resilience.AsyncRetryPolicy .ExecuteAsync(() => repository.Save(new SimpleItem { Id = i }, repository.Entity.AllIndex)); } }
private static void FillDatabase() { using (var repository = new SimpleItemRepository()) { for (int i = 0; i < 1000; i++) { var entity = new SimpleItem() { ContainerName = "TestContainer", FieldName = "TestField", FieldValue = "Test" }; repository.Insert(entity, true); } } }
public async Task TestNestedRepository() { var repositoryInner = new IdentityRepository(new NullLogger <IdentityRepository>(), Redis); var repository = new SimpleItemRepository(new NullLogger <SimpleItemRepository>(), Redis, repositoryInner); var transaction = Redis.StartTransaction(); var tasks = new List <Task>(); for (int i = 0; i < 2; i++) { tasks.Add(repository.Save(new SimpleItem { Id = i }, transaction)); } await transaction.Commit(); await Task.WhenAll(tasks); var all = await repository.LoadAll(repository.Entity.AllIndex).ToArray(); Assert.AreEqual(2, all.Length); tasks.Clear(); transaction = Redis.StartTransaction(); for (int i = 0; i < 2; i++) { tasks.Add(repository.Delete(i.ToString())); } await transaction.Commit(); await Task.WhenAll(tasks); all = await repository.LoadAll(repository.Entity.AllIndex).ToArray(); Assert.AreEqual(0, all.Length); }