diff --git a/src/AStar.Dev.Usage.Api.Client.Sdk/AStar.Dev.Usage.Api.Client.Sdk.csproj b/src/AStar.Dev.Usage.Api.Client.Sdk/AStar.Dev.Usage.Api.Client.Sdk.csproj
index 4092e3a..7f49415 100644
--- a/src/AStar.Dev.Usage.Api.Client.Sdk/AStar.Dev.Usage.Api.Client.Sdk.csproj
+++ b/src/AStar.Dev.Usage.Api.Client.Sdk/AStar.Dev.Usage.Api.Client.Sdk.csproj
@@ -18,14 +18,14 @@
LICENSE
https://github.com/astar-development/
Readme.md
- Initial creation.
+ Add tests.
true
git
https://github.com/astar-development/
snupkg
net9.0
AStar.Dev.Usage.Api.Client.SDK
- 0.1.0
+ 0.1.1
@@ -36,7 +36,7 @@
-
+
diff --git a/src/AStar.Dev.Usage.Api.Client.Sdk/AStar.Dev.Usage.Api.Client.Sdk.xml b/src/AStar.Dev.Usage.Api.Client.Sdk/AStar.Dev.Usage.Api.Client.Sdk.xml
index e78dbce..cc1cbc6 100644
--- a/src/AStar.Dev.Usage.Api.Client.Sdk/AStar.Dev.Usage.Api.Client.Sdk.xml
+++ b/src/AStar.Dev.Usage.Api.Client.Sdk/AStar.Dev.Usage.Api.Client.Sdk.xml
@@ -26,9 +26,7 @@
- The
-
- class containing the project-specific constants
+ The class containing the project-specific constants
@@ -58,10 +56,10 @@
-
+
-
+
@@ -80,10 +78,10 @@
-
+
-
+
diff --git a/src/AStar.Dev.Usage.Api.Client.Sdk/UsageApi/UsageApiClient.cs b/src/AStar.Dev.Usage.Api.Client.Sdk/UsageApi/UsageApiClient.cs
index c66ca1d..af5e274 100644
--- a/src/AStar.Dev.Usage.Api.Client.Sdk/UsageApi/UsageApiClient.cs
+++ b/src/AStar.Dev.Usage.Api.Client.Sdk/UsageApi/UsageApiClient.cs
@@ -1,4 +1,5 @@
-using System.Net.Http.Json;
+using System.Diagnostics.CodeAnalysis;
+using System.Net.Http.Json;
using System.Text.Json;
using AStar.Dev.Api.HealthChecks;
using AStar.Dev.Functional.Extensions;
@@ -16,6 +17,7 @@ namespace AStar.Dev.Usage.Api.Client.SDK.UsageApi;
///
///
[Refactor(5, 10, "This class needs to be refactored / rewritten")]
+[ExcludeFromCodeCoverage]
public sealed class UsageApiClient(HttpClient httpClient, ITokenAcquisition tokenAcquisitionService, ILoggerAstar logger) : IApiClient
{
private static readonly JsonSerializerOptions JsonSerializerOptions = new(JsonSerializerDefaults.Web);
diff --git a/test/AStar.Dev.Usage.Api.Client.Sdk.Tests.Unit/AStar.Dev.Usage.Api.Client.Sdk.Tests.Unit.csproj b/test/AStar.Dev.Usage.Api.Client.Sdk.Tests.Unit/AStar.Dev.Usage.Api.Client.Sdk.Tests.Unit.csproj
index d1f5e55..3011789 100644
--- a/test/AStar.Dev.Usage.Api.Client.Sdk.Tests.Unit/AStar.Dev.Usage.Api.Client.Sdk.Tests.Unit.csproj
+++ b/test/AStar.Dev.Usage.Api.Client.Sdk.Tests.Unit/AStar.Dev.Usage.Api.Client.Sdk.Tests.Unit.csproj
@@ -11,6 +11,7 @@
+
@@ -26,4 +27,8 @@
+
+
+
+
diff --git a/test/AStar.Dev.Usage.Api.Client.Sdk.Tests.Unit/ApiUsageConfigurationShould.ContainTheExpectedConfigurationProperties.approved.txt b/test/AStar.Dev.Usage.Api.Client.Sdk.Tests.Unit/ApiUsageConfigurationShould.ContainTheExpectedConfigurationProperties.approved.txt
new file mode 100644
index 0000000..5b50b8f
--- /dev/null
+++ b/test/AStar.Dev.Usage.Api.Client.Sdk.Tests.Unit/ApiUsageConfigurationShould.ContainTheExpectedConfigurationProperties.approved.txt
@@ -0,0 +1,6 @@
+{
+ "hostName": "Host Doesnt Matter",
+ "userName": "Username doesnt matter",
+ "password": "You won\u0027t find it here...",
+ "queueName": "Some Queue Name"
+}
\ No newline at end of file
diff --git a/test/AStar.Dev.Usage.Api.Client.Sdk.Tests.Unit/ApiUsageConfigurationShould.cs b/test/AStar.Dev.Usage.Api.Client.Sdk.Tests.Unit/ApiUsageConfigurationShould.cs
new file mode 100644
index 0000000..431e231
--- /dev/null
+++ b/test/AStar.Dev.Usage.Api.Client.Sdk.Tests.Unit/ApiUsageConfigurationShould.cs
@@ -0,0 +1,13 @@
+using AStar.Dev.Usage.Api.Client.SDK;
+using AStar.Dev.Utilities;
+using JetBrains.Annotations;
+
+namespace AStar.Dev.Usage.Api.Client.Sdk.Tests.Unit;
+
+[TestSubject(typeof(ApiUsageConfiguration))]
+public class ApiUsageConfigurationShould
+{
+ [Fact]
+ public void ContainTheExpectedConfigurationProperties()
+ => new ApiUsageConfiguration(){ HostName = "Host Doesnt Matter", Password = "You won't find it here...", QueueName = "Some Queue Name", UserName = "Username doesnt matter"}.ToJson().ShouldMatchApproved();
+}
\ No newline at end of file
diff --git a/test/AStar.Dev.Usage.Api.Client.Sdk.Tests.Unit/ConstantsShould.cs b/test/AStar.Dev.Usage.Api.Client.Sdk.Tests.Unit/ConstantsShould.cs
new file mode 100644
index 0000000..06676b0
--- /dev/null
+++ b/test/AStar.Dev.Usage.Api.Client.Sdk.Tests.Unit/ConstantsShould.cs
@@ -0,0 +1,12 @@
+using AStar.Dev.Usage.Api.Client.SDK;
+using JetBrains.Annotations;
+
+namespace AStar.Dev.Usage.Api.Client.Sdk.Tests.Unit;
+
+[TestSubject(typeof(Constants))]
+public class ConstantsShould
+{
+ [Fact]
+ public void ContainTheApiNamePropertyWithTheExpectedValue()
+ => Constants.ApiName.ShouldBe("AStar.Dev.Usage.Api");
+}
\ No newline at end of file
diff --git a/test/AStar.Dev.Usage.Api.Client.Sdk.Tests.Unit/ServiceCollectionExtensionsShould.cs b/test/AStar.Dev.Usage.Api.Client.Sdk.Tests.Unit/ServiceCollectionExtensionsShould.cs
new file mode 100644
index 0000000..39d5bdd
--- /dev/null
+++ b/test/AStar.Dev.Usage.Api.Client.Sdk.Tests.Unit/ServiceCollectionExtensionsShould.cs
@@ -0,0 +1,23 @@
+using AStar.Dev.Usage.Api.Client.SDK;
+using JetBrains.Annotations;
+using Microsoft.Extensions.Configuration;
+using Microsoft.Extensions.DependencyInjection;
+
+namespace AStar.Dev.Usage.Api.Client.Sdk.Tests.Unit;
+
+[TestSubject(typeof(ServiceCollectionExtensions))]
+public class ServiceCollectionExtensionsShould
+{
+
+ [Fact]
+ public void AddTheExpectedServices()
+ {
+
+ var configurationManager = new ConfigurationManager();
+ var sut = new ServiceCollection();
+
+ _ = sut.AddApiConfiguration(configurationManager);
+
+ sut.Count.ShouldBe(7);
+ }
+}
\ No newline at end of file
diff --git a/test/AStar.Dev.Usage.Api.Client.Sdk.Tests.Unit/UnitTest1.cs b/test/AStar.Dev.Usage.Api.Client.Sdk.Tests.Unit/UnitTest1.cs
deleted file mode 100644
index 0da7752..0000000
--- a/test/AStar.Dev.Usage.Api.Client.Sdk.Tests.Unit/UnitTest1.cs
+++ /dev/null
@@ -1,9 +0,0 @@
-namespace AStar.Dev.Usage.Api.Client.Sdk.Tests.Unit;
-
-public class UnitTest1
-{
- [Fact]
- public void Test1()
- {
- }
-}
\ No newline at end of file
diff --git a/test/AStar.Dev.Usage.Api.Client.Sdk.Tests.Unit/UsageApi/UsageApiClientShould.cs b/test/AStar.Dev.Usage.Api.Client.Sdk.Tests.Unit/UsageApi/UsageApiClientShould.cs
new file mode 100644
index 0000000..828a5d6
--- /dev/null
+++ b/test/AStar.Dev.Usage.Api.Client.Sdk.Tests.Unit/UsageApi/UsageApiClientShould.cs
@@ -0,0 +1,9 @@
+using AStar.Dev.Usage.Api.Client.SDK.UsageApi;
+using JetBrains.Annotations;
+
+namespace AStar.Dev.Usage.Api.Client.Sdk.Tests.Unit.UsageApi;
+
+[TestSubject(typeof(UsageApiClient))]
+public class UsageApiClientShould
+{
+}
\ No newline at end of file
diff --git a/test/AStar.Dev.Usage.Api.Client.Sdk.Tests.Unit/UsageApi/UsageApiConfigurationShould.ContainTheExpectedProperties.approved.txt b/test/AStar.Dev.Usage.Api.Client.Sdk.Tests.Unit/UsageApi/UsageApiConfigurationShould.ContainTheExpectedProperties.approved.txt
new file mode 100644
index 0000000..0d5faa9
--- /dev/null
+++ b/test/AStar.Dev.Usage.Api.Client.Sdk.Tests.Unit/UsageApi/UsageApiConfigurationShould.ContainTheExpectedProperties.approved.txt
@@ -0,0 +1,6 @@
+{
+ "baseUrl": "https://uri.doesnt.matter.com",
+ "scopes": [
+ "Not Important"
+ ]
+}
\ No newline at end of file
diff --git a/test/AStar.Dev.Usage.Api.Client.Sdk.Tests.Unit/UsageApi/UsageApiConfigurationShould.cs b/test/AStar.Dev.Usage.Api.Client.Sdk.Tests.Unit/UsageApi/UsageApiConfigurationShould.cs
new file mode 100644
index 0000000..bc7dbc8
--- /dev/null
+++ b/test/AStar.Dev.Usage.Api.Client.Sdk.Tests.Unit/UsageApi/UsageApiConfigurationShould.cs
@@ -0,0 +1,13 @@
+using AStar.Dev.Usage.Api.Client.SDK.UsageApi;
+using AStar.Dev.Utilities;
+using JetBrains.Annotations;
+
+namespace AStar.Dev.Usage.Api.Client.Sdk.Tests.Unit.UsageApi;
+
+[TestSubject(typeof(UsageApiConfiguration))]
+public class UsageApiConfigurationShould
+{
+ [Fact]
+ public void ContainTheExpectedProperties()
+ => new UsageApiConfiguration() { BaseUrl = new Uri("https://uri.doesnt.matter.com"), Scopes = ["Not Important"] }.ToJson().ShouldMatchApproved();
+}
\ No newline at end of file