Skip to content

Commit e2fbfb9

Browse files
Revert "Support AWS SDK v4 (#871)" (#877)
This reverts commit 70583f5. Co-authored-by: Daniel Marbach <danielmarbach@users.noreply.github.com>
1 parent d7809de commit e2fbfb9

18 files changed

Lines changed: 465 additions & 348 deletions

src/NServiceBus.Persistence.DynamoDB.AcceptanceTests/When_combining_document_with_shared_session_with_mapping.cs

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,7 @@ public async Task Should_work()
1717
{
1818
var customerId = Guid.NewGuid().ToString();
1919

20-
var table = new TableBuilder(SetupFixture.DynamoDBClient, SetupFixture.TableConfiguration.TableName)
21-
.AddHashKey("PK", DynamoDBEntryType.String)
22-
.AddRangeKey("SK", DynamoDBEntryType.String)
23-
.Build();
20+
var table = Table.LoadTable(SetupFixture.DynamoDBClient, SetupFixture.TableConfiguration.TableName);
2421
var customerDocument = new Document
2522
{
2623
{"PK", customerId },
@@ -56,10 +53,7 @@ class TriggerMessageHandler : IHandleMessages<MakeCustomerPreferred>
5653
{
5754
public TriggerMessageHandler(Context testContext, IDynamoClientProvider clientProvider)
5855
{
59-
var tableBuilder = new TableBuilder(clientProvider.Client, SetupFixture.TableConfiguration.TableName)
60-
.AddHashKey("PK", DynamoDBEntryType.String)
61-
.AddRangeKey("SK", DynamoDBEntryType.String);
62-
table = tableBuilder.Build();
56+
table = Table.LoadTable(clientProvider.Client, SetupFixture.TableConfiguration.TableName);
6357
this.testContext = testContext;
6458
}
6559

src/NServiceBus.Persistence.DynamoDB.AcceptanceTests/When_combining_document_with_shared_session_without_mapping.cs

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,7 @@ public async Task Should_work()
1616
{
1717
var customerId = Guid.NewGuid().ToString();
1818

19-
var table = new TableBuilder(SetupFixture.DynamoDBClient, SetupFixture.TableConfiguration.TableName)
20-
.AddHashKey("PK", DynamoDBEntryType.String)
21-
.AddRangeKey("SK", DynamoDBEntryType.String)
22-
.Build();
19+
var table = Table.LoadTable(SetupFixture.DynamoDBClient, SetupFixture.TableConfiguration.TableName);
2320
var customerDocument = new Document
2421
{
2522
{"PK", customerId },
@@ -55,10 +52,7 @@ class TriggerMessageHandler : IHandleMessages<MakeCustomerPreferred>
5552
{
5653
public TriggerMessageHandler(Context testContext, IDynamoClientProvider clientProvider)
5754
{
58-
var tableBuilder = new TableBuilder(clientProvider.Client, SetupFixture.TableConfiguration.TableName)
59-
.AddHashKey("PK", DynamoDBEntryType.String)
60-
.AddRangeKey("SK", DynamoDBEntryType.String);
61-
table = tableBuilder.Build();
55+
table = Table.LoadTable(clientProvider.Client, SetupFixture.TableConfiguration.TableName);
6256
this.testContext = testContext;
6357
}
6458

src/NServiceBus.Persistence.DynamoDB.AcceptanceTests/When_combining_dynamocontext_with_shared_session_and_extended_context.cs

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,8 @@ public async Task Should_work()
2020
var customerId = Guid.NewGuid().ToString();
2121

2222
var customer = new Customer { CustomerId = customerId };
23-
24-
var dynamoContext = new DynamoDBContextBuilder().WithDynamoDBClient(() => SetupFixture.DynamoDBClient).Build();
25-
await dynamoContext.SaveAsync(customer, new SaveConfig { OverrideTableName = SetupFixture.TableConfiguration.TableName });
23+
var dynamoContext = new DynamoDBContext(SetupFixture.DynamoDBClient);
24+
await dynamoContext.SaveAsync(customer, new DynamoDBOperationConfig { OverrideTableName = SetupFixture.TableConfiguration.TableName });
2625

2726
await Scenario.Define<Context>()
2827
.WithEndpoint<EndpointUsingDynamoContext>(e => e
@@ -34,7 +33,7 @@ await Scenario.Define<Context>()
3433
.Run();
3534

3635
var modifiedCustomer = await dynamoContext.LoadAsync<Customer>(customerId, customerId,
37-
new LoadConfig { OverrideTableName = SetupFixture.TableConfiguration.TableName });
36+
new DynamoDBOperationConfig { OverrideTableName = SetupFixture.TableConfiguration.TableName });
3837

3938
Assert.Multiple(() =>
4039
{
@@ -60,7 +59,7 @@ public async Task Handle(MakeCustomerPreferred message, IMessageHandlerContext c
6059
var session = context.SynchronizedStorageSession.DynamoPersistenceSession();
6160

6261
var customer = await dynamoContext.LoadAsync<Customer>(message.CustomerId, message.CustomerId,
63-
new LoadConfig { OverrideTableName = SetupFixture.TableConfiguration.TableName },
62+
new DynamoDBOperationConfig { OverrideTableName = SetupFixture.TableConfiguration.TableName },
6463
context.CancellationToken)
6564
.ConfigureAwait(false);
6665

@@ -82,7 +81,7 @@ public async Task Handle(MakeCustomerPreferred message, IMessageHandlerContext c
8281
testContext.MessageReceived = true;
8382
}
8483

85-
readonly DynamoDBContext dynamoContext = new DynamoDBContextBuilder().WithDynamoDBClient(() => clientProvider.Client).Build();
84+
readonly DynamoDBContext dynamoContext = new(clientProvider.Client);
8685

8786
// Normally this should never be done on a handler as a field but for this test this is OK.
8887
readonly JsonSerializerOptions serializerOptions = new(Mapper.Default)

src/NServiceBus.Persistence.DynamoDB.AcceptanceTests/When_combining_dynamocontext_with_shared_session_with_mapping.cs

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ public async Task Should_work()
1818
var customerId = Guid.NewGuid().ToString();
1919

2020
var customer = new Customer { CustomerId = customerId };
21-
var dynamoContext = new DynamoDBContextBuilder().WithDynamoDBClient(() => SetupFixture.DynamoDBClient).Build();
22-
await dynamoContext.SaveAsync(customer, new SaveConfig { OverrideTableName = SetupFixture.TableConfiguration.TableName });
21+
var dynamoContext = new DynamoDBContext(SetupFixture.DynamoDBClient);
22+
await dynamoContext.SaveAsync(customer, new DynamoDBOperationConfig { OverrideTableName = SetupFixture.TableConfiguration.TableName });
2323

2424
await Scenario.Define<Context>()
2525
.WithEndpoint<EndpointUsingDynamoContext>(e => e
@@ -31,7 +31,7 @@ await Scenario.Define<Context>()
3131
.Run();
3232

3333
var modifiedCustomer = await dynamoContext.LoadAsync<Customer>(customerId, customerId,
34-
new LoadConfig { OverrideTableName = SetupFixture.TableConfiguration.TableName });
34+
new DynamoDBOperationConfig { OverrideTableName = SetupFixture.TableConfiguration.TableName });
3535
Assert.That(modifiedCustomer.CustomerPreferred, Is.True);
3636
}
3737

@@ -44,15 +44,20 @@ class EndpointUsingDynamoContext : EndpointConfigurationBuilder
4444
{
4545
public EndpointUsingDynamoContext() => EndpointSetup<DefaultServer>();
4646

47-
class TriggerMessageHandler(Context testContext, IDynamoClientProvider clientProvider)
48-
: IHandleMessages<MakeCustomerPreferred>
47+
class TriggerMessageHandler : IHandleMessages<MakeCustomerPreferred>
4948
{
49+
public TriggerMessageHandler(Context testContext, IDynamoClientProvider clientProvider)
50+
{
51+
dynamoContext = new DynamoDBContext(clientProvider.Client);
52+
this.testContext = testContext;
53+
}
54+
5055
public async Task Handle(MakeCustomerPreferred message, IMessageHandlerContext context)
5156
{
5257
var session = context.SynchronizedStorageSession.DynamoPersistenceSession();
5358

5459
var customer = await dynamoContext.LoadAsync<Customer>(message.CustomerId, message.CustomerId,
55-
new LoadConfig { OverrideTableName = SetupFixture.TableConfiguration.TableName },
60+
new DynamoDBOperationConfig { OverrideTableName = SetupFixture.TableConfiguration.TableName },
5661
context.CancellationToken)
5762
.ConfigureAwait(false);
5863

@@ -70,7 +75,8 @@ public async Task Handle(MakeCustomerPreferred message, IMessageHandlerContext c
7075
testContext.MessageReceived = true;
7176
}
7277

73-
readonly DynamoDBContext dynamoContext = new DynamoDBContextBuilder().WithDynamoDBClient(() => clientProvider.Client).Build();
78+
readonly DynamoDBContext dynamoContext;
79+
readonly Context testContext;
7480
}
7581
}
7682

src/NServiceBus.Persistence.DynamoDB.AcceptanceTests/When_combining_dynamocontext_with_shared_session_without_mapping.cs

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ public async Task Should_work()
1717
var customerId = Guid.NewGuid().ToString();
1818

1919
var customer = new Customer { CustomerId = customerId };
20-
var dynamoContext = new DynamoDBContextBuilder().WithDynamoDBClient(() => SetupFixture.DynamoDBClient).Build();
21-
await dynamoContext.SaveAsync(customer, new SaveConfig { OverrideTableName = SetupFixture.TableConfiguration.TableName });
20+
var dynamoContext = new DynamoDBContext(SetupFixture.DynamoDBClient);
21+
await dynamoContext.SaveAsync(customer, new DynamoDBOperationConfig { OverrideTableName = SetupFixture.TableConfiguration.TableName });
2222

2323
await Scenario.Define<Context>()
2424
.WithEndpoint<EndpointUsingDynamoContext>(e => e
@@ -30,7 +30,7 @@ await Scenario.Define<Context>()
3030
.Run();
3131

3232
var modifiedCustomer = await dynamoContext.LoadAsync<Customer>(customerId, customerId,
33-
new LoadConfig { OverrideTableName = SetupFixture.TableConfiguration.TableName });
33+
new DynamoDBOperationConfig { OverrideTableName = SetupFixture.TableConfiguration.TableName });
3434
Assert.That(modifiedCustomer.CustomerPreferred, Is.True);
3535
}
3636

@@ -43,15 +43,20 @@ class EndpointUsingDynamoContext : EndpointConfigurationBuilder
4343
{
4444
public EndpointUsingDynamoContext() => EndpointSetup<DefaultServer>();
4545

46-
class TriggerMessageHandler(Context testContext, IDynamoClientProvider clientProvider)
47-
: IHandleMessages<MakeCustomerPreferred>
46+
class TriggerMessageHandler : IHandleMessages<MakeCustomerPreferred>
4847
{
48+
public TriggerMessageHandler(Context testContext, IDynamoClientProvider clientProvider)
49+
{
50+
dynamoContext = new DynamoDBContext(clientProvider.Client);
51+
this.testContext = testContext;
52+
}
53+
4954
public async Task Handle(MakeCustomerPreferred message, IMessageHandlerContext context)
5055
{
5156
var session = context.SynchronizedStorageSession.DynamoPersistenceSession();
5257

5358
var customer = await dynamoContext.LoadAsync<Customer>(message.CustomerId, message.CustomerId,
54-
new LoadConfig { OverrideTableName = SetupFixture.TableConfiguration.TableName },
59+
new DynamoDBOperationConfig { OverrideTableName = SetupFixture.TableConfiguration.TableName },
5560
context.CancellationToken)
5661
.ConfigureAwait(false);
5762

@@ -75,7 +80,8 @@ public async Task Handle(MakeCustomerPreferred message, IMessageHandlerContext c
7580
testContext.MessageReceived = true;
7681
}
7782

78-
readonly DynamoDBContext dynamoContext = new DynamoDBContextBuilder().WithDynamoDBClient(() => clientProvider.Client).Build();
83+
readonly DynamoDBContext dynamoContext;
84+
readonly Context testContext;
7985
}
8086
}
8187

src/NServiceBus.Persistence.DynamoDB.AcceptanceTests/When_using_saga_and_adding_operations_to_shared_session.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,8 +96,8 @@ public async Task Should_rollback_changes_with_session()
9696

9797
Assert.Multiple(() =>
9898
{
99-
Assert.That(items.Items, Has.Count.Zero, "should have rolled back all enlisted database operations");
100-
Assert.That(saga.Item, Is.Null, "should have rolled back all saga database operations");
99+
Assert.That(items, Is.Empty, "should have rolled back all enlisted database operations");
100+
Assert.That(saga.Item, Is.Empty, "should have rolled back all saga database operations");
101101
Assert.That(context.FailedMessages.Single().Value, Has.Count.EqualTo(1), "the message should have failed");
102102
});
103103
}

src/NServiceBus.Persistence.DynamoDB.PersistenceTests/OutboxTests.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,9 @@ public async Task Should_fail_when_outbox_item_beyond_size_limit()
4040
{
4141
ContextBag contextBag = configuration.GetContextBagForOutbox();
4242

43+
var r = new Random();
4344
byte[] payload = new byte[500_000]; // 400 KB is the item size limit
44-
Random.Shared.NextBytes(payload);
45+
r.NextBytes(payload);
4546

4647
var transportOperations = new TransportOperation[]
4748
{
@@ -61,8 +62,9 @@ public async Task Should_fail_when_outbox_operations_beyond_size_limit()
6162
{
6263
ContextBag contextBag = configuration.GetContextBagForOutbox();
6364

65+
var r = new Random();
6466
byte[] payload = new byte[300_000]; // 400 KB is the item size limit
65-
Random.Shared.NextBytes(payload);
67+
r.NextBytes(payload);
6668

6769
// Generate total transaction payload > 4MB
6870
var transportOperations = new TransportOperation[15];

src/NServiceBus.Persistence.DynamoDB.PersistenceTests/When_saving_saga_with_empty_list.cs

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,7 @@ public async Task ShouldSave()
2828
[Test]
2929
public async Task ShouldUpdate()
3030
{
31-
var memStreams1 = Enumerable.Range(0, 5)
32-
.Select(i => new MemoryStream(Encoding.UTF8.GetBytes($"Hello world {i}")))
33-
.ToArray();
34-
35-
var memStreams2 = Enumerable.Range(0, 5)
31+
var memStreams = Enumerable.Range(0, 5)
3632
.Select(i => new MemoryStream(Encoding.UTF8.GetBytes($"Hello world {i}")))
3733
.ToArray();
3834

@@ -59,8 +55,8 @@ public async Task ShouldUpdate()
5955
UInts = [2147483647, 4294967295],
6056
SBytes = [0x0F, 0x10],
6157
Decimals = [1.234m, 5.678m],
62-
HashSetOfMemoryStreams = [.. memStreams1],
63-
ImmutableHashSetOfStreams = new HashSet<MemoryStream>(memStreams2).ToImmutableHashSet(),
58+
HashSetOfMemoryStreams = [.. memStreams],
59+
ImmutableHashSetOfStreams = new HashSet<MemoryStream>(memStreams).ToImmutableHashSet(),
6460
HashSetOfString = ["a", "b", "c", "d"],
6561
SortedSetOfString = ["a", "b", "c", "d"],
6662
ImmutableHashSetOfString = ["a", "b", "c", "d"],

0 commit comments

Comments
 (0)