通用技术 在线下测试环境任意构造会员状态

我叫GTD · 2021年03月25日 · 1165 次阅读

背景

所负责的产品的会员信息是调用的兄弟业务线的会员模块,且会员状态并不是单单修改数据库某个表里面的一个或几个字段就行的,如果要开通会员,涉及到订单、支付等环节,而在线下测试过程中需要经常变更会员状态来验证某个功能,正常的走通流程去生成会员状态比较麻烦,如果直接修改多张表、redis 那成本比较大,所以就对产品调用会员的逻辑进行了一个梳理。

实现方法

产品的会员状态是调用某个接口来判断是否为会员的,接口返回信息固定,因此就在这个接口上动了 “手脚”,采用了 bypass 的方式。用 python 写了个同样的接口来进行模拟。只模拟会员信息还不行,需要满足下面这些功能:

  1. 有个总的开关,关闭时直接将请求转发到正常的会员服务上;
  2. 粒度细,能具体到用户;
  3. 能设置会员开始、到期时间; 为实现上面的功能,使用 redis 来进行控制,一个开关 key(mock:vip_switch),一类用户 key(mock:vip_mock_info_<用户 ID>)

流程图

PS

目前还没整理出通用代码来,整理好了再 share~

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册