From 980d714efc2993df51a8e57e8d1993f386a24a19 Mon Sep 17 00:00:00 2001 From: electricschmidt Date: Sun, 1 Mar 2026 23:09:41 +0000 Subject: [PATCH 1/2] Added tests for schema migration --- Tests/Yaml/SchemaMigrationTests.cs | 94 ++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 Tests/Yaml/SchemaMigrationTests.cs diff --git a/Tests/Yaml/SchemaMigrationTests.cs b/Tests/Yaml/SchemaMigrationTests.cs new file mode 100644 index 00000000..dce42452 --- /dev/null +++ b/Tests/Yaml/SchemaMigrationTests.cs @@ -0,0 +1,94 @@ +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; +using RackPeek.Domain.Persistence.Yaml; +using RackPeek.Domain.Resources.UpsUnits; +using System; +using System.Collections.Generic; +using System.Text; +using YamlDotNet.Core; + +namespace Tests.Yaml; + +public class SchemaMigrationTests +{ + private static RackPeekConfigMigrationDeserializer Setup() + { + var services = new ServiceCollection(); + services.AddLogging(); + + var provider = services.BuildServiceProvider(); + + return new RackPeekConfigMigrationDeserializer( + provider, + provider.GetRequiredService>()); + } + + + [Fact] + public async Task Migrations_ensures_version_exists() + { + // Arrange + var sut = Setup(); + + var yaml = """ + resources: + - kind: Ups + name: example-ups + """; + + // Act + var result = await sut.Deserialize(yaml); + + // Assert + Assert.NotNull(result); + Assert.Equal(RackPeekConfigMigrationDeserializer.ListOfMigrations.Count, result.Version); + } + + [Fact] + public async Task Migrations_converts_runs_on_to_list() + { + // Arrange + var sut = Setup(); + + var yaml = """ + version: 1 + resources: + - kind: Ups + name: example-ups + runsOn: rack-a1 + """; + + // Act + var result = await sut.Deserialize(yaml); + + // Assert + Assert.NotNull(result); + Assert.NotNull(result.Resources); + var ups = Assert.IsType(result.Resources[0]); + Assert.Equal(ups.RunsOn, ["rack-a1"]); + } + + [Fact] + public async Task Test3() + { + // Arrange + var sut = Setup(); + + var yaml = """ + version: 1 + resources: + - kind: Ups + name: example-ups + runsOn: + - name: rack-a1 + location: test + - name: rack-a2 + location: somewhere else + """; + + // Act + var result = await sut.Deserialize(yaml); + + + } +} From 0eaf75333a2bdf5cc63b317a9691c31f1b1d6f2c Mon Sep 17 00:00:00 2001 From: electricschmidt Date: Sun, 1 Mar 2026 23:10:23 +0000 Subject: [PATCH 2/2] Remove unused usings --- Tests/Yaml/SchemaMigrationTests.cs | 28 ---------------------------- 1 file changed, 28 deletions(-) diff --git a/Tests/Yaml/SchemaMigrationTests.cs b/Tests/Yaml/SchemaMigrationTests.cs index dce42452..a1b27891 100644 --- a/Tests/Yaml/SchemaMigrationTests.cs +++ b/Tests/Yaml/SchemaMigrationTests.cs @@ -2,10 +2,6 @@ using Microsoft.Extensions.Logging; using RackPeek.Domain.Persistence.Yaml; using RackPeek.Domain.Resources.UpsUnits; -using System; -using System.Collections.Generic; -using System.Text; -using YamlDotNet.Core; namespace Tests.Yaml; @@ -67,28 +63,4 @@ public async Task Migrations_converts_runs_on_to_list() var ups = Assert.IsType(result.Resources[0]); Assert.Equal(ups.RunsOn, ["rack-a1"]); } - - [Fact] - public async Task Test3() - { - // Arrange - var sut = Setup(); - - var yaml = """ - version: 1 - resources: - - kind: Ups - name: example-ups - runsOn: - - name: rack-a1 - location: test - - name: rack-a2 - location: somewhere else - """; - - // Act - var result = await sut.Deserialize(yaml); - - - } }