我正在使用 HTTP 单元来测试我的授权框架。
我在登录后尝试测试案例时遇到问题,因为测试总是检查第一个返回的状态代码。当未经身份验证的人尝试访问受保护的资源时,第一个状态码是 401,他有机会提供他的凭据,登录后状态码是 200。
如何对测试进行编程以执行身份验证并等待最后一个状态码?
直到现在我都是这样做的。它失败了,因为第一个状态码是 401 而不是 200。是否有保持活动选项?
@Test
public void testReqRestrictedResourceWithValidRole() throws Exception
{
// Request a protected page with valid credentials and valid role
// protectedUrl requires role ADMIN
// user has role ADMIN
String username = "user";
String password = "password";
String decUserPass = username + ":" + password;
String base64encUserPass =
DatatypeConverter.printBase64Binary(decUserPass.getBytes());
webClient.addRequestHeader("Authorization", "Basic " + base64encUserPass);
Page page = webClient.getPage(protectedUrl);
int statuscode = page.getWebResponse().getStatusCode();
assertEquals(statuscode, 200, "Wrong statuscode.");
}
谢谢!