HTTPUnit测试授权

时间:2014-05-05 12:01:30

标签: java testing authorization http-unit

我正在使用HTTP Unit来测试我的授权框架。

我在登录后尝试测试案例时遇到问题,因为测试总是检查第一个返回的状态码。 当未经过身份验证的人尝试访问受保护资源时,第一个状态代码为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.");
   }

谢谢!

0 个答案:

没有答案