From 31f4dd7942ec839f9f04d60a16693cebbee09f40 Mon Sep 17 00:00:00 2001 From: JT Date: Fri, 26 Jul 2024 16:39:28 +0800 Subject: [PATCH] Release cleanup (#169) --- img/icon.png | Bin 0 -> 25693 bytes src/Alba.sln | 6 ++++++ src/Alba/Alba.csproj | 8 +++++++- src/Alba/AlbaJsonFormatterException.cs | 2 +- src/Alba/AlbaWebApplicationFactory.cs | 2 +- src/Alba/HeaderExpectations.cs | 2 +- src/Alba/IAlbaWebApplicationFactory.cs | 2 +- src/Alba/IScenarioResult.cs | 12 ++++++------ src/Alba/MimeType.cs | 2 +- src/Alba/ScenarioAssertionException.cs | 7 +------ src/Alba/ScenarioResult.cs | 4 ++-- src/Alba/SendExpression.cs | 2 +- 12 files changed, 28 insertions(+), 21 deletions(-) create mode 100644 img/icon.png diff --git a/img/icon.png b/img/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..e19d3a663fd86e316b6f1e23fb506750c5a65864 GIT binary patch literal 25693 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 git://github.com/JasperFx/alba library - https://avatars2.githubusercontent.com/u/10048186?v=3&s=200 + icon.png enable true CS1591; + README.md + + + + + diff --git a/src/Alba/AlbaJsonFormatterException.cs b/src/Alba/AlbaJsonFormatterException.cs index e17c61eb..b7fda991 100644 --- a/src/Alba/AlbaJsonFormatterException.cs +++ b/src/Alba/AlbaJsonFormatterException.cs @@ -2,7 +2,7 @@ namespace Alba; -public class AlbaJsonFormatterException : Exception +public sealed class AlbaJsonFormatterException : Exception { public AlbaJsonFormatterException(string json) : base($"The JSON formatter was unable to process the raw JSON:\n{json}") { diff --git a/src/Alba/AlbaWebApplicationFactory.cs b/src/Alba/AlbaWebApplicationFactory.cs index 259c72e2..01f925ff 100644 --- a/src/Alba/AlbaWebApplicationFactory.cs +++ b/src/Alba/AlbaWebApplicationFactory.cs @@ -8,7 +8,7 @@ namespace Alba; /// -public class AlbaWebApplicationFactory : WebApplicationFactory, IAlbaWebApplicationFactory where TEntryPoint : class +internal sealed class AlbaWebApplicationFactory : WebApplicationFactory, IAlbaWebApplicationFactory where TEntryPoint : class { private readonly Action _configuration; private readonly IAlbaExtension[] _extensions; diff --git a/src/Alba/HeaderExpectations.cs b/src/Alba/HeaderExpectations.cs index bffd35b0..68aac907 100644 --- a/src/Alba/HeaderExpectations.cs +++ b/src/Alba/HeaderExpectations.cs @@ -4,7 +4,7 @@ namespace Alba; -public class HeaderExpectations +public sealed class HeaderExpectations { private readonly Scenario _parent; private readonly string _headerKey; diff --git a/src/Alba/IAlbaWebApplicationFactory.cs b/src/Alba/IAlbaWebApplicationFactory.cs index d8fc3033..c64ca803 100644 --- a/src/Alba/IAlbaWebApplicationFactory.cs +++ b/src/Alba/IAlbaWebApplicationFactory.cs @@ -3,7 +3,7 @@ namespace Alba; -public interface IAlbaWebApplicationFactory : IDisposable, IAsyncDisposable +internal interface IAlbaWebApplicationFactory : IDisposable, IAsyncDisposable { public TestServer Server { get; } public IServiceProvider Services { get; } diff --git a/src/Alba/IScenarioResult.cs b/src/Alba/IScenarioResult.cs index 314d8f7f..18ec891e 100644 --- a/src/Alba/IScenarioResult.cs +++ b/src/Alba/IScenarioResult.cs @@ -50,17 +50,17 @@ public interface IScenarioResult /// Deserialize the contents of the HttpResponse.Body into an object /// of type T using the configured Json serializer /// - /// - /// - T? ReadAsJson(); + /// Throws if the response cannot be deserialized. + /// Throws if the response is empty. + T ReadAsJson(); /// /// Deserialize the contents of the HttpResponse.Body into an object /// of type T using the configured Json serializer /// - /// - /// - Task ReadAsJsonAsync(); + /// Throws if the response cannot be deserialized. + /// Throws if the response is empty. + Task ReadAsJsonAsync(); } #endregion \ No newline at end of file diff --git a/src/Alba/MimeType.cs b/src/Alba/MimeType.cs index 18a88c1b..b1c487f6 100644 --- a/src/Alba/MimeType.cs +++ b/src/Alba/MimeType.cs @@ -11,7 +11,7 @@ namespace Alba; /// Strong-typed enumeration of common mime types that may be a useful helper within Alba /// scenario definitions /// -public class MimeType +public sealed class MimeType { public static readonly string HttpFormMimetype = "application/x-www-form-urlencoded"; public static readonly string MultipartMimetype = "multipart/form-data"; diff --git a/src/Alba/ScenarioAssertionException.cs b/src/Alba/ScenarioAssertionException.cs index cbdf3f25..6508424f 100644 --- a/src/Alba/ScenarioAssertionException.cs +++ b/src/Alba/ScenarioAssertionException.cs @@ -1,6 +1,5 @@ using System; using System.Collections.Generic; -using System.IO; using System.Linq; using System.Text; using Alba.Internal; @@ -8,14 +7,10 @@ namespace Alba; -public class ScenarioAssertionException : Exception +public sealed class ScenarioAssertionException : Exception { private readonly IList _messages = new List(); - public ScenarioAssertionException() - { - } - /// /// Add an assertion failure message /// diff --git a/src/Alba/ScenarioResult.cs b/src/Alba/ScenarioResult.cs index 203911f1..3c8a6e72 100644 --- a/src/Alba/ScenarioResult.cs +++ b/src/Alba/ScenarioResult.cs @@ -83,13 +83,13 @@ public Task ReadAsTextAsync() } /// - public T? ReadAsJson() + public T ReadAsJson() { return _system.DefaultJson.Read(this); } /// - public Task ReadAsJsonAsync() + public Task ReadAsJsonAsync() { return _system.DefaultJson.ReadAsync(this); } diff --git a/src/Alba/SendExpression.cs b/src/Alba/SendExpression.cs index ad71eec8..91d5130e 100644 --- a/src/Alba/SendExpression.cs +++ b/src/Alba/SendExpression.cs @@ -6,7 +6,7 @@ namespace Alba; -public class SendExpression +public sealed class SendExpression { private readonly Scenario _context;