Skip to content

Commit fb9f1d5

Browse files
author
Oleksii Sokol
committed
fix cosmos tests
1 parent 479f27e commit fb9f1d5

File tree

2 files changed

+28
-6
lines changed

2 files changed

+28
-6
lines changed

ManagedCode.Database.Tests/CosmosTests/CosmosCollectionTests.cs

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
using ManagedCode.Database.Tests.BaseTests;
44
using ManagedCode.Database.Tests.Common;
55
using ManagedCode.Database.Tests.TestContainers;
6+
using System.Collections.Generic;
67
using System.Threading.Tasks;
78
using Xunit;
89
using Xunit.Abstractions;
@@ -12,7 +13,7 @@ namespace ManagedCode.Database.Tests.CosmosTests;
1213
[Collection(nameof(CosmosTestContainer))]
1314
public class CosmosCollectionTests : BaseCollectionTests<string, TestCosmosItem>
1415
{
15-
public CosmosCollectionTests(ITestOutputHelper testOutputHelper, CosmosTestContainer container) : base(container)
16+
public CosmosCollectionTests(CosmosTestContainer container) : base(container)
1617
{
1718
}
1819

@@ -36,4 +37,24 @@ public override async Task DeleteListOfItems_WhenItemsDontExist()
3637

3738
await baseMethod.Should().ThrowExactlyAsync<DatabaseException>();
3839
}
40+
41+
[Fact]
42+
public override async Task DeleteCollectionAsync()
43+
{
44+
// Arrange
45+
int itemsCount = 5;
46+
List<TestCosmosItem> list = new();
47+
48+
for (var i = 0; i < itemsCount; i++)
49+
{
50+
list.Add(CreateNewItem());
51+
}
52+
53+
await Collection.InsertAsync(list);
54+
// Act
55+
var isDeleted = await Collection.DeleteCollectionAsync();
56+
57+
// Assert
58+
isDeleted.Should().BeTrue();
59+
}
3960
}

ManagedCode.Database.Tests/TestContainers/CosmosTestContainer.cs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
namespace ManagedCode.Database.Tests.TestContainers;
1616

1717
[CollectionDefinition(nameof(CosmosTestContainer))]
18-
public class CosmosTestContainer : ITestContainer<string, TestCosmosItem>,
18+
public class CosmosTestContainer : ITestContainer<string, TestCosmosItem>,
1919
ICollectionFixture<CosmosTestContainer>, IDisposable
2020
{
2121
private readonly TestcontainersContainer _cosmosTestContainer;
@@ -83,21 +83,22 @@ public async Task InitializeAsync()
8383
var listContainers = await _dockerClient.Containers.ListContainersAsync(new ContainersListParameters());
8484

8585
ContainerListResponse containerListResponse = listContainers.FirstOrDefault(container => container.Names.Contains($"/{containerName}"));
86-
87-
if(containerListResponse != null)
86+
87+
if (containerListResponse != null)
8888
{
8989
publicPort = containerListResponse.Ports.Single(port => port.PrivatePort == privatePort).PublicPort;
9090

9191
containerId = containerListResponse.ID;
9292
}
9393
}
9494

95+
9596
_database = new CosmosDatabase(new CosmosOptions
9697
{
9798
ConnectionString =
9899
$"AccountEndpoint=https://localhost:{publicPort}/;AccountKey=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==",
99100
DatabaseName = "database",
100-
CollectionName = $"testContainers",
101+
CollectionName = $"testContainer",
101102
AllowTableCreation = true,
102103
CosmosClientOptions = new CosmosClientOptions()
103104
{
@@ -120,7 +121,7 @@ public async Task InitializeAsync()
120121

121122
public async Task DisposeAsync()
122123
{
123-
await _database.DeleteAsync();
124+
// await _database.DeleteAsync();
124125
await _database.DisposeAsync();
125126

126127
/* _testOutputHelper.WriteLine($"Cosmos container State:{_cosmosContainer.State}");

0 commit comments

Comments
 (0)