示例#1
0
        public AsyncQldbDriver CreateAsyncDriver(
            AmazonQLDBSessionConfig amazonQldbSessionConfig,
            int maxConcurrentTransactions = default,
            string ledgerName             = default)
        {
            AsyncQldbDriverBuilder builder = AsyncQldbDriver.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 <IAsyncQldbDriver>(() =>
            {
                var builder = AsyncQldbDriver.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());
            });
        }
示例#3
0
 private AmazonQldbDataProvider GetAmazonQLDBDataProvider(List <AuditEvent> ins, List <AuditEvent> repl) =>
 new AmazonAsyncQldbDataProviderForTest(ins, repl)
 {
     QldbDriver = new Lazy <IAsyncQldbDriver>(() => AsyncQldbDriver.Builder()
                                              .WithQLDBSessionConfig(new AmazonQLDBSessionConfig())
                                              .WithLedger("audit-ledger")
                                              .WithRetryLogging()
                                              .WithMaxConcurrentTransactions(2)
                                              .Build()),
     TableNameBuilder = ev => ev.EventType
 };
示例#4
0
        public void SetupTest()
        {
            builder = AsyncQldbDriver.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 AsyncQldbDriver(TestLedger, mockClient, 4, NullLogger.Instance, null);
            Assert.IsNotNull(testDriver);
        }
示例#5
0
        private static async Task PerformSetup()
        {
            IAsyncQldbDriver qldbDriver = AsyncQldbDriver.Builder()
                                          .WithLedger(LedgerName)
                                          .Build();

            CreateLedger createLedger = new CreateLedger();
            await createLedger.Run();

            CreateTables createTables = new CreateTables(qldbDriver);
            await createTables.Run();

            CreateIndexes createIndexes = new CreateIndexes(qldbDriver);
            await createIndexes.Run();

            SampleData sampleData = new SampleData(qldbDriver);
            await sampleData.Run();
        }