httprunner2校验器

作者: LeslieFind | 来源:发表于2020-11-05 22:01 被阅读0次

    comparators.py

    """
    Built-in validate comparators.
    """
    
    import re
    
    from httprunner.compat import basestring, builtin_str, integer_types
    
    
    def equals(check_value, expect_value):
        assert check_value == expect_value
    
    
    def less_than(check_value, expect_value):
        assert check_value < expect_value
    
    
    def less_than_or_equals(check_value, expect_value):
        assert check_value <= expect_value
    
    
    def greater_than(check_value, expect_value):
        assert check_value > expect_value
    
    
    def greater_than_or_equals(check_value, expect_value):
        assert check_value >= expect_value
    
    
    def not_equals(check_value, expect_value):
        assert check_value != expect_value
    
    
    def string_equals(check_value, expect_value):
        assert builtin_str(check_value) == builtin_str(expect_value)
    
    
    def length_equals(check_value, expect_value):
        assert isinstance(expect_value, integer_types)
        expect_len = _cast_to_int(expect_value)
        assert len(check_value) == expect_len
    
    
    def length_greater_than(check_value, expect_value):
        assert isinstance(expect_value, integer_types)
        expect_len = _cast_to_int(expect_value)
        assert len(check_value) > expect_len
    
    
    def length_greater_than_or_equals(check_value, expect_value):
        assert isinstance(expect_value, integer_types)
        expect_len = _cast_to_int(expect_value)
        assert len(check_value) >= expect_len
    
    
    def length_less_than(check_value, expect_value):
        assert isinstance(expect_value, integer_types)
        expect_len = _cast_to_int(expect_value)
        assert len(check_value) < expect_len
    
    
    def length_less_than_or_equals(check_value, expect_value):
        assert isinstance(expect_value, integer_types)
        expect_len = _cast_to_int(expect_value)
        assert len(check_value) <= expect_len
    
    
    def contains(check_value, expect_value):
        assert isinstance(check_value, (list, tuple, dict, basestring))
        assert expect_value in check_value
    
    
    def contained_by(check_value, expect_value):
        assert isinstance(expect_value, (list, tuple, dict, basestring))
        assert check_value in expect_value
    
    
    def type_match(check_value, expect_value):
        def get_type(name):
            if isinstance(name, type):
                return name
            elif isinstance(name, basestring):
                try:
                    return __builtins__[name]
                except KeyError:
                    raise ValueError(name)
            else:
                raise ValueError(name)
    
        assert isinstance(check_value, get_type(expect_value))
    
    
    def regex_match(check_value, expect_value):
        assert isinstance(expect_value, basestring)
        assert isinstance(check_value, basestring)
        assert re.match(expect_value, check_value)
    
    
    def startswith(check_value, expect_value):
        assert builtin_str(check_value).startswith(builtin_str(expect_value))
    
    
    def endswith(check_value, expect_value):
        assert builtin_str(check_value).endswith(builtin_str(expect_value))
    
    
    def _cast_to_int(expect_value):
        try:
            return int(expect_value)
        except Exception:
            raise AssertionError("%r can't cast to int" % str(expect_value))
    

    parser.py

    def get_uniform_comparator(comparator):
        """ convert comparator alias to uniform name
        """
        if comparator in ["eq", "equals", "==", "is"]:
            return "equals"
        elif comparator in ["lt", "less_than"]:
            return "less_than"
        elif comparator in ["le", "less_than_or_equals"]:
            return "less_than_or_equals"
        elif comparator in ["gt", "greater_than"]:
            return "greater_than"
        elif comparator in ["ge", "greater_than_or_equals"]:
            return "greater_than_or_equals"
        elif comparator in ["ne", "not_equals"]:
            return "not_equals"
        elif comparator in ["str_eq", "string_equals"]:
            return "string_equals"
        elif comparator in ["len_eq", "length_equals", "count_eq"]:
            return "length_equals"
        elif comparator in ["len_gt", "count_gt", "length_greater_than", "count_greater_than"]:
            return "length_greater_than"
        elif comparator in ["len_ge", "count_ge", "length_greater_than_or_equals",
                            "count_greater_than_or_equals"]:
            return "length_greater_than_or_equals"
        elif comparator in ["len_lt", "count_lt", "length_less_than", "count_less_than"]:
            return "length_less_than"
        elif comparator in ["len_le", "count_le", "length_less_than_or_equals",
                            "count_less_than_or_equals"]:
            return "length_less_than_or_equals"
        else:
            return comparator
    

    相关文章

      网友评论

        本文标题:httprunner2校验器

        本文链接:https://www.haomeiwen.com/subject/mhtzvktx.html