背景:某次迭代有这样一个需求,同步邮箱日程至公司业务系统,业务系统通过待办中台,调用消息中心,给创建人及参与人发送提醒消息。待办中通和消息中心都没有前端访问域名。
公司业务系统环境分日常环境、预发环境、线上环境,其中只有预发和线上环境可以发送消息,而只有线上环境才开启邮箱日程同步。现在代码写完了,需要验证整个流程是否正常。
分析:此处验证过程的难点在于没有入口,且进行了环境隔离,无法用简单的单元测试及mock进行验证。经分析这里可以采用curl的方式,发送post请求,携带json格式参数。
操作:
1、在Controller层提供一个模拟添加邮箱日程的接口:URL-/api/schedule/add
2、通过浏览器进入预发环境的pod(我这里是k8s管理的docker容器部署,由于环境隔离,只能通过网页进入),执行curl请求:
curl localhost:9971/api/schedule/add -X POST -d '{"appId":"100005","appSecret": "9ZCOnbxVncLaVVnlQAx5N8teGd1Gj5","attendees":["1422023123192102912","01797"],"calId":"123","endTime":1634219397000,"operator":"1424909946373390336","remind":true,"remindBefore":900,"repeat":false,"startTime":1634212197000,"summary":"模板卡片消息按钮回调测试","type":4,"userId":"1424909946373390336","wholeDay":false}' --header "Content-Type: application/json"
执行结果:
可以看到,消息正常发送成功,流程是通的



