public void MemoryWarehouseShouldStoreAndReturnAndAppendAndReturnPallet() { var warehouse = new Warehouse(); var payload = new List <string>() { "Test Test test" }; var scope = new ApplicationScope("TestApp"); var key = new WarehouseKey($"key", scope); var receipt = warehouse.Store(key, payload, new[] { LoadingDockPolicy.Ephemeral }); var returnedValue = warehouse.Retrieve <string>(key).ToList(); returnedValue.Should().Contain(payload); var nextText = " 123456789"; payload.Add(nextText); warehouse.Append(key, new[] { nextText }, receipt.Policies); var newReturnedValue = warehouse.Retrieve <string>(key); newReturnedValue.Should().Contain(payload); }
static int Main(string[] args) { ApplicationScope applicationScope = new ApplicationScope(args); ScreenShotMaker screenShooter = ScreenshooterInjector.CreateScreenShotMaker(applicationScope); int exitCode = screenShooter.Run(); return(exitCode); }
public async Task UpdateAsync(ApplicationScope update, CancellationToken cancellationToken) { var entity = await _scopeManager.FindByIdAsync(update.Id.ToString(), cancellationToken); if (entity != null) { await _scopeManager.UpdateAsync(entity, cancellationToken); } }
public void TestInitializedScopeReturnsOk() { var scope = new ApplicationScope { ApplicationContext = new ApplicationContext( new ServiceCollection().BuildServiceProvider(), Mock.Of <IAppFactory>() ) }; var ctx = scope.ApplicationContext; ctx.Should().NotBeNull(); }
public void PayloadSigningShouldRoundtripQuickly() { var warehouse = new Warehouse(); var payload = new[] { "Test Test test" }; var scope = new ApplicationScope("TestApp"); var key = new WarehouseKey($"key", scope); var receipt = warehouse.Store(key, payload, new[] { LoadingDockPolicy.Ephemeral }); var returnedValue = warehouse.Retrieve <string>(key).ToList(); Warehouse.VerifyChecksum(returnedValue, receipt.SHA256Checksum).Should().BeTrue(); }
public void MemoryWarehouseShouldStoreAndReturnPallet() { var warehouse = new Warehouse(); var payload = new[] { "Test Test test" }; var scope = new ApplicationScope("TestApp"); var key = new WarehouseKey($"key", scope); var receipt = warehouse.Store(key, payload, new[] { LoadingDockPolicy.Ephemeral }); var returnedValue = warehouse.Retrieve <string>(key).ToList(); returnedValue.Should().Contain(payload); }
public async Task CreateAsync(ApplicationScope scope, CancellationToken cancellationToken) { if (scope == null) { throw new ArgumentNullException(nameof(scope)); } var entity = await _scopeManager.FindByIdAsync(scope.Id.ToString(), cancellationToken); if (entity == null) { await _scopeManager.CreateAsync(scope, cancellationToken); } }
public void MultiThreadedWriteReadPerformanceTest() { var warehouse = new Warehouse(); var appScope = new ApplicationScope("Test"); Parallel.ForEach(Enumerable.Range(1, 100), new ParallelOptions { MaxDegreeOfParallelism = 10 }, (index) => { var payload = new[] { index.ToString() }; var key = new WarehouseKey($"key_{index}", appScope); warehouse.Store(key, payload, new[] { LoadingDockPolicy.Ephemeral }); output.WriteLine($"Index stored: {index}"); warehouse.Retrieve <string>(key).Should().Contain(payload); }); }
public void MultiThreadedAppendReadToOneKeyPerformanceTest() { var warehouse = new Warehouse(); var appScope = new ApplicationScope("Test"); var key = new WarehouseKey("key", appScope); var payload = new[] { "initial" }; warehouse.Store(key, payload, new[] { LoadingDockPolicy.Ephemeral }); Parallel.ForEach(Enumerable.Range(1, 100), new ParallelOptions { MaxDegreeOfParallelism = 10 }, (index) => { warehouse.Append(key, new[] { (index + 100).ToString() }, new[] { LoadingDockPolicy.Ephemeral }); output.WriteLine($"Index stored: {index}"); }); warehouse.Retrieve <string>(key).Count().Should().Be(101); }
public void PayloadSigningShouldRoundtrip() { var warehouse = new Warehouse(); var payload = Enumerable.Range(1, 500).Select(i => $"record{i}-{Guid.NewGuid()}").ToArray(); var scope = new ApplicationScope("TestApp"); var key = new WarehouseKey($"key", scope); Stopwatch timer = new Stopwatch(); timer.Start(); var receipt = warehouse.Store(key, payload, new[] { LoadingDockPolicy.Ephemeral }); var returnedValue = warehouse.Retrieve <string>(key).ToList(); Warehouse.VerifyChecksum(returnedValue, receipt.SHA256Checksum).Should().BeTrue(); timer.Stop(); // the amount of time to store, and retrieve a few kilobytes output.WriteLine($"Runtime was {Encoding.UTF8.GetByteCount(payload.SelectMany(st => st).ToArray())} bytes in {timer.ElapsedMilliseconds}."); timer.ElapsedMilliseconds.Should().BeLessThan(100); }
public override string GetDebuggerDisplay(ApplicationScope scope) { return($"dataset:{typeof(TDataset).Name}"); }
public override string GetDebuggerDisplay(ApplicationScope scope) { return($"database:{_connectionString}"); }
public void TestFailedInitializedScopeThrows() { var scope = new ApplicationScope(); Assert.Throws <InvalidOperationException>(() => scope.ApplicationContext); }