def test_parse_parameters_custom_function(self): parameters = [ {"user_agent": "${get_user_agent()}"}, {"app_version": "${gen_app_version()}"}, {"username-password": "******"}, {"username2-password2": "${get_account_in_tuple()}"} ] dot_env_path = os.path.join( os.getcwd(), "tests", ".env" ) loader.load_dot_env_file(dot_env_path) from tests import debugtalk cartesian_product_parameters = parser.parse_parameters( parameters, functions_mapping=loader.load_module_functions(debugtalk) ) self.assertIn( { 'user_agent': 'iOS/10.1', 'app_version': '2.8.5', 'username': '******', 'password': '******', 'username2': 'user1', 'password2': '111111' }, cartesian_product_parameters ) self.assertEqual( len(cartesian_product_parameters), 2 * 2 * 2 * 2 )
def test_validators(self): from httprunner.builtin import comparators functions_mapping = loader.load_module_functions(comparators) functions_mapping["equal"](None, None) functions_mapping["equal"](1, 1) functions_mapping["equal"]("abc", "abc") with self.assertRaises(AssertionError): functions_mapping["equal"]("123", 123) functions_mapping["less_than"](1, 2) functions_mapping["less_or_equals"](2, 2) functions_mapping["greater_than"](2, 1) functions_mapping["greater_or_equals"](2, 2) functions_mapping["not_equal"](123, "123") functions_mapping["length_equal"]("123", 3) with self.assertRaises(AssertionError): functions_mapping["length_equal"]("123", "3") with self.assertRaises(AssertionError): functions_mapping["length_equal"]("123", "abc") functions_mapping["length_greater_than"]("123", 2) functions_mapping["length_greater_or_equals"]("123", 3) functions_mapping["contains"]("123abc456", "3ab") functions_mapping["contains"](["1", "2"], "1") functions_mapping["contains"]({"a": 1, "b": 2}, "a") functions_mapping["contained_by"]("3ab", "123abc456") functions_mapping["contained_by"](0, [0, 200]) functions_mapping["regex_match"]("123abc456", "^123\w+456$") with self.assertRaises(AssertionError): functions_mapping["regex_match"]("123abc456", "^12b.*456$") functions_mapping["startswith"]("abc123", "ab") functions_mapping["startswith"]("123abc", 12) functions_mapping["startswith"](12345, 123) functions_mapping["endswith"]("abc123", 23) functions_mapping["endswith"]("123abc", "abc") functions_mapping["endswith"](12345, 45) functions_mapping["type_match"](580509390, int) functions_mapping["type_match"](580509390, "int") functions_mapping["type_match"]([], list) functions_mapping["type_match"]([], "list") functions_mapping["type_match"]([1], "list") functions_mapping["type_match"]({}, "dict") functions_mapping["type_match"]({"a": 1}, "dict") functions_mapping["type_match"](None, "None") functions_mapping["type_match"](None, "NoneType") functions_mapping["type_match"](None, None)
def current_validators(self): from httprunner.builtin import comparators functions_mapping = loader.load_module_functions(comparators) functions_mapping["equals"](None, None) functions_mapping["equals"](1, 1) functions_mapping["equals"]("abc", "abc") with self.assertRaises(AssertionError): functions_mapping["equals"]("123", 123) functions_mapping["less_than"](1, 2) functions_mapping["less_than_or_equals"](2, 2) functions_mapping["greater_than"](2, 1) functions_mapping["greater_than_or_equals"](2, 2) functions_mapping["not_equals"](123, "123") functions_mapping["length_equals"]("123", 3) # Because the Numbers in a CSV file are by default treated as strings, # you need to convert them to Numbers, and we'll test that out here. functions_mapping["length_equals"]("123", "3") with self.assertRaises(AssertionError): functions_mapping["length_equals"]("123", "abc") functions_mapping["length_greater_than"]("123", 2) functions_mapping["length_greater_than_or_equals"]("123", 3) functions_mapping["contains"]("123abc456", "3ab") functions_mapping["contains"](["1", "2"], "1") functions_mapping["contains"]({"a": 1, "b": 2}, "a") functions_mapping["contained_by"]("3ab", "123abc456") functions_mapping["regex_match"]("123abc456", "^123\w+456$") with self.assertRaises(AssertionError): functions_mapping["regex_match"]("123abc456", "^12b.*456$") functions_mapping["startswith"]("abc123", "ab") functions_mapping["startswith"]("123abc", 12) functions_mapping["startswith"](12345, 123) functions_mapping["endswith"]("abc123", 23) functions_mapping["endswith"]("123abc", "abc") functions_mapping["endswith"](12345, 45) functions_mapping["type_match"](580509390, int) functions_mapping["type_match"](580509390, "int") functions_mapping["type_match"]([], list) functions_mapping["type_match"]([], "list") functions_mapping["type_match"]([1], "list") functions_mapping["type_match"]({}, "dict") functions_mapping["type_match"]({"a": 1}, "dict")
def current_validators(self): from httprunner import built_in functions_mapping = loader.load_module_functions(built_in) functions_mapping["equals"](None, None) functions_mapping["equals"](1, 1) functions_mapping["equals"]("abc", "abc") with self.assertRaises(AssertionError): functions_mapping["equals"]("123", 123) functions_mapping["less_than"](1, 2) functions_mapping["less_than_or_equals"](2, 2) functions_mapping["greater_than"](2, 1) functions_mapping["greater_than_or_equals"](2, 2) functions_mapping["not_equals"](123, "123") functions_mapping["length_equals"]("123", 3) functions_mapping["length_greater_than"]("123", 2) functions_mapping["length_greater_than_or_equals"]("123", 3) functions_mapping["contains"]("123abc456", "3ab") functions_mapping["contains"](['1', '2'], "1") functions_mapping["contains"]({'a':1, 'b':2}, "a") functions_mapping["contained_by"]("3ab", "123abc456") functions_mapping["regex_match"]("123abc456", "^123\w+456$") with self.assertRaises(AssertionError): functions_mapping["regex_match"]("123abc456", "^12b.*456$") functions_mapping["startswith"]("abc123", "ab") functions_mapping["startswith"]("123abc", 12) functions_mapping["startswith"](12345, 123) functions_mapping["endswith"]("abc123", 23) functions_mapping["endswith"]("123abc", "abc") functions_mapping["endswith"](12345, 45) functions_mapping["type_match"](580509390, int) functions_mapping["type_match"](580509390, "int") functions_mapping["type_match"]([], list) functions_mapping["type_match"]([], "list") functions_mapping["type_match"]([1], "list") functions_mapping["type_match"]({}, "dict") functions_mapping["type_match"]({"a": 1}, "dict")
def test_filter_module_functions(self): module_functions = loader.load_module_functions(loader) self.assertIn("load_module_functions", module_functions) self.assertNotIn("is_py3", module_functions)
def setUp(self): self.functions_mapping = loader.load_module_functions(built_in)