test(nuget): add NuGet smoke-test console app (DocumentService.Tests.NuGet)
Standalone console application that references the published DocumentService.Client NuGet package (v1.2.2) and verifies the full happy-path against a live API instance. - Targets net8.0; references DocumentService.Client 1.2.2 via NuGet (not project ref) - Embeds valid.pdf as an EmbeddedResource so no file-system path is required - Calls Client.Validation.ValidateAsync(Stream) and prints PageCount, PdfVersion, IsEncrypted, AttachmentCount, FileSizeBytes to stdout - Handles HttpRequestException and InvalidOperationException with descriptive output - Intended to run once after a new package is pushed to confirm the .nupkg bundles Application and Domain DLLs correctly (validates the embedding targets added in the previous commit)
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="valid.pdf" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="DocumentService.Client" Version="1.2.2" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
36
DocumentService.Tests.NuGet/Program.cs
Normal file
36
DocumentService.Tests.NuGet/Program.cs
Normal file
@@ -0,0 +1,36 @@
|
||||
using DocumentService.Client;
|
||||
|
||||
// 1. Configure the client
|
||||
Client.Configure("http://172.24.12.39:9393/");
|
||||
|
||||
// 2. Load embedded PDF resource
|
||||
var assembly = typeof(Program).Assembly;
|
||||
var resourceName = assembly.GetManifestResourceNames()
|
||||
.FirstOrDefault(n => n.EndsWith("valid.pdf", StringComparison.OrdinalIgnoreCase));
|
||||
|
||||
if (resourceName is null)
|
||||
{
|
||||
Console.WriteLine("❌ Embedded resource 'valid.pdf' not found.");
|
||||
return;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
using var stream = assembly.GetManifestResourceStream(resourceName)!;
|
||||
var result = await Client.Validation.ValidateAsync(stream);
|
||||
|
||||
Console.WriteLine("✅ Connection successful!");
|
||||
Console.WriteLine($" Page count : {result.PageCount}");
|
||||
Console.WriteLine($" PDF version : {result.PdfVersion}");
|
||||
Console.WriteLine($" Encrypted : {result.IsEncrypted}");
|
||||
Console.WriteLine($" Attachments : {result.AttachmentCount}");
|
||||
Console.WriteLine($" File size : {result.FileSizeMB:F2} MB");
|
||||
}
|
||||
catch (HttpRequestException ex)
|
||||
{
|
||||
Console.WriteLine("❌ HTTP error: " + ex.Message);
|
||||
}
|
||||
catch (InvalidOperationException ex)
|
||||
{
|
||||
Console.WriteLine("❌ Client error: " + ex.Message);
|
||||
}
|
||||
BIN
DocumentService.Tests.NuGet/valid.pdf
Normal file
BIN
DocumentService.Tests.NuGet/valid.pdf
Normal file
Binary file not shown.
Reference in New Issue
Block a user