"""Offline example. Download gamebeast-sign.py to the same directory first.""" import importlib.util import json from pathlib import Path spec=importlib.util.spec_from_file_location('gamebeast_sign',Path(__file__).with_name('gamebeast-sign.py')) signer=importlib.util.module_from_spec(spec);spec.loader.exec_module(signer) create_sign=signer.create_sign vectors=[ {'secret':'FakeSecret#A','params':{'dealer_no':'DEMO001','timestamp':1800000000,'pageNum':1,'pageSize':100}}, {'secret':'FakeSecret#A','params':{'z':0,'a':False,'empty':'','nil':None,'account':'CaseSensitive','payment_amount':'1.0000','cards':['ignored'],'sign':'ignored'}} ] if __name__=='__main__': for v in vectors:print(json.dumps({**v,'expected':create_sign(v['secret'],v['params'])}))