- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
WebSockets 的 MockHttpServletRequestBuilder 的等效项是什么。即,在我想要测试 Websockets 的情况下,我想测试长时间运行的 websocket 应用程序,并避免在第一个应该进行升级的 http get 调用之后 SecurityContextPersistenceFilter 覆盖 SecurityContex 的情况。对于普通的 REST http 应用程序,到目前为止,这是通过利用 SecurityMockMvcRequestPostProcessors 来完成的。这里的例子using the SecurityMockMvcRequestPostProcessors
但是当我想测试长时间运行的 websocket 应用程序时该怎么办?即我想为 websockets 创建类似 MockHttpServletRequestBuilder 的东西。 Spring 已经有这样的事情了吗?或者有没有办法使用 MockHttpServletRequestBuilder 来实现此目的? IE。目标是创建websocket端点并避免升级后SecurityContex被清除的情况。
我找到了一些替代方案,例如按照描述传递 session here但这对我来说并不是一个真正的替代方案,因为由于 SecurityContex 正在被更改,因此使用方法级安全性的代码不起作用。
最佳答案
看来这可以通过提供测试 socks 配置来完成。例如
@EnableWebSocketMessageBroker
static class TestWebSocketConfig extends AbstractWebSocketMessageBrokerConfigurer {
@Autowired
Environment env;
@Override
public void registerStompEndpoints(StompEndpointRegistry registry) {
registry.addEndpoint("/portfolio").withSockJS();
}
@Override
public void configureMessageBroker(MessageBrokerRegistry registry) {
// registry.enableSimpleBroker("/queue/", "/topic/");
registry.enableStompBrokerRelay("/queue/", "/topic/");
registry.setApplicationDestinationPrefixes("/app");
}
}
完整的类(class)可以在这里找到: https://github.com/rstoyanchev/spring-websocket-portfolio/blob/master/src/test/java/org/springframework/samples/portfolio/web/context/ContextPortfolioControllerTests.java
这里还有 Spring 提供的一些其他示例,演示了测试 Web 套接字的 3 种不同方法: https://github.com/rstoyanchev/spring-websocket-portfolio/tree/master/src/test/java/org/springframework/samples/portfolio/web
关于spring - Spring 中用于 websockets 测试的 MockHttpServletRequestBuilder 相当于什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44654588/
我只是尝试使用 MockHttpServletRequestBuilder 测试 Spring Controller 方法。 Controller 方法的签名如下所示: @RequestMappin
WebSockets 的 MockHttpServletRequestBuilder 的等效项是什么。即,在我想要测试 Websockets 的情况下,我想测试长时间运行的 websocket 应用程
我正在编写一些 spring 集成测试来测试我的应用程序中的 Spring Security。我使用 RequestPostProcessor 创建具有不同权限的测试用户。我还缓存它们以便在所有测试中
我正在尝试为集成测试创建模拟请求 (@SpringBootTest)。 //given MockHttpServletRequestBuilder requestBuilder = get("
我是一名优秀的程序员,十分优秀!