@@ -113,6 +113,9 @@ var (
113
113
gvr ("" , "v1" , "nodes/proxy" ): {"*" : testSubresourceProxy },
114
114
gvr ("" , "v1" , "pods/proxy" ): {"*" : testSubresourceProxy },
115
115
gvr ("" , "v1" , "services/proxy" ): {"*" : testSubresourceProxy },
116
+
117
+ gvr ("random.numbers.com" , "v1" , "integers" ): {"create" : testPruningRandomNumbers },
118
+ gvr ("custom.fancy.com" , "v2" , "pants" ): {"create" : testNoPruningCustomFancy },
116
119
}
117
120
118
121
// admissionExemptResources lists objects which are exempt from admission validation/mutation,
@@ -931,6 +934,46 @@ func testSubresourceProxy(c *testContext) {
931
934
}
932
935
}
933
936
937
+ func testPruningRandomNumbers (c * testContext ) {
938
+ testResourceCreate (c )
939
+
940
+ cr2pant , err := c .client .Resource (c .gvr ).Get ("fortytwo" , metav1.GetOptions {})
941
+ if err != nil {
942
+ c .t .Error (err )
943
+ return
944
+ }
945
+
946
+ foo , found , err := unstructured .NestedString (cr2pant .Object , "foo" )
947
+ if err != nil {
948
+ c .t .Error (err )
949
+ return
950
+ }
951
+ if found {
952
+ c .t .Errorf ("expected .foo to be pruned, but got: %s" , foo )
953
+ }
954
+ }
955
+
956
+ func testNoPruningCustomFancy (c * testContext ) {
957
+ testResourceCreate (c )
958
+
959
+ cr2pant , err := c .client .Resource (c .gvr ).Get ("cr2pant" , metav1.GetOptions {})
960
+ if err != nil {
961
+ c .t .Error (err )
962
+ return
963
+ }
964
+
965
+ foo , _ , err := unstructured .NestedString (cr2pant .Object , "foo" )
966
+ if err != nil {
967
+ c .t .Error (err )
968
+ return
969
+ }
970
+
971
+ // check that no pruning took place
972
+ if expected , got := "test" , foo ; expected != got {
973
+ c .t .Errorf ("expected /foo to be %q, got: %q" , expected , got )
974
+ }
975
+ }
976
+
934
977
//
935
978
// utility methods
936
979
//
0 commit comments