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