1818from time import sleep
1919from acktest .k8s import resource as k8s
2020
21- input_replacements_dict = dict ()
2221TEST_HELPERS = dict ()
2322
2423
25- def input_replacements (provider ):
26- """
27- Decorator to discover input replacements
28- :param provider: function that returns input replacements
29- :return: provider
30- """
31- global input_replacements_dict
32- input_replacements_dict = provider ()
33- return provider
34-
35-
3624def resource_helper (resource_kind : str ):
3725 """
3826 Decorator to discover Custom Resource Helper
@@ -51,25 +39,27 @@ class ResourceHelper:
5139 """
5240 DEFAULT_WAIT_SECS = 30
5341
54- def create (self , input_data : dict ):
42+ def create (self , input_data : dict , input_replacements : dict = {} ):
5543 """
5644 Creates custom resource
5745 :param input_data: resource details
46+ :param input_replacements: input replacements
5847 :return: k8s.CustomResourceReference, created custom resource
5948 """
60- reference = self .custom_resource_reference (input_data )
49+ reference = self .custom_resource_reference (input_data , input_replacements )
6150 _ = k8s .create_custom_resource (reference , input_data )
6251 resource = k8s .wait_resource_consumed_by_controller (reference , wait_periods = 10 )
6352 assert resource is not None
6453 return (reference , resource )
6554
66- def patch (self , input_data : dict ):
55+ def patch (self , input_data : dict , input_replacements : dict = {} ):
6756 """
6857 Patches custom resource
6958 :param input_data: resource patch details
59+ :param input_replacements: input replacements
7060 :return: k8s.CustomResourceReference, created custom resource
7161 """
72- reference = self .custom_resource_reference (input_data )
62+ reference = self .custom_resource_reference (input_data , input_replacements )
7363 _ = k8s .patch_custom_resource (reference , input_data )
7464 sleep (self .DEFAULT_WAIT_SECS ) # required as controller has likely not placed the resource in modifying
7565 resource = k8s .wait_resource_consumed_by_controller (reference , wait_periods = 10 )
@@ -134,16 +124,17 @@ def assert_items(self, expectations: dict, state: dict):
134124 continue
135125 assert (property , value ) == (property , state .get (property ))
136126
137- def custom_resource_reference (self , input_data : dict ) -> k8s .CustomResourceReference :
127+ def custom_resource_reference (self , input_data : dict , input_replacements : dict = {} ) -> k8s .CustomResourceReference :
138128 """
139129 Helper method to provide k8s.CustomResourceReference for supplied input
140130 :param input_data: custom resource input data
131+ :param input_replacements: input replacements
141132 :return: k8s.CustomResourceReference
142133 """
143134 resource_plural = self .resource_plural (input_data .get ("kind" ))
144135 resource_name = input_data .get ("metadata" ).get ("name" )
145- crd_group = input_replacements_dict .get ("CRD_GROUP" )
146- crd_version = input_replacements_dict .get ("CRD_VERSION" )
136+ crd_group = input_replacements .get ("CRD_GROUP" )
137+ crd_version = input_replacements .get ("CRD_VERSION" )
147138
148139 reference = k8s .CustomResourceReference (
149140 crd_group , crd_version , resource_plural , resource_name , namespace = "default" )
0 commit comments