gpt4 book ai didi

grails - Grails 2.5.0-用于RESTful服务的Spring Security集成测试

转载 作者:行者123 更新时间:2023-12-02 15:57:10 25 4
gpt4 key购买 nike

我想测试Grails Web应用程序的安全性,确保仅某些角色可以POST并给出正确的响应。集成测试中有以下内容:

class MyIntegrationSpec extends IntegrationSpec {
def grailsApplication
def testdataService

def setup() {
testdataService.addTestData()
SpringSecurityUtils.reauthenticate 'user1', null
}

def cleanup() {
}

void "test case"() {
given:
RestBuilder rest = new RestBuilder()

when:
RestResponse response = rest.post("http://localhost:8080/${grailsApplication.metadata.'app.name'}/mycontroller/myaction") {
json([
data1: "foo",
data2: "bar"
])
}

then:
response.status == 200
}
}

不幸的是,集成测试是在Spring Security启动之前运行的,并且出现以下错误:
org.springframework.web.client.ResourceAccessException: I/O error on POST request for "http://localhost:8080/myapp/mycontroller/myaction":Connection refused: connect; nested exception is java.net.ConnectException

如何才能运行集成测试,以便测试用户的体验,尤其是安全性?

最佳答案

尚未启动Web服务器进行集成测试。 Spring应用程序上下文已启动,插件处于 Activity 状态,并且有可用的真实数据库(默认情况下在内存中,但是您可以将其配置为指向服务器),等等,但是没有Web服务器。

如果要测试需要运行Web服务器的安全性和其他功能,则需要使用功能测试。我使用了http://grails.org/plugin/functional-test,它很不错,但是有点问题。我使用的是1.2.7版,但我看到现在有一​​个2.0版,因此可能会更好。

关于grails - Grails 2.5.0-用于RESTful服务的Spring Security集成测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33026099/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com