public void IngressClassDeleted() { // Arrange var ingressClass = KubeResourceGenerator.CreateIngressClass("yarp", "microsoft.com/ingress-yarp", true); var ingress = KubeResourceGenerator.CreateIngress("ingress-with-class", "ns-test", "yarp"); _cacheUnderTest.Update(WatchEventType.Added, ingressClass); // Act _cacheUnderTest.Update(WatchEventType.Deleted, ingressClass); _cacheUnderTest.Update(WatchEventType.Added, ingress); // Assert var ingresses = _cacheUnderTest.GetIngresses().ToArray(); Assert.Empty(ingresses); }
public void IngressClassModifiedToAddDefault() { // Arrange var ingressClass = KubeResourceGenerator.CreateIngressClass("yarp", "microsoft.com/ingress-yarp", false); var ingress = KubeResourceGenerator.CreateIngress("ingress-with-class", "ns-test", "yarp"); _cacheUnderTest.Update(WatchEventType.Added, ingressClass); // Act ingressClass.Metadata.Annotations.Add("ingressclass.kubernetes.io/is-default-class", "true"); _cacheUnderTest.Update(WatchEventType.Modified, ingressClass); _cacheUnderTest.Update(WatchEventType.Added, ingress); // Assert var ingresses = _cacheUnderTest.GetIngresses().ToArray(); Assert.Single(ingresses); }
public void IngressModifiedToRemoveClass() { // Arrange var ingressClass = KubeResourceGenerator.CreateIngressClass("yarp", "microsoft.com/ingress-yarp", false); _cacheUnderTest.Update(WatchEventType.Added, ingressClass); var ingress = KubeResourceGenerator.CreateIngress("ingress-with-class", "ns-test", "yarp"); _cacheUnderTest.Update(WatchEventType.Added, ingress); // Act ingress.Spec.IngressClassName = null; _cacheUnderTest.Update(WatchEventType.Modified, ingress); // Assert var ingresses = _cacheUnderTest.GetIngresses().ToArray(); Assert.Empty(ingresses); }
public void IngressWithoutClassAnnotationTests(string ingressClassName, string controllerName, bool?isDefault, int expectedIngressCount) { // Arrange if (controllerName is not null) { var ingressClass = KubeResourceGenerator.CreateIngressClass(ingressClassName, controllerName, isDefault); _cacheUnderTest.Update(WatchEventType.Added, ingressClass); } var ingress = KubeResourceGenerator.CreateIngress("ingress-without-class", "ns-test", null); // Act var change = _cacheUnderTest.Update(WatchEventType.Added, ingress); // Assert var ingresses = _cacheUnderTest.GetIngresses().ToArray(); Assert.Equal(expectedIngressCount != 0, change); Assert.Equal(expectedIngressCount, ingresses.Length); }