gpt4 book ai didi

java - 当 HTTP 响应内容类型不包含空格时测试 org.apache.http.entity.ContentType

转载 作者:行者123 更新时间:2023-11-30 06:22:44 33 4
gpt4 key购买 nike

我正在为授权服务器编写一个测试,用于测试 oauth 响应的内容类型是否为 JSON。授权服务器使用 spring-security-oauth2 2.0.1.4.RELEASE,我的 JUnit 测试使用 rest-assured 2.9.0

@Test
public void testTokenEndpoint() throws Exception {
// Client Credentials Grant
ResponseBody clientCredentialsGrantResponseBody =
given(this.spec)
.authentication().basic(VALID_CLIENT_ID, VALID_CLIENT_SECRET)
.queryParameter("grant_type", CLIENT_CREDENTIALS_GRANT)
.queryParameter("username", VALID_USERNAME)
.queryParameter("password", VALID_PASSWORD)
.queryParameter("scope", VALID_SCOPES)
.when()
.post(OAUTH_TOKEN_ENDPOINT)
.then()
.assertThat().contentType(is(ContentType.APPLICATION_JSON.toString()))
.extract().response().body();
}

当我运行此测试时,我遇到了此失败

java.lang.AssertionError: 1 expectation failed.
Expected content-type is "application/json; charset=UTF-8" doesn't match actual content-type "application/json;charset=UTF-8".

因此,org.apache.http.entity.ContentType 的值在类型和字符集之间包含空格,但授权服务器响应内容类型不包含空格。

现在我可以通过这样做来解决这个问题

.assertThat().contentType(is(ContentType.APPLICATION_JSON.toString().replace(" ", "")))

但我觉得一定有更好的方法。

是否有我可以使用的没有空格的内容类型枚举?授权服务器可以配置为在内容类型中包含空格吗?

最佳答案

您可以尝试使用 Spring 中的以下类:org.springframework.http.MediaType

看起来没有空间 in the implementation .

关于java - 当 HTTP 响应内容类型不包含空格时测试 org.apache.http.entity.ContentType,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47801004/

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