Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/dotnet.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,18 +8,18 @@ on:

jobs:
build:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: 8.0.x
dotnet-version: 10.0.x
- name: Restore dependencies
run: dotnet restore
- name: Build
run: dotnet build --configuration Release --no-restore
- name: Publish NuGet
run: dotnet nuget push AzureTableUtils/bin/Release/*.nupkg -k ${{ secrets.NUGET_API_KEY }} -s https://api.nuget.org/v3/index.json
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
run: dotnet nuget push AzureTableUtils/bin/Release/*.nupkg --api-key ${{ secrets.NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json --skip-duplicate
21 changes: 12 additions & 9 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
AzureTableUtils/bin
AzureTableUtils/obj
AzureTableUtils.Tests/bin
AzureTableUtils.Tests/obj
AzureTableUtils.Tests/TestResults
AzureTableUtils.IntegrationTests/bin
AzureTableUtils.IntegrationTests/obj
AzureTableUtils.IntegrationTests/TestResults
AzureTableUtils.IntegrationTests/test.runsettings
AzureTableUtils/bin/
AzureTableUtils/obj/
AzureTableUtils.Tests/bin/
AzureTableUtils.Tests/obj/
AzureTableUtils.Tests/TestResults/
AzureTableUtils.IntegrationTests/bin/
AzureTableUtils.IntegrationTests/obj/
AzureTableUtils.IntegrationTests/TestResults/
AzureTableUtils.IntegrationTests/test.runsettings
.vs/
*.user
*.suo
2 changes: 1 addition & 1 deletion .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
"program": "${workspaceFolder}/AzureTableUtils.Tests/bin/Debug/net8.0/AzureTableUtils.Tests.dll",
"program": "${workspaceFolder}/AzureTableUtils.Tests/bin/Debug/net10.0/AzureTableUtils.Tests.dll",
"args": [],
"cwd": "${workspaceFolder}/AzureTableUtils.Tests",
"console": "internalConsole",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>

Expand All @@ -15,13 +15,15 @@
<PackageReference Include="MSTest.TestAdapter" Version="3.1.1" />
<PackageReference Include="MSTest.TestFramework" Version="3.1.1" />
</ItemGroup>

<PropertyGroup>
<RunSettingsFilePath>$(MSBuildProjectDirectory)\test.runsettings</RunSettingsFilePath>
</PropertyGroup>

<ItemGroup>
<Using Include="Microsoft.VisualStudio.TestTools.UnitTesting" />
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\AzureTableUtils\AzureTableUtils.csproj" />
<ProjectReference Include="..\AzureTableUtils.Tests\AzureTableUtils.Tests.csproj" />
Expand Down
17 changes: 9 additions & 8 deletions AzureTableUtils.IntegrationTests/CRUDIntegrationTest.cs
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
using System.Net;
using Azure.Data.Tables;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using WebGate.Azure.TableUtils;
using WebGate.Azure.TableUtils.Test;

namespace AzureTableUtils.IntegrationTests;

[TestClass]
Expand Down Expand Up @@ -34,9 +32,10 @@ public async Task TestSimplePocoCreateReadDeleted()
var tableEntityRespose = await typedTableClient.GetByIdAsync(id, "poco");
Assert.IsNotNull(tableEntityRespose);
Assert.AreEqual(poco, tableEntityRespose.Entity);
var deleteResponse = await typedTableClient.DeleteEntityAsync(id, "poco");
var deleteResponse = await typedTableClient.TableClient.DeleteEntityAsync("poco", id);
Assert.AreEqual(204, deleteResponse.Status);
}

[TestMethod]
public async Task TestSimplePocoUpdateAsMerge()
{
Expand All @@ -55,9 +54,10 @@ public async Task TestSimplePocoUpdateAsMerge()
Assert.IsNotNull(tableEntityRespose);
poco.EnumValue = SP.VALID;
Assert.AreEqual(poco, tableEntityRespose.Entity);
var deleteResponse = await typedTableClient.DeleteEntityAsync(id, "poco");
var deleteResponse = await typedTableClient.TableClient.DeleteEntityAsync("poco", id);
Assert.AreEqual(204, deleteResponse.Status);
}

[TestMethod]
public async Task TestSimplePocoUpdateAsReplace()
{
Expand All @@ -77,9 +77,10 @@ public async Task TestSimplePocoUpdateAsReplace()
var tableEntityRespose = await typedTableClient.GetByIdAsync(id, "poco");
Assert.IsNotNull(tableEntityRespose);
Assert.AreEqual(pocoUpdate, tableEntityRespose.Entity);
var deleteResponse = await typedTableClient.DeleteEntityAsync(id, "poco");
var deleteResponse = await typedTableClient.TableClient.DeleteEntityAsync("poco", id);
Assert.AreEqual(204, deleteResponse.Status);
}

[TestMethod]
public async Task TestCascadedPocoCreateReadDeleted()
{
Expand All @@ -93,7 +94,7 @@ public async Task TestCascadedPocoCreateReadDeleted()
var tableEntityRespose = await typedTableClient.GetByIdAsync(id, "poco");
Assert.IsNotNull(tableEntityRespose);
Assert.AreEqual(poco, tableEntityRespose.Entity);
var deleteResponse = await typedTableClient.DeleteEntityAsync(id, "poco");
var deleteResponse = await typedTableClient.TableClient.DeleteEntityAsync("poco", id);
Assert.AreEqual(204, deleteResponse.Status);
}

Expand All @@ -111,7 +112,7 @@ private async Task TableCleanup<T>(string tableName)
var allPocoResult = await typedTableClient.GetAllAsync();
foreach (var result in allPocoResult)
{
await tableClient.DeleteEntityAsync(result.RowKey, result.PartitionKey);
await tableClient.DeleteEntityAsync(result.PartitionKey, result.RowKey);
}
}
}
1 change: 1 addition & 0 deletions AzureTableUtils.IntegrationTests/GlobalUsings.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
global using Azure.Data.Tables;
19 changes: 9 additions & 10 deletions AzureTableUtils.IntegrationTests/LargeDatasetIntegrationTest.cs
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
using System.Net;
using Azure.Data.Tables;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using WebGate.Azure.TableUtils;
using WebGate.Azure.TableUtils.Test;

namespace AzureTableUtils.IntegrationTests;

[TestClass]
Expand Down Expand Up @@ -32,7 +30,8 @@ public async Task TestSimplePocoCreateRead1500EntriesDeleted()
var typedTableClient = _extendedTableService.GetTypedTableClient<SimplePoco>();
Assert.IsNotNull(typedTableClient);
var partitionId = Guid.NewGuid().ToString();
for (int i = 0; i< 1500;i++) {
for (int i = 0; i < 1500; i++)
{
var id = Guid.NewGuid().ToString();
var poco = SimplePoco.CreateInitializedPoco();
poco.IntValue = 1;
Expand All @@ -42,24 +41,24 @@ public async Task TestSimplePocoCreateRead1500EntriesDeleted()
var allPocoResult = await typedTableClient.GetAllAsync(partitionId);
Assert.IsNotNull(allPocoResult);
Assert.AreEqual(1500, allPocoResult.Count);
foreach(var result in allPocoResult) {
await typedTableClient.DeleteEntityAsync(result.RowKey,result.PartitionKey);
foreach (var result in allPocoResult)
{
await typedTableClient.TableClient.DeleteEntityAsync(result.PartitionKey, result.RowKey);
}
var allPocoResult2 = await typedTableClient.GetAllAsync(partitionId);
Assert.IsNotNull(allPocoResult2);
Assert.AreEqual(0, allPocoResult2.Count);
}


[TestCleanup]
public async Task TestCleanup()
{
Assert.IsNotNull(_extendedTableService);
var typedTableClient = _extendedTableService.GetTypedTableClient<SimplePoco>();
var allPocoResult = await typedTableClient.GetAllAsync();
foreach(var result in allPocoResult) {
await typedTableClient.DeleteEntityAsync(result.RowKey,result.PartitionKey);
foreach (var result in allPocoResult)
{
await typedTableClient.TableClient.DeleteEntityAsync(result.PartitionKey, result.RowKey);
}
}

}
30 changes: 14 additions & 16 deletions AzureTableUtils.IntegrationTests/MultiEntityIntegrationTest.cs
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
using System.Net;
using Azure.Data.Tables;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using WebGate.Azure.TableUtils;
using WebGate.Azure.TableUtils.Models;
using WebGate.Azure.TableUtils.Test;

namespace AzureTableUtils.IntegrationTests;

[TestClass]
Expand Down Expand Up @@ -41,12 +39,13 @@ public async Task TestMEClientCreateReadDeleted()
Assert.AreEqual(13, allPocoResult.Count);
foreach (var resultPoco in allPocoResult)
{
await meTableClient.DeleteEntityAsync(resultPoco.RowKey, resultPoco.PartitionKey);
await meTableClient.TableClient.DeleteEntityAsync(resultPoco.PartitionKey, resultPoco.RowKey);
}
var allPocoResult2 = await meTableClient.GetAllAsync(partitionId);
Assert.IsNotNull(allPocoResult2);
Assert.AreEqual(0, allPocoResult2.Count);
}

[TestMethod]
public async Task TestMEClientTypeExtraction()
{
Expand All @@ -65,7 +64,7 @@ public async Task TestMEClientTypeExtraction()
Assert.AreEqual(7, mainWithParents.Count);
foreach (var resultPoco in allPocoResult)
{
await meTableClient.DeleteEntityAsync(resultPoco.RowKey, resultPoco.PartitionKey);
await meTableClient.TableClient.DeleteEntityAsync(resultPoco.PartitionKey, resultPoco.RowKey);
}
var allPocoResult2 = await meTableClient.GetAllAsync(partitionId);
Assert.IsNotNull(allPocoResult2);
Expand All @@ -90,7 +89,7 @@ public async Task TestMEClientTypeInfomationAndRowKey()
Assert.AreEqual(7, mainWithParents.Count(x => x.RowKey.StartsWith("mwp_")));
foreach (var resultPoco in allPocoResult)
{
await meTableClient.DeleteEntityAsync(resultPoco.RowKey, resultPoco.PartitionKey);
await meTableClient.TableClient.DeleteEntityAsync(resultPoco.PartitionKey, resultPoco.RowKey);
}
var allPocoResult2 = await meTableClient.GetAllAsync(partitionId);
Assert.IsNotNull(allPocoResult2);
Expand All @@ -106,16 +105,16 @@ public async Task TestMECRUDOperationOnSingleEntity()
string partitionId = Guid.NewGuid().ToString();
string idForEntity = Guid.NewGuid().ToString();
var simplePoco = SimplePoco.CreateInitializedPoco();
var resultCreate = await meTableClient.InsertOrMergeAsync(idForEntity,partitionId,simplePoco);
Assert.AreEqual(204,resultCreate.Status);
var simplePocoGet = await meTableClient.GetByIdAsync<SimplePoco>(idForEntity,partitionId);
var resultCreate = await meTableClient.InsertOrMergeAsync(idForEntity, partitionId, simplePoco);
Assert.AreEqual(204, resultCreate.Status);
var simplePocoGet = await meTableClient.GetByIdAsync<SimplePoco>(idForEntity, partitionId);
Assert.IsNotNull(simplePocoGet);
Assert.AreEqual(simplePoco,simplePocoGet.Entity);
Assert.AreEqual(simplePoco, simplePocoGet.Entity);
var simplePocDoUpdate = simplePocoGet.Entity;
simplePocDoUpdate.EnumValue = SP.VALID;
var resultUpdate = await meTableClient.InsertOrMergeAsync(idForEntity,partitionId,simplePocDoUpdate);
Assert.AreEqual(204,resultUpdate.Status);
var simplePocoUpdated = await meTableClient.GetByIdAsync<SimplePoco>(idForEntity,partitionId);
var resultUpdate = await meTableClient.InsertOrMergeAsync(idForEntity, partitionId, simplePocDoUpdate);
Assert.AreEqual(204, resultUpdate.Status);
var simplePocoUpdated = await meTableClient.GetByIdAsync<SimplePoco>(idForEntity, partitionId);
Assert.IsNotNull(simplePocoUpdated);
Assert.AreEqual(SP.VALID, simplePocoUpdated.Entity.EnumValue);
await meTableClient.DeleteEntityByTypeAsync<SimplePoco>(idForEntity, partitionId);
Expand All @@ -124,7 +123,6 @@ public async Task TestMECRUDOperationOnSingleEntity()
Assert.AreEqual(0, allPocoResult2.Count);
}


[TestCleanup]
public async Task TestCleanup()
{
Expand All @@ -133,9 +131,10 @@ public async Task TestCleanup()
var allPocoResult = await meTableClient.GetAllAsync();
foreach (var result in allPocoResult)
{
await meTableClient.DeleteEntityAsync(result.RowKey, result.PartitionKey);
await meTableClient.TableClient.DeleteEntityAsync(result.PartitionKey, result.RowKey);
}
}

private static async Task<string> GenerateDataset(MultiEntityAzureTableClient meTableClient)
{
var partitionId = Guid.NewGuid().ToString();
Expand All @@ -155,5 +154,4 @@ private static async Task<string> GenerateDataset(MultiEntityAzureTableClient me

return partitionId;
}

}
4 changes: 2 additions & 2 deletions AzureTableUtils.Tests/AzureTableUtils.Tests.csproj
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>

Expand All @@ -19,9 +19,9 @@
<ItemGroup>
<Using Include="Microsoft.VisualStudio.TestTools.UnitTesting" />
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\AzureTableUtils\AzureTableUtils.csproj" />
</ItemGroup>


</Project>
10 changes: 1 addition & 9 deletions AzureTableUtils.Tests/BuilderIEnumberableTest.cs
Original file line number Diff line number Diff line change
@@ -1,10 +1,3 @@
using System;
using System.Collections.Generic;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using WebGate.Azure.TableUtils;
using Newtonsoft.Json;
using Azure.Data.Tables;

namespace WebGate.Azure.TableUtils.Test;

[TestClass]
Expand All @@ -22,6 +15,5 @@ public void TestListObjects()

Assert.AreEqual(3, build.Children.Count);
CollectionAssert.AreEqual(build.Children, pwlc.Children);

}
}
}
10 changes: 2 additions & 8 deletions AzureTableUtils.Tests/BuilderListArrayTest.cs
Original file line number Diff line number Diff line change
@@ -1,10 +1,3 @@
using System;
using System.Collections.Generic;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using WebGate.Azure.TableUtils;
using Newtonsoft.Json;
using Azure.Data.Tables;

namespace WebGate.Azure.TableUtils.Test;

[TestClass]
Expand All @@ -20,6 +13,7 @@ public void TestPocoWithEmptyArray()
Assert.AreEqual(0, allEntities.Count);
Assert.IsNull(build.DateTimeArray);
}

[TestMethod]
public void TestPocoWithInitializedArray()
{
Expand All @@ -30,4 +24,4 @@ public void TestPocoWithInitializedArray()
Assert.AreEqual(3, allEntities.Count);
CollectionAssert.AreEqual(build.DateTimeArray, spwa.DateTimeArray);
}
}
}
Loading
Loading