@@ -1559,6 +1559,15 @@ def test_cluster_ca_load(self):
15591559 self .assertIn ('localhost' , self .str_output )
15601560 self .assertIn ('127.0.0.1' , self .str_output )
15611561
1562+ def test_cluster_ca_load_not_init (self ):
1563+ self .server_args ['/pools/nodes' ] = 'unknown pool'
1564+ self .server_args ['override-status' ] = 400
1565+ self .server_args ['init' ] = False
1566+ self .no_error_run (self .command + ['--cluster-ca-load' ], self .server_args )
1567+ self .assertIn ('POST:/node/controller/loadTrustedCAs' , self .server .trace )
1568+ self .assertIn ('127.0.0.1' , self .str_output )
1569+ self .assertIn ('Successfully load CA from inbox/CA' , self .str_output )
1570+
15621571 def test_cluster_ca_delete (self ):
15631572 self .no_error_run (self .command + ['--cluster-ca-delete' , '0' ], self .server_args )
15641573 self .assertIn ('DELETE:/pools/default/trustedCAs/0' , self .server .trace )
@@ -1612,18 +1621,47 @@ def test_node_cert_info(self):
16121621 self .assertIn (f'GET:/pools/default/certificate/node/{ host } :{ port } ' , self .server .trace )
16131622 self .assertIn ('127.0.0.1' , self .str_output )
16141623
1624+ def test_node_cert_info_not_init (self ):
1625+ self .server_args ['init' ] = False
1626+ certificate = {'warnings' : [{'message' : 'Out-of-the-box certificates are self-signed. To further secure your '
1627+ 'system, you must create new X.509 certificates signed by a trusted '
1628+ 'CA.' }],
1629+ 'subject' : f'CN=Couchbase Server Node ({ host } )' ,
1630+ 'expires' : '2049-12-31T23:59:59.000Z' ,
1631+ 'type' : 'generated' ,
1632+ 'pem' : '-----BEGIN CERTIFICATE-----\n Cert String\n -----END CERTIFICATE-----\n ' ,
1633+ 'privateKeyPassphrase' : {}}
1634+ self .server_args [f'/pools/default/certificate/node/{ host } :{ port } ' ] = certificate
1635+ self .no_error_run (self .command + ['--node-cert-info' ], self .server_args )
1636+ self .assertIn (f'GET:/pools/default/certificate/node/{ host } :{ port } ' , self .server .trace )
1637+ self .assertIn ('127.0.0.1' , self .str_output )
1638+
16151639 def test_regenerate_cert (self ):
16161640 self .server_args ['/controller/regenerateCertificate' ] = 'This is a cert'
16171641 self .no_error_run (self .command + ['--regenerate-cert' , 'node1.pem' ], self .server_args )
16181642 os .remove ('node1.pem' )
16191643 self .assertIn ('POST:/controller/regenerateCertificate' , self .server .trace )
16201644 self .assertIn ('Certificate regenerate and copied to `node1.pem`' , self .str_output )
16211645
1646+ def test_regenerate_cert_not_init (self ):
1647+ self .server_args ['init' ] = False
1648+ self .server_args ['/controller/regenerateCertificate' ] = 'This is a cert'
1649+ self .no_error_run (self .command + ['--regenerate-cert' , 'node1.pem' ], self .server_args )
1650+ os .remove ('node1.pem' )
1651+ self .assertIn ('POST:/controller/regenerateCertificate' , self .server .trace )
1652+ self .assertIn ('Certificate regenerate and copied to `node1.pem`' , self .str_output )
1653+
16221654 def test_set_node_certificate (self ):
16231655 self .no_error_run (self .command + ['--set-node-certificate' ], self .server_args )
16241656 self .assertIn ('POST:/node/controller/reloadCertificate' , self .server .trace )
16251657 self .assertIn ('Node certificate set' , self .str_output )
16261658
1659+ def test_set_node_certificate_not_init (self ):
1660+ self .server_args ['init' ] = False
1661+ self .no_error_run (self .command + ['--set-node-certificate' ], self .server_args )
1662+ self .assertIn ('POST:/node/controller/reloadCertificate' , self .server .trace )
1663+ self .assertIn ('Node certificate set' , self .str_output )
1664+
16271665 def test_set_node_certificate_with_pkey_settings (self ):
16281666 pkey_settings_file = tempfile .NamedTemporaryFile (delete = False )
16291667 pkey_settings_file .write (b'{"type":"plain","password":"asdf"}' )
@@ -1642,12 +1680,28 @@ def test_set_client_auth(self):
16421680 self .assertIn ('POST:/settings/clientCertAuth' , self .server .trace )
16431681 self .assertIn ('SSL client auth updated' , self .str_output )
16441682
1683+ def test_set_client_auth_not_init (self ):
1684+ self .server_args ['init' ] = False
1685+ client_json = tempfile .NamedTemporaryFile (delete = False )
1686+ client_json .write (b'{"name":"json"}' )
1687+ client_json .close ()
1688+ self .no_error_run (self .command + ['--set-client-auth' , client_json .name ], self .server_args )
1689+ self .assertIn ('POST:/settings/clientCertAuth' , self .server .trace )
1690+ self .assertIn ('SSL client auth updated' , self .str_output )
1691+
16451692 def test_client_auth (self ):
16461693 self .server_args ['/settings/clientCertAuth' ] = {'prefixes' : [], 'state' : 'disable' }
16471694 self .no_error_run (self .command + ['--client-auth' ], self .server_args )
16481695 self .assertIn ('GET:/settings/clientCertAuth' , self .server .trace )
16491696 self .assertIn ('prefixes' , self .str_output )
16501697
1698+ def test_client_auth_not_init (self ):
1699+ self .server_args ['init' ] = False
1700+ self .server_args ['/settings/clientCertAuth' ] = {'prefixes' : [], 'state' : 'disable' }
1701+ self .no_error_run (self .command + ['--client-auth' ], self .server_args )
1702+ self .assertIn ('GET:/settings/clientCertAuth' , self .server .trace )
1703+ self .assertIn ('prefixes' , self .str_output )
1704+
16511705
16521706class TestUserManage (CommandTest ):
16531707 def setUp (self ):
0 commit comments