Files
httprunner/tests/data/custom_functions.py
debugtalk f94f57d102 refactor mock server:
1, remove authentication switcher;
2, change authentication method: from verify request data's md5 to get token at the beginning.
2017-07-22 15:15:05 +08:00

71 lines
1.8 KiB
Python

import hashlib
import hmac
import json
import random
import string
import time
try:
string_type = basestring
PYTHON_VERSION = 2
import urllib
except NameError:
string_type = str
PYTHON_VERSION = 3
import urllib.parse as urllib
SECRET_KEY = "DebugTalk"
def gen_random_string(str_len):
random_char_list = []
for _ in range(str_len):
random_char = random.choice(string.ascii_letters + string.digits)
random_char_list.append(random_char)
random_string = ''.join(random_char_list)
return random_string
gen_random_string_lambda = lambda str_len: ''.join(
random.choice(string.ascii_letters + string.digits) for _ in range(str_len))
def get_sign(*args):
content = ''.join(args).encode('ascii')
sign_key = SECRET_KEY.encode('ascii')
sign = hmac.new(sign_key, content, hashlib.sha1).hexdigest()
return sign
get_sign_lambda = lambda *args: hmac.new(
'DebugTalk'.encode('ascii'),
''.join(args).encode('ascii'),
hashlib.sha1).hexdigest()
def gen_md5(*args):
return hashlib.md5("".join(args).encode('utf-8')).hexdigest()
def gen_urlencode_str(**kargs):
urlencoded_str = ""
quote_times = int(kargs.pop("quote_times", 1))
for key, value in kargs.items():
urlencoded_str += key
urlencoded_str += "="
if value == "undefined":
urlencoded_str += "undefined"
else:
if isinstance(value, (dict, list)):
value = json.dumps(value)
elif isinstance(value, (int, float)):
value = str(value)
value_str = value.encode('utf-8')
for _ in range(quote_times):
value_str = urllib.quote_plus(value_str)
urlencoded_str += value_str
urlencoded_str += "&"
return urlencoded_str.strip("&")
def get_timestamp():
return int(time.time() * 1000)