add wechat auth and tests