public QldbDriver CreateDriver( AmazonQLDBSessionConfig amazonQldbSessionConfig, int maxConcurrentTransactions = default, string ledgerName = default) { QldbDriverBuilder builder = QldbDriver.Builder(); string finalLedgerName; if (ledgerName != default) { finalLedgerName = ledgerName; } else { finalLedgerName = this.ledgerName; } if (maxConcurrentTransactions != default) { builder.WithMaxConcurrentTransactions(maxConcurrentTransactions); } return(builder.WithQLDBSessionConfig(amazonQldbSessionConfig) .WithLedger(finalLedgerName) .Build()); }
private void CreateDriverFactory() { _driverFactory = new Lazy <IQldbDriver>(() => { var builder = QldbDriver.Builder() .WithAWSCredentials(_credentials) .WithQLDBSessionConfig(_sessionConfig); if (!string.IsNullOrEmpty(_ledger)) { builder.WithLedger(_ledger); } if (_maxConcurrentTransactions >= 0) { builder.WithMaxConcurrentTransactions(_maxConcurrentTransactions); } if (_useRetryLogging) { builder.WithRetryLogging(); } if (_logger != null) { builder.WithLogger(_logger); } return(builder .Build()); }); }
public QldbService() { AmazonQLDBSessionConfig amazonQldbSessionConfig = new AmazonQLDBSessionConfig(); this.driver = QldbDriver.Builder() .WithQLDBSessionConfig(amazonQldbSessionConfig) .WithLedger(LedgerName) .Build(); }
private AmazonQldbDataProvider GetAmazonQLDBDataProvider(List <AuditEvent> ins, List <AuditEvent> repl) => new AmazonQldbDataProviderForTest(ins, repl) { QldbDriver = new Lazy <IQldbDriver>(() => QldbDriver.Builder() .WithQLDBSessionConfig(new AmazonQLDBSessionConfig()) .WithLedger("audit-ledger") .WithRetryLogging() .WithMaxConcurrentTransactions(2) .Build()), TableNameBuilder = ev => ev.EventType };
public void TestWithLedgerValidAndInvalidInputs() { var testBuilder = QldbDriver.Builder(); QldbDriver driver; // No specified ledger Assert.ThrowsException <ArgumentException>(() => driver = testBuilder.Build()); // Empty ledger Assert.ThrowsException <ArgumentException>(() => testBuilder.WithLedger("")); Assert.ThrowsException <ArgumentException>(() => testBuilder.WithLedger(null)); driver = testBuilder.WithLedger("testLedger").Build(); Assert.IsNotNull(driver); }
public void SetupTest() { builder = QldbDriver.Builder() .WithLedger("testLedger") .WithRetryLogging() .WithLogger(NullLogger.Instance) .WithAWSCredentials(new Mock <AWSCredentials>().Object) .WithQLDBSessionConfig(new AmazonQLDBSessionConfig()); Assert.IsNotNull(builder); mockClient = new MockSessionClient(); mockClient.SetDefaultResponse(DefaultSendCommandResponse("testToken", TestTransactionId, TestRequestId, digest)); testDriver = new QldbDriver(TestLedger, mockClient, 4, NullLogger.Instance); Assert.IsNotNull(testDriver); }
public void SetupTest() { mockClient = new Mock <AmazonQLDBSessionClient>(); var sendCommandResponse = new SendCommandResponse { StartSession = new StartSessionResult { SessionToken = "testToken" }, StartTransaction = new StartTransactionResult { TransactionId = "testTransactionIdddddd" }, ExecuteStatement = new ExecuteStatementResult { FirstPage = new Page { NextPageToken = null, Values = new List <ValueHolder>() } }, CommitTransaction = new CommitTransactionResult { CommitDigest = new MemoryStream(digest) }, ResponseMetadata = new ResponseMetadata { RequestId = "testId" } }; mockClient.Setup(x => x.SendCommandAsync(It.IsAny <SendCommandRequest>(), It.IsAny <CancellationToken>())) .Returns(Task.FromResult(sendCommandResponse)); builder = QldbDriver.Builder() .WithLedger("testLedger") .WithRetryLogging() .WithLogger(NullLogger.Instance) .WithAWSCredentials(new Mock <AWSCredentials>().Object) .WithQLDBSessionConfig(new AmazonQLDBSessionConfig()); }
public static async Task Main(string[] args) { Audit.EntityFramework.Configuration.Setup() .ForContext <InvoicingContext>(config => config .IncludeEntityObjects() .AuditEventType("{context}:{database}")); Audit.Core.Configuration.Setup() .UseAmazonQldb(config => config.WithQldbDriver(QldbDriver.Builder() .WithLedger("InvoicingSystem") .Build()) .Table("AuditEvents")); var host = CreateWebHostBuilder(args).Build(); await host.RunAsync(); Audit.Core.Configuration .AddCustomAction(ActionType.OnEventSaving, scope => { var httpContextAccessor = (IHttpContextAccessor)host.Services.GetService(typeof(IHttpContextAccessor)); scope.SetCustomField("TraceId", httpContextAccessor.HttpContext.TraceIdentifier); }); }
public void SetupTest() { builder = QldbDriver.Builder().WithLedger("testLedger"); }