cli: populate migration module registry and tests

This commit is contained in:
StellaOps Bot
2025-12-06 16:14:49 +00:00
parent 868f8e0bb6
commit 849a70f9d1
2 changed files with 58 additions and 19 deletions

View File

@@ -7,30 +7,39 @@ namespace StellaOps.Cli.Tests.Commands;
public class MigrationModuleRegistryTests
{
[Fact]
public void Modules_Default_IsEmpty()
public void Modules_Populated_With_All_Postgres_Modules()
{
Assert.Empty(MigrationModuleRegistry.Modules);
Assert.Empty(MigrationModuleRegistry.ModuleNames);
var modules = MigrationModuleRegistry.Modules;
Assert.Equal(6, modules.Count);
Assert.Contains(modules, m => m.Name == "Authority" && m.SchemaName == "authority");
Assert.Contains(modules, m => m.Name == "Scheduler" && m.SchemaName == "scheduler");
Assert.Contains(modules, m => m.Name == "Concelier" && m.SchemaName == "vuln");
Assert.Contains(modules, m => m.Name == "Policy" && m.SchemaName == "policy");
Assert.Contains(modules, m => m.Name == "Notify" && m.SchemaName == "notify");
Assert.Contains(modules, m => m.Name == "Excititor" && m.SchemaName == "vex");
Assert.Equal(6, MigrationModuleRegistry.ModuleNames.Count());
}
[Fact]
public void FindModule_WhenEmpty_ReturnsNull()
public void FindModule_Finds_By_Name_CaseInsensitive()
{
var result = MigrationModuleRegistry.FindModule("Authority");
Assert.Null(result);
var result = MigrationModuleRegistry.FindModule("authority");
Assert.NotNull(result);
Assert.Equal("authority", result!.SchemaName);
}
[Fact]
public void GetModules_Filtered_WhenEmpty_ReturnsEmpty()
public void GetModules_Filtered_Returns_Single()
{
var result = MigrationModuleRegistry.GetModules("Authority");
Assert.Empty(result);
var module = Assert.Single(result);
Assert.Equal("authority", module.SchemaName);
}
[Fact]
public void GetModules_All_WhenEmpty_ReturnsEmpty()
public void GetModules_All_Returns_All()
{
var result = MigrationModuleRegistry.GetModules(null);
Assert.Empty(result);
Assert.Equal(6, result.Count());
}
}