Skip to content

Commit a831ec9

Browse files
committed
Merged changes from Example 1: Avoid duplicate creation of mocks in ActiveDirectoryLdapAuthenticationProviderTests.java
1 parent 902aff4 commit a831ec9

File tree

1 file changed

+2
-18
lines changed

1 file changed

+2
-18
lines changed

ldap/src/test/java/org/springframework/security/ldap/authentication/ad/ActiveDirectoryLdapAuthenticationProviderTests.java

Lines changed: 2 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -69,10 +69,11 @@ public class ActiveDirectoryLdapAuthenticationProviderTests {
6969
ActiveDirectoryLdapAuthenticationProvider provider;
7070

7171
UsernamePasswordAuthenticationToken joe = UsernamePasswordAuthenticationToken.unauthenticated("joe", "password");
72-
72+
DirContext ctx;
7373
@BeforeEach
7474
public void setUp() {
7575
this.provider = new ActiveDirectoryLdapAuthenticationProvider("mydomain.eu", "ldap://192.168.1.200/");
76+
ctx = mock(DirContext.class);
7677
}
7778

7879
@Test
@@ -90,8 +91,6 @@ public void successfulAuthenticationProducesExpectedAuthorities() throws Excepti
9091
@Test
9192
public void customSearchFilterIsUsedForSuccessfulAuthentication() throws Exception {
9293
String customSearchFilter = "(&(objectClass=user)(sAMAccountName={0}))";
93-
DirContext ctx = mock(DirContext.class);
94-
given(ctx.getNameInNamespace()).willReturn("");
9594
DirContextAdapter dca = new DirContextAdapter();
9695
SearchResult sr = new SearchResult("CN=Joe Jannsen,CN=Users", dca, dca.getAttributes());
9796
given(ctx.search(any(Name.class), eq(customSearchFilter), any(Object[].class), any(SearchControls.class)))
@@ -107,8 +106,6 @@ public void customSearchFilterIsUsedForSuccessfulAuthentication() throws Excepti
107106
@Test
108107
public void defaultSearchFilter() throws Exception {
109108
final String defaultSearchFilter = "(&(objectClass=user)(userPrincipalName={0}))";
110-
DirContext ctx = mock(DirContext.class);
111-
given(ctx.getNameInNamespace()).willReturn("");
112109
DirContextAdapter dca = new DirContextAdapter();
113110
SearchResult sr = new SearchResult("CN=Joe Jannsen,CN=Users", dca, dca.getAttributes());
114111
given(ctx.search(any(Name.class), eq(defaultSearchFilter), any(Object[].class), any(SearchControls.class)))
@@ -126,8 +123,6 @@ public void defaultSearchFilter() throws Exception {
126123
public void bindPrincipalAndUsernameUsed() throws Exception {
127124
final String defaultSearchFilter = "(&(objectClass=user)(userPrincipalName={0}))";
128125
ArgumentCaptor<Object[]> captor = ArgumentCaptor.forClass(Object[].class);
129-
DirContext ctx = mock(DirContext.class);
130-
given(ctx.getNameInNamespace()).willReturn("");
131126
DirContextAdapter dca = new DirContextAdapter();
132127
SearchResult sr = new SearchResult("CN=Joe Jannsen,CN=Users", dca, dca.getAttributes());
133128
given(ctx.search(any(Name.class), eq(defaultSearchFilter), captor.capture(), any(SearchControls.class)))
@@ -153,8 +148,6 @@ public void setSearchFilterEmpty() {
153148
@Test
154149
public void nullDomainIsSupportedIfAuthenticatingWithFullUserPrincipal() throws Exception {
155150
this.provider = new ActiveDirectoryLdapAuthenticationProvider(null, "ldap://192.168.1.200/");
156-
DirContext ctx = mock(DirContext.class);
157-
given(ctx.getNameInNamespace()).willReturn("");
158151
DirContextAdapter dca = new DirContextAdapter();
159152
SearchResult sr = new SearchResult("CN=Joe Jannsen,CN=Users", dca, dca.getAttributes());
160153
given(ctx.search(eq(LdapNameBuilder.newInstance("DC=mydomain,DC=eu").build()), any(String.class),
@@ -167,8 +160,6 @@ public void nullDomainIsSupportedIfAuthenticatingWithFullUserPrincipal() throws
167160

168161
@Test
169162
public void failedUserSearchCausesBadCredentials() throws Exception {
170-
DirContext ctx = mock(DirContext.class);
171-
given(ctx.getNameInNamespace()).willReturn("");
172163
given(ctx.search(any(Name.class), any(String.class), any(Object[].class), any(SearchControls.class)))
173164
.willThrow(new NameNotFoundException());
174165
this.provider.contextFactory = createContextFactoryReturning(ctx);
@@ -178,8 +169,6 @@ public void failedUserSearchCausesBadCredentials() throws Exception {
178169
// SEC-2017
179170
@Test
180171
public void noUserSearchCausesUsernameNotFound() throws Exception {
181-
DirContext ctx = mock(DirContext.class);
182-
given(ctx.getNameInNamespace()).willReturn("");
183172
given(ctx.search(any(Name.class), any(String.class), any(Object[].class), any(SearchControls.class)))
184173
.willReturn(new EmptyEnumeration<>());
185174
this.provider.contextFactory = createContextFactoryReturning(ctx);
@@ -196,8 +185,6 @@ public void sec2500PreventAnonymousBind() {
196185
@Test
197186
@SuppressWarnings("unchecked")
198187
public void duplicateUserSearchCausesError() throws Exception {
199-
DirContext ctx = mock(DirContext.class);
200-
given(ctx.getNameInNamespace()).willReturn("");
201188
NamingEnumeration<SearchResult> searchResults = mock(NamingEnumeration.class);
202189
given(searchResults.hasMore()).willReturn(true, true, false);
203190
SearchResult searchResult = mock(SearchResult.class);
@@ -209,7 +196,6 @@ public void duplicateUserSearchCausesError() throws Exception {
209196
assertThatExceptionOfType(IncorrectResultSizeDataAccessException.class)
210197
.isThrownBy(() -> this.provider.authenticate(this.joe));
211198
}
212-
213199
static final String msg = "[LDAP: error code 49 - 80858585: LdapErr: DSID-DECAFF0, comment: AcceptSecurityContext error, data ";
214200

215201
@Test
@@ -357,8 +343,6 @@ DirContext createContext(Hashtable<?, ?> env) {
357343

358344
private void checkAuthentication(String rootDn, ActiveDirectoryLdapAuthenticationProvider provider)
359345
throws NamingException {
360-
DirContext ctx = mock(DirContext.class);
361-
given(ctx.getNameInNamespace()).willReturn("");
362346
DirContextAdapter dca = new DirContextAdapter();
363347
SearchResult sr = new SearchResult("CN=Joe Jannsen,CN=Users", dca, dca.getAttributes());
364348
@SuppressWarnings("deprecation")

0 commit comments

Comments
 (0)