diff options
Diffstat (limited to 'jstests/ssl_x509/cluster_x509_restart.js')
-rw-r--r-- | jstests/ssl_x509/cluster_x509_restart.js | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/jstests/ssl_x509/cluster_x509_restart.js b/jstests/ssl_x509/cluster_x509_restart.js new file mode 100644 index 00000000000..e1c002709d2 --- /dev/null +++ b/jstests/ssl_x509/cluster_x509_restart.js @@ -0,0 +1,37 @@ +/** + * This test does a simple restart of a replica set with X.509 cluster auth. + * + * @tags: [requires_persistence, requires_replication] + */ + +(function() { +'use strict'; + +const rst = new ReplSetTest({ + nodes: 3, + waitForKeys: false, + nodeOptions: { + sslMode: "requireSSL", + clusterAuthMode: "x509", + keyFile: "jstests/libs/key1", + sslPEMKeyFile: "jstests/libs/server.pem", + sslCAFile: "jstests/libs/ca.pem", + sslAllowInvalidHostnames: "" + } +}); +rst.startSet(); + +rst.initiate(); + +rst.awaitReplication(3000); + +// Create a user to login as when auth is enabled later +rst.getPrimary().getDB('admin').createUser({user: 'root', pwd: 'root', roles: ['root']}, {w: 3}); + +let primary = rst.getPrimary(); + +assert.commandWorked(primary.getDB("admin").runCommand({hello: 1})); +assert.commandWorked(primary.getDB('test').a.insert({a: 1, str: 'TESTTESTTEST'})); + +rst.stopSet(); +})(); |