-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathAzureTablesCollectionTests.cs
More file actions
91 lines (75 loc) · 2.62 KB
/
AzureTablesCollectionTests.cs
File metadata and controls
91 lines (75 loc) · 2.62 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
using Azure;
using FluentAssertions;
using ManagedCode.Database.AzureTables;
using ManagedCode.Database.Core.Exceptions;
using ManagedCode.Database.Tests.BaseTests;
using ManagedCode.Database.Tests.Common;
using ManagedCode.Database.Tests.TestContainers;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Xunit;
using Xunit.Abstractions;
namespace ManagedCode.Database.Tests.AzureTablesTests;
#if AZURE_TABLES || DEBUG
[Collection(nameof(AzureTablesTestContainer))]
public class AzureTablesCollectionTests : BaseCollectionTests<TableId, TestAzureTablesItem>
{
public AzureTablesCollectionTests(AzureTablesTestContainer container) : base(container)
{
}
public override async Task InsertOrUpdateListOfItems()
{
// Arrange
int itemsCount = 5;
List<TestAzureTablesItem> list = new();
for (var i = 0; i < itemsCount; i++)
{
list.Add(CreateNewItem());
}
var itemsInsert = await Collection.InsertOrUpdateAsync(list);
foreach (var item in list)
{
item.StringData = Guid.NewGuid().ToString();
}
// Act
var itemsUpdate = await Collection.InsertOrUpdateAsync(list);
// Assert
itemsUpdate.Should().Be(itemsCount);
itemsInsert.Should().Be(itemsCount);
list.Count.Should().Be(itemsCount);
}
public override async Task DeleteListOfItemsById()
{
var baseMethod = () => base.DeleteListOfItemsById();
await baseMethod.Should().ThrowExactlyAsync<NotSupportedException>();
}
public override async Task DeleteListOfItemsById_WhenItemsDontExist()
{
var baseMethod = () => base.DeleteListOfItemsById_WhenItemsDontExist();
await baseMethod.Should().ThrowExactlyAsync<NotSupportedException>();
}
public override async Task DeleteListOfItems_WhenItemsDontExist()
{
var baseMethod = () => base.DeleteListOfItems_WhenItemsDontExist();
await baseMethod.Should().ThrowExactlyAsync<DatabaseException>();
}
public override async Task DeleteAll()
{
// Arrange
int itemsCount = 5;
List<TestAzureTablesItem> list = new();
for (var i = 0; i < itemsCount; i++)
{
list.Add(CreateNewItem());
}
await Collection.InsertAsync(list);
// Act
var deletedItems = await Collection.DeleteCollectionAsync();
var countAction = async () => await Collection.CountAsync();
// Assert
deletedItems.Should().BeTrue();
await countAction.Should().ThrowExactlyAsync<DatabaseException>();
}
}
#endif