Skip to content

Commit

Permalink
Updated
Browse files Browse the repository at this point in the history
  • Loading branch information
vitalybibikov committed Apr 16, 2024
1 parent a5af70e commit 0834176
Show file tree
Hide file tree
Showing 5 changed files with 19 additions and 30 deletions.
11 changes: 11 additions & 0 deletions docker-compose.override.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,17 @@ services:
- ${APPDATA}/ASP.NET/Https:/root/.aspnet/https:ro
- './localstack:/var/lib/localstack'
- './test-results:/app/test-results'
unittests:
environment:
<<: *common-variables
AWS_ACCESS_KEY_ID: dummy
AWS_SECRET_ACCESS_KEY: dummy
AWS_HOST: http://localstack:4566
ports:
- 5056:8080
volumes:
- './localstack:/var/lib/localstack'
- './test-results:/app/test-results'
localstack:
environment:
<<: *common-variables
Expand Down
2 changes: 1 addition & 1 deletion docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ services:
depends_on:
- localstack
unittests:
image: ${DOCKER_REGISTRY-}tests
image: ${DOCKER_REGISTRY-}unittests
build:
context: .
dockerfile: ./test/DynamoDBv2.Transactions.UnitTests/Dockerfile
Expand Down
2 changes: 1 addition & 1 deletion src/TransactionManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

namespace DynamoDBv2.Transactions;

public sealed class TransactionManager(AmazonDynamoDBClient client)
public sealed class TransactionManager(IAmazonDynamoDB client)
: ITransactionManager
{
public async Task<TransactWriteItemsResponse?> ExecuteTransactionAsync(IEnumerable<ITransactionRequest> requests, CancellationToken token = default)
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ public class TransactionManagerMockTests
public async Task ExecuteTransactionAsync_MapsOperationsCorrectly()
{
// Arrange
var client = new Mock<AmazonDynamoDBClient>();
var manager = new TransactionManager(client.Object);
var mockAmazonDynamoDB = new Mock<IAmazonDynamoDB>();
var manager = new TransactionManager(mockAmazonDynamoDB.Object);
var requests = new List<ITransactionRequest>
{
new ConditionCheckTransactionRequest<SomeDynamoDbEntity>(),
Expand All @@ -30,15 +30,15 @@ public async Task ExecuteTransactionAsync_MapsOperationsCorrectly()
var response = await manager.ExecuteTransactionAsync(requests);

// Assert
client.Verify(c => c.TransactWriteItemsAsync(It.IsAny<TransactWriteItemsRequest>(), CancellationToken.None), Times.Once());
mockAmazonDynamoDB.Verify(c => c.TransactWriteItemsAsync(It.IsAny<TransactWriteItemsRequest>(), CancellationToken.None), Times.Once());
}

[Fact]
public async Task ExecuteTransactionAsync_AllItemsPassedToEnd()
{
// Arrange
var client = new Mock<AmazonDynamoDBClient>();
var manager = new TransactionManager(client.Object);
var mockAmazonDynamoDB = new Mock<IAmazonDynamoDB>();
var manager = new TransactionManager(mockAmazonDynamoDB.Object);
var requests = new List<ITransactionRequest>
{
new ConditionCheckTransactionRequest<SomeDynamoDbEntity>(),
Expand All @@ -52,7 +52,7 @@ public async Task ExecuteTransactionAsync_AllItemsPassedToEnd()
await manager.ExecuteTransactionAsync(requests);

// Assert
client.Verify(x => x.TransactWriteItemsAsync(It.Is<TransactWriteItemsRequest>(req =>
mockAmazonDynamoDB.Verify(x => x.TransactWriteItemsAsync(It.Is<TransactWriteItemsRequest>(req =>
req.TransactItems.Count == 5 &&
req.TransactItems[0].ConditionCheck != null &&
req.TransactItems[1].Delete != null &&
Expand Down

0 comments on commit 0834176

Please sign in to comment.