4
0

ServiceEndpointsMigrationTests.cs 1.1 KB

1234567891011121314151617181920212223242526272829303132
  1. using RackPeek.Domain.Persistence.Yaml;
  2. namespace Tests.Yaml;
  3. public class ServiceEndpointsMigrationTests {
  4. [Fact]
  5. public async Task V4_service_network_is_preserved_and_copied_to_endpoints() {
  6. var network = new Dictionary<object, object> {
  7. ["ip"] = "192.168.1.20",
  8. ["port"] = 8096,
  9. ["protocol"] = "TCP"
  10. };
  11. var service = new Dictionary<object, object> {
  12. ["kind"] = "Service",
  13. ["name"] = "media",
  14. ["network"] = network
  15. };
  16. var root = new Dictionary<object, object> {
  17. ["version"] = 4,
  18. ["resources"] = new List<object> { service }
  19. };
  20. await RackPeekConfigMigrationDeserializer.AddServiceEndpointsV5(
  21. null!, root);
  22. Assert.Equal(5, root["version"]);
  23. Assert.Same(network, service["network"]);
  24. List<object> endpoints = Assert.IsType<List<object>>(service["endpoints"]);
  25. Assert.Equal(network, Assert.IsType<Dictionary<object, object>>(Assert.Single(endpoints)));
  26. Assert.NotSame(network, endpoints[0]);
  27. }
  28. }