public void EqualityAndInequality( string group1, string kind1, string ns1, string name1, string group2, string kind2, string ns2, string name2, bool shouldBeEqual) { // arrange var key1 = new GroupKindNamespacedName(group1, kind1, new NamespacedName(ns1, name1)); var key2 = new GroupKindNamespacedName(group2, kind2, new NamespacedName(ns2, name2)); // act var areEqual = key1 == key2; var areNotEqual = key1 != key2; #pragma warning disable CS1718 // Comparison made to same variable var sameEqual1 = key1 == key1; var sameNotEqual1 = key1 != key1; var sameEqual2 = key2 == key2; var sameNotEqual2 = key2 != key2; #pragma warning restore CS1718 // Comparison made to same variable // assert areEqual.ShouldNotBe(areNotEqual); areEqual.ShouldBe(shouldBeEqual); sameEqual1.ShouldBeTrue(); sameNotEqual1.ShouldBeFalse(); sameEqual2.ShouldBeTrue(); sameNotEqual2.ShouldBeFalse(); }
public void NamespaceCanBeNull() { // arrange var resource = new V1ClusterRole( apiVersion: $"{V1ClusterRole.KubeGroup}/{V1ClusterRole.KubeApiVersion}", kind: V1ClusterRole.KubeKind, metadata: new V1ObjectMeta( name: "the-name")); // act var key = GroupKindNamespacedName.From(resource); // assert key.Group.ShouldBe("rbac.authorization.k8s.io"); key.Kind.ShouldBe("ClusterRole"); key.NamespacedName.Namespace.ShouldBeNull(); key.NamespacedName.Name.ShouldBe("the-name"); }
public void GroupCanBeEmpty() { // arrange var resource = new V1ConfigMap( apiVersion: V1ConfigMap.KubeApiVersion, kind: V1ConfigMap.KubeKind, metadata: new V1ObjectMeta( name: "the-name", namespaceProperty: "the-namespace")); // act var key = GroupKindNamespacedName.From(resource); // assert key.Group.ShouldBe(""); key.Kind.ShouldBe("ConfigMap"); key.NamespacedName.Namespace.ShouldBe("the-namespace"); key.NamespacedName.Name.ShouldBe("the-name"); }