1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 package waffle.mock;
25
26 import com.sun.jna.platform.win32.Sspi.CtxtHandle;
27 import com.sun.jna.platform.win32.Sspi.SecBufferDesc;
28
29 import java.util.ArrayList;
30 import java.util.List;
31
32 import waffle.windows.auth.IWindowsIdentity;
33 import waffle.windows.auth.IWindowsImpersonationContext;
34 import waffle.windows.auth.IWindowsSecurityContext;
35
36
37
38
39 public class MockWindowsSecurityContext implements IWindowsSecurityContext {
40
41
42 private final IWindowsIdentity identity;
43
44
45
46
47
48
49
50 public MockWindowsSecurityContext(final String username) {
51 final List<String> groups = new ArrayList<>();
52 groups.add("Users");
53 groups.add("Everyone");
54 this.identity = new MockWindowsIdentity(username, groups);
55 }
56
57 @Override
58 public void dispose() {
59
60 }
61
62 @Override
63 public boolean isContinue() {
64 return false;
65 }
66
67 @Override
68 public CtxtHandle getHandle() {
69 return new CtxtHandle();
70 }
71
72 @Override
73 public IWindowsIdentity getIdentity() {
74 return this.identity;
75 }
76
77 @Override
78 public String getPrincipalName() {
79 return this.identity.getFqn();
80 }
81
82 @Override
83 public String getSecurityPackage() {
84 return "Mock";
85 }
86
87 @Override
88 public byte[] getToken() {
89 return new byte[0];
90 }
91
92 @Override
93 public IWindowsImpersonationContext impersonate() {
94 return new MockWindowsImpersonationContext();
95 }
96
97
98
99
100 public void initialize() {
101
102 }
103
104 @Override
105 public void initialize(final CtxtHandle continueCtx, final SecBufferDesc continueToken,
106 final String targetPrincipalName) {
107
108 }
109
110 }