1 package com.atlassian.seraph.elevatedsecurity;
2
3 import com.atlassian.seraph.config.SecurityConfig;
4 import junit.framework.Assert;
5
6 import java.util.Map;
7 import javax.servlet.http.HttpServletRequest;
8
9
10
11
12 public class CountingElevatedSecurityGuard implements ElevatedSecurityGuard
13 {
14 private final boolean performCheck;
15 private final String expectedUserName;
16 private int failedCount = 0;
17 private int successCount = 0;
18
19 public CountingElevatedSecurityGuard(final boolean performCheck, final String expectedUserName)
20 {
21 this.performCheck = performCheck;
22 this.expectedUserName = expectedUserName;
23 }
24
25 public boolean performElevatedSecurityCheck(final HttpServletRequest httpServletRequest, final String userName)
26 {
27 Assert.assertEquals(expectedUserName, userName);
28 return performCheck;
29 }
30
31 public void onFailedLoginAttempt(final HttpServletRequest httpServletRequest, final String userName)
32 {
33 failedCount++;
34 }
35
36 public void onSuccessfulLoginAttempt(final HttpServletRequest httpServletRequest, final String userName)
37 {
38 successCount++;
39 }
40
41 public void init(final Map<String, String> params, final SecurityConfig config)
42 {
43 }
44
45 public int getFailedCount()
46 {
47 return failedCount;
48 }
49
50 public int getSuccessCount()
51 {
52 return successCount;
53 }
54 }