Restructure solution layout by module

This commit is contained in:
master
2025-10-28 15:10:40 +02:00
parent 95daa159c4
commit d870da18ce
4103 changed files with 192899 additions and 187024 deletions

View File

@@ -0,0 +1,56 @@
using System;
using System.IO;
using StellaOps.Concelier.WebService.Options;
using Xunit;
namespace StellaOps.Concelier.WebService.Tests;
public sealed class ConcelierOptionsPostConfigureTests
{
[Fact]
public void Apply_LoadsClientSecretFromRelativeFile()
{
var tempDirectory = Directory.CreateTempSubdirectory();
try
{
var secretPath = Path.Combine(tempDirectory.FullName, "authority.secret");
File.WriteAllText(secretPath, " concelier-secret ");
var options = new ConcelierOptions
{
Authority = new ConcelierOptions.AuthorityOptions
{
ClientSecretFile = "authority.secret"
}
};
ConcelierOptionsPostConfigure.Apply(options, tempDirectory.FullName);
Assert.Equal("concelier-secret", options.Authority.ClientSecret);
}
finally
{
if (Directory.Exists(tempDirectory.FullName))
{
Directory.Delete(tempDirectory.FullName, recursive: true);
}
}
}
[Fact]
public void Apply_ThrowsWhenSecretFileMissing()
{
var options = new ConcelierOptions
{
Authority = new ConcelierOptions.AuthorityOptions
{
ClientSecretFile = "missing.secret"
}
};
var exception = Assert.Throws<InvalidOperationException>(() =>
ConcelierOptionsPostConfigure.Apply(options, AppContext.BaseDirectory));
Assert.Contains("Authority client secret file", exception.Message);
}
}

View File

@@ -0,0 +1,29 @@
using StellaOps.Plugin;
namespace StellaOps.Concelier.WebService.Tests;
public class PluginLoaderTests
{
private sealed class NullServices : IServiceProvider
{
public object? GetService(Type serviceType) => null;
}
[Fact]
public void ScansConnectorPluginsDirectory()
{
var services = new NullServices();
var catalog = new PluginCatalog().AddFromDirectory(Path.Combine(AppContext.BaseDirectory, "StellaOps.Concelier.PluginBinaries"));
var plugins = catalog.GetAvailableConnectorPlugins(services);
Assert.NotNull(plugins);
}
[Fact]
public void ScansExporterPluginsDirectory()
{
var services = new NullServices();
var catalog = new PluginCatalog().AddFromDirectory(Path.Combine(AppContext.BaseDirectory, "StellaOps.Concelier.PluginBinaries"));
var plugins = catalog.GetAvailableExporterPlugins(services);
Assert.NotNull(plugins);
}
}

View File

@@ -0,0 +1,14 @@
<?xml version='1.0' encoding='utf-8'?>
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="../../__Libraries/StellaOps.Concelier.Core/StellaOps.Concelier.Core.csproj" />
<ProjectReference Include="../../__Libraries/StellaOps.Concelier.Storage.Mongo/StellaOps.Concelier.Storage.Mongo.csproj" />
<ProjectReference Include="../../StellaOps.Concelier.WebService/StellaOps.Concelier.WebService.csproj" />
<ProjectReference Include="../../../__Libraries/StellaOps.Plugin/StellaOps.Plugin.csproj" />
</ItemGroup>
</Project>