Skip to content

Commit 9b0d437

Browse files
Ajit GeorgeAjit George
authored andcommitted
Test changes to have Kerberos authentication work.
1 parent 9d1c4ea commit 9b0d437

File tree

2 files changed

+20
-20
lines changed

2 files changed

+20
-20
lines changed

test-complete/src/test/java/com/marklogic/client/functionaltest/ConnectedRESTQA.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2600,7 +2600,8 @@ public static void createExternalSecurityForKerberos(String restServerName,Strin
26002600
+ "\"ldap-attribute\":\"\","
26012601
+ "\"ldap-default-user\":\"\","
26022602
+ "\"ldap-password\":\"\","
2603-
+ "\"ldap-bind-method\":\"MD5\""
2603+
+ "\"ldap-bind-method\":\"MD5\","
2604+
+ "\"ssl-require-client-certificate\":\"false\""
26042605
+ "}";
26052606

26062607
HttpPost post = new HttpPost("http://localhost:8002/manage/v2/external-security");
@@ -2632,10 +2633,10 @@ public static void createRESTKerberosUser(String usrName, String pass, String ex
26322633
HttpResponse resp = clientReq.execute(getrequest);
26332634

26342635
if(resp.getStatusLine().getStatusCode() == 200) {
2635-
System.out.println("User already exist");
2636+
System.out.println("Kerberos User already exist");
26362637
}
26372638
else {
2638-
System.out.println("User dont exist");
2639+
System.out.println("Kerberos User dont exist");
26392640
clientPost = new DefaultHttpClient();
26402641
clientPost.getCredentialsProvider().setCredentials(
26412642
new AuthScope("localhost", 8002),
@@ -2668,14 +2669,14 @@ public static void createRESTKerberosUser(String usrName, String pass, String ex
26682669
HttpResponse response = clientPost.execute(post);
26692670
HttpEntity respEntity = response.getEntity();
26702671
if( response.getStatusLine().getStatusCode() == 400) {
2671-
System.out.println("User already exist");
2672+
System.out.println("Kerberos User already exist - Status Code 400");
26722673
}
26732674
else if (respEntity != null) {
26742675
// EntityUtils to get the response content
26752676
String content = EntityUtils.toString(respEntity);
26762677
System.out.println(content);
26772678
}
2678-
else {System.out.println("No Proper Response");}
2679+
else {System.out.println("No Proper Response - Kerberos User");}
26792680
}
26802681
} catch (Exception e) {
26812682
// writing error to Log

test-complete/src/test/java/com/marklogic/client/functionaltest/TestDatabaseClientWithKerberos.java

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,11 @@
2828
import java.io.IOException;
2929
import java.io.StringReader;
3030
import java.security.KeyManagementException;
31-
import java.security.KeyStoreException;
3231
import java.security.NoSuchAlgorithmException;
33-
import java.security.UnrecoverableKeyException;
34-
import java.security.cert.CertificateException;
3532
import java.util.Calendar;
3633
import java.util.HashMap;
3734
import java.util.Iterator;
35+
import java.util.Map;
3836

3937
import javax.net.ssl.SSLContext;
4038
import javax.xml.parsers.DocumentBuilder;
@@ -61,41 +59,41 @@
6159
import com.fasterxml.jackson.databind.ObjectMapper;
6260
import com.marklogic.client.DatabaseClient;
6361
import com.marklogic.client.DatabaseClientFactory;
64-
import com.marklogic.client.Transaction;
65-
import com.marklogic.client.DatabaseClientFactory.KerberosAuthContext;
6662
import com.marklogic.client.DatabaseClientFactory.BasicAuthContext;
63+
import com.marklogic.client.DatabaseClientFactory.KerberosAuthContext;
64+
import com.marklogic.client.Transaction;
6765
import com.marklogic.client.admin.ExtensionMetadata;
6866
import com.marklogic.client.admin.ServerConfigurationManager;
6967
import com.marklogic.client.admin.TransformExtensionsManager;
7068
import com.marklogic.client.alerting.RuleDefinition;
7169
import com.marklogic.client.alerting.RuleDefinitionList;
7270
import com.marklogic.client.alerting.RuleManager;
7371
import com.marklogic.client.document.DocumentManager;
72+
import com.marklogic.client.document.DocumentManager.Metadata;
7473
import com.marklogic.client.document.DocumentPage;
7574
import com.marklogic.client.document.DocumentRecord;
7675
import com.marklogic.client.document.DocumentWriteSet;
7776
import com.marklogic.client.document.JSONDocumentManager;
7877
import com.marklogic.client.document.ServerTransform;
7978
import com.marklogic.client.document.TextDocumentManager;
8079
import com.marklogic.client.document.XMLDocumentManager;
81-
import com.marklogic.client.document.DocumentManager.Metadata;
8280
import com.marklogic.client.eval.EvalResult;
81+
import com.marklogic.client.eval.EvalResult.Type;
8382
import com.marklogic.client.eval.EvalResultIterator;
8483
import com.marklogic.client.eval.ServerEvaluationCall;
85-
import com.marklogic.client.eval.EvalResult.Type;
8684
import com.marklogic.client.io.BytesHandle;
8785
import com.marklogic.client.io.DOMHandle;
8886
import com.marklogic.client.io.DocumentMetadataHandle;
87+
import com.marklogic.client.io.DocumentMetadataHandle.Capability;
88+
import com.marklogic.client.io.DocumentMetadataHandle.DocumentCollections;
89+
import com.marklogic.client.io.DocumentMetadataHandle.DocumentPermissions;
90+
import com.marklogic.client.io.DocumentMetadataHandle.DocumentProperties;
8991
import com.marklogic.client.io.FileHandle;
9092
import com.marklogic.client.io.Format;
9193
import com.marklogic.client.io.JacksonDatabindHandle;
9294
import com.marklogic.client.io.JacksonHandle;
9395
import com.marklogic.client.io.StringHandle;
9496
import com.marklogic.client.io.XMLStreamReaderHandle;
95-
import com.marklogic.client.io.DocumentMetadataHandle.Capability;
96-
import com.marklogic.client.io.DocumentMetadataHandle.DocumentCollections;
97-
import com.marklogic.client.io.DocumentMetadataHandle.DocumentPermissions;
98-
import com.marklogic.client.io.DocumentMetadataHandle.DocumentProperties;
9997
import com.marklogic.client.pojo.PojoPage;
10098
import com.marklogic.client.pojo.PojoQueryBuilder;
10199
import com.marklogic.client.pojo.PojoQueryDefinition;
@@ -106,7 +104,6 @@
106104
import com.marklogic.client.query.StructuredQueryBuilder;
107105
import com.marklogic.client.query.StructuredQueryDefinition;
108106
import com.marklogic.client.util.RequestLogger;
109-
import java.util.Map;
110107

111108
public class TestDatabaseClientWithKerberos extends BasicJavaClientREST {
112109

@@ -145,14 +142,16 @@ public static void setUpBeforeClass() throws Exception {
145142
createExternalSecurityForKerberos(appServerName, extSecurityName);
146143
// Associate the external security with the App Server.
147144
associateRESTServerWithKerberosExtSecurity(appServerName, extSecurityName);
148-
createUserRolesWithPrevilages("test-eval","xdbc:eval", "xdbc:eval-in","xdmp:eval-in","any-uri","xdbc:invoke");
149-
createRESTKerberosUser("user2", "MarkLogic200", kdcPrincipalUser, "admin", "test-eval");
145+
createUserRolesWithPrevilages("test-evalKer","xdbc:eval", "xdbc:eval-in","xdmp:eval-in","any-uri","xdbc:invoke");
146+
createRESTKerberosUser("user2", "MarkLogic200", kdcPrincipalUser, "admin", "test-evalKer");
150147
createRESTUser("rest-admin","x","rest-admin");
151148
}
152149

153150
@AfterClass
154151
public static void tearDownAfterClass() throws Exception {
155152
System.out.println("In tear down" );
153+
deleteUserRole("test-evalKer");
154+
deleteRESTUser("user2");
156155
tearDownJavaRESTServer(dbName, fNames, appServerName);
157156
}
158157

@@ -167,7 +166,7 @@ public void setUp() throws KeyManagementException, NoSuchAlgorithmException, Exc
167166
new KerberosAuthContext().withSSLContext(sslcontext));
168167
} else
169168
client = DatabaseClientFactory.newClient(appServerHostName,
170-
appServerHostPort, new KerberosAuthContext());
169+
appServerHostPort, new KerberosAuthContext(kdcPrincipalUser));
171170
}
172171

173172
@After

0 commit comments

Comments
 (0)