您的位置:首页 > 新闻 > 会展 > junit mockito 拦截器

junit mockito 拦截器

2025/6/9 15:27:00 来源:https://blog.csdn.net/luohaihua_20/article/details/139839564  浏览:    关键词:junit mockito 拦截器

拦截器代码

/*** @Title:出参ASE加密拦截器* @Description: 指定的url拦截,指定返回参数加密* @Author: luohaihua* @Date: 2024/06/18 16:37* @Version: 1.0*/
@Slf4j
public class ResponseAseEncryptInterceptor  extends HandlerInterceptorAdapter  {@Overridepublic boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o) throws Exception {return  true;}@Overridepublic void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception {//该参数由客户随机生产再通过rsa公钥加密String pwdkey= httpServletRequest.getParameter("pwdkey");if (!validateResult(salt,o)){return;}String aseKey = RsaUtils.decrypt(pwdkey);encryptResult(aseKey, ((JsonResponse) o).getInfo());}@Overridepublic void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) throws Exception {}
}

mock代码

public class TestResponseAseEncryptInterceptor extends MockBaseTest {@InjectMocksprivate ResponseAseEncryptInterceptor interceptor;@Mockprivate HttpServletRequest httpServletRequest;@Mockprivate HttpServletResponse httpServletResponse;;@Mockprivate ModelAndView modelAndView;;@Beforepublic void setup() {MockitoAnnotations.initMocks(this);}@Testpublic void testPostHandleWithPwdkey_result_success()  throws Exception{String pwdkey= "123321";JsonResponse jsonResponse = JsonResponse.success();CustInfoVo vo  = new CustInfoVo();vo.setName("张三");String rsaPwd = RsaEncryptUtil.encryptByPublicKey(pwdkey);jsonResponse.addInfo(vo);when(httpServletRequest.getParameter("pwdkey")).thenReturn(rsaPwd);interceptor.postHandle(httpServletRequest,httpServletResponse,jsonResponse,modelAndView);String resultName = AESUtils.encrypt("张三",pwdkey);Assert.assertEquals(resultName,vo.getName());Assert.assertEquals("张三",AESUtils.decrypt(vo.getName(),pwdkey));}
}

 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com