Files
csharp/tests/KubernetesClient.Tests/AutoMapperVersionConverterTests.cs
Boshi Lian abf6950cae Proposal: user defined model version explicit converter (#1211)
* introduce user defined model version explicit convertor

* bump ver
2023-03-03 09:14:58 -08:00

48 lines
1.5 KiB
C#

using AutoMapper;
using FluentAssertions;
using k8s.ModelConverter.AutoMapper;
using k8s.Models;
using Xunit;
namespace k8s.Tests
{
public class AutoMapperVersionConverterTests
{
[Fact]
public void ConfigurationsAreValid()
{
var config = new MapperConfiguration(VersionConverter.GetConfigurations);
config.AssertConfigurationIsValid();
}
[Theory]
[InlineData("v1", "v1beta1", 1)]
[InlineData("v1beta1", "v1", -1)]
[InlineData("v1beta1", "v1alpha1", 1)]
[InlineData("v1alpha1", "v1beta1", -1)]
[InlineData("v1", "v1alpha1", 1)]
[InlineData("v2alpha1", "v1", 1)]
[InlineData("v1", "v2alpha1", -1)]
[InlineData("v1", "v1", 0)]
[InlineData("v2", "v2", 0)]
[InlineData("v1beta1", "v1beta1", 0)]
[InlineData("v1beta2", "v1beta2", 0)]
[InlineData("v2beta2", "v2beta2", 0)]
public void KubernetesVersionCompare(string x, string y, int expected)
{
KubernetesVersionComparer.Instance.Compare(x, y).Should().Be(expected);
}
[Fact]
public void ObjectMapAreValid()
{
ModelVersionConverter.Converter = AutoMapperModelVersionConverter.Instance;
var from = new V2HorizontalPodAutoscalerSpec(); // TODO shuold auto load all objects
from.MaxReplicas = 234;
var to = (V1HorizontalPodAutoscalerSpec)from;
Assert.Equal(from.MaxReplicas, to.MaxReplicas);
}
}
}