Program: 20704
Project: 20704
Buggy source:
public void testGetWithAValidUserWithNoReadAccess() throws Exception {
  String commonsLangJar="String_Node_Str";
  String expectedArtifactContents="String_Node_Str";
  File artifactFile=new File(repoRootInternal,commonsLangJar);
  artifactFile.getParentFile().mkdirs();
  FileUtils.writeStringToFile(artifactFile,expectedArtifactContents,null);
  WebRequest request=new GetMethodWebRequest("String_Node_Str" + commonsLangJar);
  InvocationContext ic=sc.newInvocation(request);
  servlet=(RepositoryServlet)ic.getServlet();
  servlet.setDavSessionProvider(davSessionProvider);
  ArchivaDavResourceFactory archivaDavResourceFactory=(ArchivaDavResourceFactory)servlet.getResourceFactory();
  archivaDavResourceFactory.setHttpAuth(httpAuth);
  archivaDavResourceFactory.setServletAuth(servletAuth);
  servlet.setResourceFactory(archivaDavResourceFactory);
  AuthenticationResult result=new AuthenticationResult();
  httpAuthControl.expectAndReturn(httpAuth.getAuthenticationResult(null,null),result);
  servletAuthControl.expectAndReturn(servletAuth.isAuthenticated(null,null),true);
  SecuritySession session=new DefaultSecuritySession();
  httpAuthControl.expectAndReturn(httpAuth.getAuthenticationResult(null,null),result);
  httpAuthControl.expectAndReturn(httpAuth.getSecuritySession(ic.getRequest().getSession(true)),session);
  httpAuthControl.expectAndReturn(httpAuth.getSessionUser(ic.getRequest().getSession()),new SimpleUser());
  servletAuthControl.expectAndReturn(servletAuth.isAuthenticated(null,result),true);
  servletAuthControl.expectAndThrow(servletAuth.isAuthorized(null,session,"String_Node_Str",ArchivaRoleConstants.OPERATION_REPOSITORY_UPLOAD),new UnauthorizedException("String_Node_Str"));
  httpAuthControl.replay();
  servletAuthControl.replay();
  WebResponse response=sc.getResponse(request);
  httpAuthControl.verify();
  servletAuthControl.verify();
  assertEquals(HttpServletResponse.SC_UNAUTHORIZED,response.getResponseCode());
}

Fixed version (ground truth):
@Test public void testGetWithAValidUserWithNoReadAccess() throws Exception {
  String commonsLangJar="String_Node_Str";
  String expectedArtifactContents="String_Node_Str";
  File artifactFile=new File(repoRootInternal,commonsLangJar);
  artifactFile.getParentFile().mkdirs();
  FileUtils.writeStringToFile(artifactFile,expectedArtifactContents,null);
  WebRequest request=new GetMethodWebRequest("String_Node_Str" + commonsLangJar);
  InvocationContext ic=sc.newInvocation(request);
  servlet=(RepositoryServlet)ic.getServlet();
  servlet.setDavSessionProvider(davSessionProvider);
  ArchivaDavResourceFactory archivaDavResourceFactory=(ArchivaDavResourceFactory)servlet.getResourceFactory();
  archivaDavResourceFactory.setHttpAuth(httpAuth);
  archivaDavResourceFactory.setServletAuth(servletAuth);
  servlet.setResourceFactory(archivaDavResourceFactory);
  AuthenticationResult result=new AuthenticationResult();
  httpAuthControl.expectAndReturn(httpAuth.getAuthenticationResult(null,null),result);
  servletAuthControl.expectAndReturn(servletAuth.isAuthenticated(null,null),true);
  SecuritySession session=new DefaultSecuritySession();
  httpAuthControl.expectAndReturn(httpAuth.getAuthenticationResult(null,null),result);
  httpAuthControl.expectAndReturn(httpAuth.getSecuritySession(ic.getRequest().getSession(true)),session);
  httpAuthControl.expectAndReturn(httpAuth.getSessionUser(ic.getRequest().getSession()),new SimpleUser());
  servletAuthControl.expectAndReturn(servletAuth.isAuthenticated(null,result),true);
  servletAuthControl.expectAndThrow(servletAuth.isAuthorized(null,session,"String_Node_Str",ArchivaRoleConstants.OPERATION_REPOSITORY_UPLOAD),new UnauthorizedException("String_Node_Str"));
  httpAuthControl.replay();
  servletAuthControl.replay();
  WebResponse response=sc.getResponse(request);
  httpAuthControl.verify();
  servletAuthControl.verify();
  assertEquals(HttpServletResponse.SC_UNAUTHORIZED,response.getResponseCode());
}