Skip to content

Commit cfde3a3

Browse files
authored
HADOOP-19545. Update to ApacheDS 2.0.0.AM27 and ldap-api 2.1.7 (#7628) Contributed by Istvan Toth.
Reviewed-by: Cheng Pan <[email protected]> Signed-off-by: Shilun Fan <[email protected]>
1 parent f9f7b29 commit cfde3a3

File tree

3 files changed

+57
-44
lines changed

3 files changed

+57
-44
lines changed

hadoop-common-project/hadoop-auth/src/test/java/org/apache/hadoop/security/authentication/server/TestLdapAuthenticationHandler.java

Lines changed: 28 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
package org.apache.hadoop.security.authentication.server;
1515

1616
import java.util.Properties;
17+
import java.util.concurrent.TimeUnit;
1718

1819
import javax.servlet.http.HttpServletRequest;
1920
import javax.servlet.http.HttpServletResponse;
@@ -29,18 +30,19 @@
2930
import org.apache.directory.server.core.annotations.CreateDS;
3031
import org.apache.directory.server.core.annotations.CreatePartition;
3132
import org.apache.directory.server.core.integ.AbstractLdapTestUnit;
32-
import org.apache.directory.server.core.integ.FrameworkRunner;
33+
import org.apache.directory.server.core.integ.ApacheDSTestExtension;
3334
import org.apache.hadoop.security.authentication.client.AuthenticationException;
34-
import org.junit.Assert;
35-
import org.junit.Before;
36-
import org.junit.Test;
37-
import org.junit.runner.RunWith;
35+
import org.junit.jupiter.api.Assertions;
36+
import org.junit.jupiter.api.BeforeEach;
37+
import org.junit.jupiter.api.Test;
38+
import org.junit.jupiter.api.Timeout;
39+
import org.junit.jupiter.api.extension.ExtendWith;
3840
import org.mockito.Mockito;
3941

4042
/**
4143
* This unit test verifies the functionality of LDAP authentication handler.
4244
*/
43-
@RunWith(FrameworkRunner.class)
45+
@ExtendWith(ApacheDSTestExtension.class)
4446
@CreateLdapServer(
4547
transports =
4648
{
@@ -65,7 +67,7 @@
6567
public class TestLdapAuthenticationHandler extends AbstractLdapTestUnit {
6668
private LdapAuthenticationHandler handler;
6769

68-
@Before
70+
@BeforeEach
6971
public void setup() throws Exception {
7072
handler = new LdapAuthenticationHandler();
7173
try {
@@ -84,17 +86,19 @@ protected Properties getDefaultProperties() {
8486
return p;
8587
}
8688

87-
@Test(timeout = 60000)
89+
@Test
90+
@Timeout(value = 60, unit = TimeUnit.SECONDS)
8891
public void testRequestWithoutAuthorization() throws Exception {
8992
HttpServletRequest request = Mockito.mock(HttpServletRequest.class);
9093
HttpServletResponse response = Mockito.mock(HttpServletResponse.class);
9194

92-
Assert.assertNull(handler.authenticate(request, response));
95+
Assertions.assertNull(handler.authenticate(request, response));
9396
Mockito.verify(response).setHeader(WWW_AUTHENTICATE, HttpConstants.BASIC);
9497
Mockito.verify(response).setStatus(HttpServletResponse.SC_UNAUTHORIZED);
9598
}
9699

97-
@Test(timeout = 60000)
100+
@Test
101+
@Timeout(value = 60, unit = TimeUnit.SECONDS)
98102
public void testRequestWithInvalidAuthorization() throws Exception {
99103
HttpServletRequest request = Mockito.mock(HttpServletRequest.class);
100104
HttpServletResponse response = Mockito.mock(HttpServletResponse.class);
@@ -103,22 +107,24 @@ public void testRequestWithInvalidAuthorization() throws Exception {
103107
String credentials = "bjones:invalidpassword";
104108
Mockito.when(request.getHeader(HttpConstants.AUTHORIZATION_HEADER))
105109
.thenReturn(base64.encodeToString(credentials.getBytes()));
106-
Assert.assertNull(handler.authenticate(request, response));
110+
Assertions.assertNull(handler.authenticate(request, response));
107111
Mockito.verify(response).setHeader(WWW_AUTHENTICATE, HttpConstants.BASIC);
108112
Mockito.verify(response).setStatus(HttpServletResponse.SC_UNAUTHORIZED);
109113
}
110114

111-
@Test(timeout = 60000)
115+
@Test
116+
@Timeout(value = 60, unit = TimeUnit.SECONDS)
112117
public void testRequestWithIncompleteAuthorization() throws Exception {
113118
HttpServletRequest request = Mockito.mock(HttpServletRequest.class);
114119
HttpServletResponse response = Mockito.mock(HttpServletResponse.class);
115120

116121
Mockito.when(request.getHeader(HttpConstants.AUTHORIZATION_HEADER))
117122
.thenReturn(HttpConstants.BASIC);
118-
Assert.assertNull(handler.authenticate(request, response));
123+
Assertions.assertNull(handler.authenticate(request, response));
119124
}
120125

121-
@Test(timeout = 60000)
126+
@Test
127+
@Timeout(value = 60, unit = TimeUnit.SECONDS)
122128
public void testRequestWithAuthorization() throws Exception {
123129
HttpServletRequest request = Mockito.mock(HttpServletRequest.class);
124130
HttpServletResponse response = Mockito.mock(HttpServletResponse.class);
@@ -129,14 +135,15 @@ public void testRequestWithAuthorization() throws Exception {
129135
Mockito.when(request.getHeader(HttpConstants.AUTHORIZATION_HEADER))
130136
.thenReturn(authHeader);
131137
AuthenticationToken token = handler.authenticate(request, response);
132-
Assert.assertNotNull(token);
138+
Assertions.assertNotNull(token);
133139
Mockito.verify(response).setStatus(HttpServletResponse.SC_OK);
134-
Assert.assertEquals(TYPE, token.getType());
135-
Assert.assertEquals("bjones", token.getUserName());
136-
Assert.assertEquals("bjones", token.getName());
140+
Assertions.assertEquals(token.getType(), TYPE);
141+
Assertions.assertEquals(token.getUserName(), "bjones");
142+
Assertions.assertEquals(token.getName(), "bjones");
137143
}
138144

139-
@Test(timeout = 60000)
145+
@Test
146+
@Timeout(value = 60, unit = TimeUnit.SECONDS)
140147
public void testRequestWithWrongCredentials() throws Exception {
141148
HttpServletRequest request = Mockito.mock(HttpServletRequest.class);
142149
HttpServletResponse response = Mockito.mock(HttpServletResponse.class);
@@ -149,11 +156,11 @@ public void testRequestWithWrongCredentials() throws Exception {
149156

150157
try {
151158
handler.authenticate(request, response);
152-
Assert.fail();
159+
Assertions.fail();
153160
} catch (AuthenticationException ex) {
154161
// Expected
155162
} catch (Exception ex) {
156-
Assert.fail();
163+
Assertions.fail();
157164
}
158165
}
159166
}

hadoop-common-project/hadoop-auth/src/test/java/org/apache/hadoop/security/authentication/server/TestMultiSchemeAuthenticationHandler.java

Lines changed: 27 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626

2727
import java.io.File;
2828
import java.util.Properties;
29+
import java.util.concurrent.TimeUnit;
2930

3031
import javax.servlet.http.HttpServletRequest;
3132
import javax.servlet.http.HttpServletResponse;
@@ -38,21 +39,22 @@
3839
import org.apache.directory.server.core.annotations.CreateDS;
3940
import org.apache.directory.server.core.annotations.CreatePartition;
4041
import org.apache.directory.server.core.integ.AbstractLdapTestUnit;
41-
import org.apache.directory.server.core.integ.FrameworkRunner;
42+
import org.apache.directory.server.core.integ.ApacheDSTestExtension;
4243
import org.apache.hadoop.minikdc.KerberosSecurityTestcase;
4344
import org.apache.hadoop.security.authentication.KerberosTestUtils;
4445
import org.apache.hadoop.security.authentication.client.AuthenticationException;
45-
import org.junit.After;
46-
import org.junit.Assert;
47-
import org.junit.Before;
48-
import org.junit.Test;
49-
import org.junit.runner.RunWith;
46+
import org.junit.jupiter.api.AfterEach;
47+
import org.junit.jupiter.api.Assertions;
48+
import org.junit.jupiter.api.BeforeEach;
49+
import org.junit.jupiter.api.Test;
50+
import org.junit.jupiter.api.Timeout;
51+
import org.junit.jupiter.api.extension.ExtendWith;
5052
import org.mockito.Mockito;
5153

5254
/**
5355
* This unit test verifies the functionality of "multi-scheme" auth handler.
5456
*/
55-
@RunWith(FrameworkRunner.class)
57+
@ExtendWith(ApacheDSTestExtension.class)
5658
@CreateLdapServer(
5759
transports =
5860
{
@@ -79,7 +81,7 @@ public class TestMultiSchemeAuthenticationHandler
7981
private KerberosSecurityTestcase krbTest = new KerberosSecurityTestcase();
8082
private MultiSchemeAuthenticationHandler handler;
8183

82-
@Before
84+
@BeforeEach
8385
public void setUp() throws Exception {
8486
krbTest.startMiniKdc();
8587

@@ -99,7 +101,7 @@ public void setUp() throws Exception {
99101
}
100102
}
101103

102-
@After
104+
@AfterEach
103105
public void tearDown() throws Exception {
104106
krbTest.stopMiniKdc();
105107
}
@@ -122,18 +124,20 @@ private Properties getDefaultProperties() {
122124
return p;
123125
}
124126

125-
@Test(timeout = 60000)
127+
@Test
128+
@Timeout(value = 60, unit = TimeUnit.SECONDS)
126129
public void testRequestWithoutAuthorization() throws Exception {
127130
HttpServletRequest request = Mockito.mock(HttpServletRequest.class);
128131
HttpServletResponse response = Mockito.mock(HttpServletResponse.class);
129132

130-
Assert.assertNull(handler.authenticate(request, response));
133+
Assertions.assertNull(handler.authenticate(request, response));
131134
Mockito.verify(response).addHeader(WWW_AUTHENTICATE_HEADER, BASIC);
132135
Mockito.verify(response).addHeader(WWW_AUTHENTICATE_HEADER, NEGOTIATE);
133136
Mockito.verify(response).setStatus(HttpServletResponse.SC_UNAUTHORIZED);
134137
}
135138

136-
@Test(timeout = 60000)
139+
@Test
140+
@Timeout(value = 60, unit = TimeUnit.SECONDS)
137141
public void testRequestWithInvalidAuthorization() throws Exception {
138142
HttpServletRequest request = Mockito.mock(HttpServletRequest.class);
139143
HttpServletResponse response = Mockito.mock(HttpServletResponse.class);
@@ -142,13 +146,14 @@ public void testRequestWithInvalidAuthorization() throws Exception {
142146
String credentials = "bjones:invalidpassword";
143147
Mockito.when(request.getHeader(AUTHORIZATION_HEADER))
144148
.thenReturn(base64.encodeToString(credentials.getBytes()));
145-
Assert.assertNull(handler.authenticate(request, response));
149+
Assertions.assertNull(handler.authenticate(request, response));
146150
Mockito.verify(response).addHeader(WWW_AUTHENTICATE_HEADER, BASIC);
147151
Mockito.verify(response).addHeader(WWW_AUTHENTICATE_HEADER, NEGOTIATE);
148152
Mockito.verify(response).setStatus(HttpServletResponse.SC_UNAUTHORIZED);
149153
}
150154

151-
@Test(timeout = 60000)
155+
@Test
156+
@Timeout(value = 60, unit = TimeUnit.SECONDS)
152157
public void testRequestWithLdapAuthorization() throws Exception {
153158
HttpServletRequest request = Mockito.mock(HttpServletRequest.class);
154159
HttpServletResponse response = Mockito.mock(HttpServletResponse.class);
@@ -159,14 +164,15 @@ public void testRequestWithLdapAuthorization() throws Exception {
159164
Mockito.when(request.getHeader(AUTHORIZATION_HEADER))
160165
.thenReturn(authHeader);
161166
AuthenticationToken token = handler.authenticate(request, response);
162-
Assert.assertNotNull(token);
167+
Assertions.assertNotNull(token);
163168
Mockito.verify(response).setStatus(HttpServletResponse.SC_OK);
164-
Assert.assertEquals(TYPE, token.getType());
165-
Assert.assertEquals("bjones", token.getUserName());
166-
Assert.assertEquals("bjones", token.getName());
169+
Assertions.assertEquals(TYPE, token.getType());
170+
Assertions.assertEquals(token.getUserName(), "bjones");
171+
Assertions.assertEquals(token.getName(), "bjones");
167172
}
168173

169-
@Test(timeout = 60000)
174+
@Test
175+
@Timeout(value = 60, unit = TimeUnit.SECONDS)
170176
public void testRequestWithInvalidKerberosAuthorization() throws Exception {
171177
String token = new Base64(0).encodeToString(new byte[]{0, 1, 2});
172178

@@ -178,11 +184,11 @@ public void testRequestWithInvalidKerberosAuthorization() throws Exception {
178184

179185
try {
180186
handler.authenticate(request, response);
181-
Assert.fail();
187+
Assertions.fail();
182188
} catch (AuthenticationException ex) {
183189
// Expected
184190
} catch (Exception ex) {
185-
Assert.fail("Wrong exception :"+ex);
191+
Assertions.fail("Wrong exception :"+ex);
186192
}
187193
}
188194

hadoop-project/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,8 +114,8 @@
114114
<bouncycastle.version>1.78.1</bouncycastle.version>
115115

116116
<!-- Required for testing LDAP integration -->
117-
<apacheds.version>2.0.0.AM26</apacheds.version>
118-
<ldap-api.version>2.0.0</ldap-api.version>
117+
<apacheds.version>2.0.0.AM27</apacheds.version>
118+
<ldap-api.version>2.1.7</ldap-api.version>
119119

120120
<!-- Apache Commons dependencies -->
121121
<commons-cli.version>1.9.0</commons-cli.version>

0 commit comments

Comments
 (0)