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()); }); }
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 };
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); }
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(); }
public static async Task SetUp(TestContext context) { // Get AWS configuration properties from .runsettings file. string region = context.Properties["region"].ToString(); const string ledgerName = "DotnetAsyncStatementExecution"; amazonQldbSessionConfig = IntegrationTestBase.CreateAmazonQLDBSessionConfig(region); integrationTestBase = new IntegrationTestBase(ledgerName, region); integrationTestBase.RunForceDeleteLedger(); integrationTestBase.RunCreateLedger(); qldbDriver = integrationTestBase.CreateAsyncDriver(amazonQldbSessionConfig, new ObjectSerializer()); // Create table. var query = $"CREATE TABLE {Constants.TableName}"; Assert.AreEqual(1, await ExecuteAndReturnRowCount(query)); Assert.IsTrue(await ConfirmTableExists(Constants.TableName)); }
public async Task ExecuteAsync_UpdateSameRecordAtSameTime_ThrowsOccException() { // Create a driver that does not retry OCC errors AsyncQldbDriver driver = integrationTestBase.CreateAsyncDriver(amazonQldbSessionConfig, default, default);
public IAmazonQldbProviderTableConfigurator WithQldbDriver(AsyncQldbDriver driver) { _driverFactory = new Lazy <IAsyncQldbDriver>(() => driver); return(_tableConfigurator); }
/// <summary> /// Creates a new AmazonQLDB data provider using the given driver. /// </summary> /// <param name="driver">The Amazon QLDB driver instance.</param> public AmazonQldbDataProvider(AsyncQldbDriver driver) { QldbDriver = new Lazy <IAsyncQldbDriver>(() => driver); }