Skip to content

Commit 5d2c591

Browse files
Add a unit test
1 parent 341938e commit 5d2c591

File tree

1 file changed

+49
-0
lines changed

1 file changed

+49
-0
lines changed
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
package org.apache.hadoop.security;
2+
3+
import java.net.InetAddress;
4+
import java.net.InetSocketAddress;
5+
import javax.security.sasl.Sasl;
6+
7+
import org.junit.Before;
8+
import org.junit.Test;
9+
10+
import org.apache.hadoop.conf.Configuration;
11+
12+
import static org.apache.hadoop.fs.CommonConfigurationKeysPublic.HADOOP_RPC_PROTECTION;
13+
import static org.junit.Assert.assertEquals;
14+
15+
public class TestSaslPropertiesResolver {
16+
17+
private static final SaslRpcServer.QualityOfProtection PRIVACY_QOP = SaslRpcServer.QualityOfProtection.PRIVACY;
18+
private static final SaslRpcServer.QualityOfProtection AUTHENTICATION_QOP = SaslRpcServer.QualityOfProtection.AUTHENTICATION;
19+
private static final InetAddress LOCALHOST = new InetSocketAddress("127.0.0.1", 1).getAddress();
20+
21+
private SaslPropertiesResolver resolver;
22+
23+
@Before
24+
public void setup() {
25+
Configuration conf = new Configuration();
26+
conf.set(HADOOP_RPC_PROTECTION, "privacy");
27+
resolver = new SaslPropertiesResolver();
28+
resolver.setConf(conf);
29+
}
30+
31+
@Test
32+
public void testResolverDoesNotMutate() {
33+
assertEquals(PRIVACY_QOP.getSaslQop(), resolver.getDefaultProperties().get(Sasl.QOP));
34+
resolver.getDefaultProperties().put(Sasl.QOP, AUTHENTICATION_QOP.getSaslQop());
35+
// Even after changing the map returned by SaslPropertiesResolver, it does not change its future responses
36+
assertEquals(PRIVACY_QOP.getSaslQop(), resolver.getDefaultProperties().get(Sasl.QOP));
37+
38+
assertEquals(PRIVACY_QOP.getSaslQop(), resolver.getClientProperties(LOCALHOST).get(Sasl.QOP));
39+
resolver.getDefaultProperties().put(Sasl.QOP, AUTHENTICATION_QOP.getSaslQop());
40+
// Even after changing the map returned by SaslPropertiesResolver, it does not change its future responses
41+
assertEquals(PRIVACY_QOP.getSaslQop(), resolver.getClientProperties(LOCALHOST).get(Sasl.QOP));
42+
43+
assertEquals(PRIVACY_QOP.getSaslQop(), resolver.getServerProperties(LOCALHOST).get(Sasl.QOP));
44+
resolver.getDefaultProperties().put(Sasl.QOP, AUTHENTICATION_QOP.getSaslQop());
45+
// Even after changing the map returned by SaslPropertiesResolver, it does not change its future responses
46+
assertEquals(PRIVACY_QOP.getSaslQop(), resolver.getServerProperties(LOCALHOST).get(Sasl.QOP));
47+
}
48+
49+
}

0 commit comments

Comments
 (0)