示例#1
0
 def test_param_transform(self):  # noqa: C901
     input_params = {
         "AvailabilityZones": "$[taskcat_genaz_3]",
         "ByteValue": "1",
         "GlobalOverrideTest": "override",
         "LocalOverrideTest": "override",
         "PasswordA": "$[taskcat_genpass_8A]",
         "PasswordAConfirm": "$[taskcat_getval_PasswordA]",
         "PasswordB": "$[taskcat_genpass_32S]",
         "RandomNumber": "$[taskcat_random-numbers]",
         "RandomString": "$[taskcat_random-string]",
         "SingleAZ": "$[taskcat_getsingleaz_2]",
         "StackName": "TestStack",
         "UUID": "$[taskcat_genuuid]",
         "BucketRegion": "$[taskcat_current_region]",
     }
     bclient = MockClient
     bclient.logger = logger
     class_kwargs = self.class_kwargs
     class_kwargs["param_dict"] = input_params
     class_kwargs["boto_client"] = bclient
     pg = ParamGen(**class_kwargs)
     pg.transform_parameter()
     ignore_patterns = ["RE_COUNT"]
     missed_regex_patterns = []
     regex_pattern_text = set()
     _found = False
     for rp in self.regex_patterns:
         regex_pattern_text.add(rp.test_pattern_attribute)
         for _param_key, param_value in pg.results.items():
             if rp.test_pattern_attribute in ignore_patterns:
                 continue
             with self.subTest(
                     "Transformed Value: {} must not match Regex: {}".
                     format(param_value, rp.test_pattern_attribute)):
                 self.assertNotRegex(param_value,
                                     getattr(pg, rp.test_pattern_attribute))
     regex_pattern_text = list(regex_pattern_text)
     for rp in self.regex_patterns:
         regex_test = re.compile(getattr(pg, rp.test_pattern_attribute))
         for _param_key, param_value in input_params.items():
             if regex_test.search(param_value):
                 _found = True
         if not _found:
             missed_regex_patterns.append(rp.test_pattern_attribute)
     self.assertEqual(missed_regex_patterns, [])
     subtests = [
         ("SingleAZ transformed value must be us-east-1b", "SingleAZ",
          "us-east-1b"),
         (
             "CurrentRegion transformed must be us-east-1",
             "CurrentRegion",
             "us-east-1",
         ),
     ]
     for testdata in subtests:
         with self.subTest(testdata[0]):
             for _param_key, param_value in pg.results.items():
                 if _param_key == testdata[1]:
                     self.assertEqual(param_value, testdata[2])
示例#2
0
 def test__get_test_name(self):
     input_params = {"Test_Name": "$[taskcat_test_name]"}
     bclient = MockClient
     bclient.logger = logger
     class_kwargs = self.class_kwargs
     class_kwargs["param_dict"] = input_params
     class_kwargs["boto_client"] = bclient
     pg = ParamGen(**class_kwargs)
     pg.transform_parameter()
     expected_result = {"Test_Name": "testy_mc_testerson"}
     self.assertEqual(pg.results, expected_result)
示例#3
0
 def test_list_as_param_value(self):
     input_params = {
         "ExampleList": [
             "$[taskcat_getsingleaz_1]",
             "$[taskcat_getsingleaz_2]",
             "foobar",
         ],
         "ExampleString": "$[taskcat_getsingleaz_1]",
     }
     bclient = MockClient
     bclient.logger = logger
     class_kwargs = self.class_kwargs
     class_kwargs["param_dict"] = input_params
     class_kwargs["boto_client"] = bclient
     pg = ParamGen(**class_kwargs)
     pg.transform_parameter()
     expected_result = {
         "ExampleList": ["us-east-1a", "us-east-1b", "foobar"],
         "ExampleString": "us-east-1a",
     }
     self.assertEqual(pg.results, expected_result)