@@ -828,3 +828,104 @@ def test_apply_password_filter_in_out(tmodule):
828828 assert len (out ['values' ]['users' ]) == 2
829829 assert out ['values' ]['users' ][0 ]['password' ] == 'abracadabra'
830830 assert out ['values' ]['users' ][1 ]['password' ] == 'xyzzy'
831+
832+
833+ cert1 = """
834+ -----BEGIN CERTIFICATE-----
835+ MIIGFjCCA/6gAwIBAgIUZLL4QTx5ESBYQYS761DcZ7S1c24wDQYJKoZIhvcNAQEN
836+ BQAwgYgxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJNQTEPMA0GA1UEBwwGTG93ZWxs
837+ MR8wHQYDVQQKDBZCaXJjaCBTdHJlZXQgQ29tcHV0aW5nMRYwFAYDVQQDDA1Kb2hu
838+ IE11bGxpZ2FuMSIwIAYJKoZIhvcNAQkBFhNqb2hubUBhc3luY2hyb25vLnVzMB4X
839+ DTI1MDYzMDE5MzAwM1oXDTI2MDcyNDE5MzAwM1owbjELMAkGA1UEBhMCVVMxCzAJ
840+ BgNVBAgMAk1BMQ8wDQYDVQQHDAZMb3dlbGwxHzAdBgNVBAoMFkJpcmNoIFN0cmVl
841+ dCBDb21wdXRpbmcxIDAeBgNVBAMMF0ROUzpjZXBoMC5jeC5mZG9wZW4ubmV0MIIC
842+ IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEApZYqA73a8ojX7QsCJHiXh0J2
843+ KKEqDU6k0Yjoie9raYCP/aaiJpffSjhKl1rYuIqjBUG5D0tdT3sRw3m96Nw6gkhM
844+ 5J8r02muQpJqmzPmfAn75IVjRkJ9OsHyS1Mf9GADTfv3pMBkwqqrGb8NxWQXeS4s
845+ PLPBv8SI4ozFNwwlEvZ0kesI4Qf0VRZ1ieSzAArjDWWFX8kURMt6UzN8opnxGvzT
846+ cfY4J0iKCYBK6Vqmf/OrMg3IjDojKaQqBlMPAQURyiYeF1hfDrcqGQC6S4Iz5mDt
847+ ZsMywFQFlEhkWkhJdMMkY4bqvn01BKXl3WY0HY5pPslRWWfj4aQeBb8DFH+rFeTf
848+ I/S02ECE/SKc+O7JJa23HtzJspiaK/MV6XQUDDWYdFQEfLhQb3y3RuYJ7C0WZDMc
849+ EmJHuB1D0/RS5xWiukTyRbOFf0Dbzn07PPUycE5BaCJ/ekwpMBvYQ6uCZq19CRAE
850+ v5j7oyC1+rjOCKpTBPGCFWbODJmf5LrfcZLX/VtR+vu3a28OKmbxvdQ3uzLPwjFx
851+ szzsJRn4URyI5hxl3K0w5Yptd/mvdnSeQTnX9TmMFE/G+EdlGxZtc695mOvWX6gK
852+ ezwSqwtxVAZ18x/we6NZUkeuaC4+Xec8HoowHYmfRUH1P69ZXAuKKSIZizuvDYIF
853+ tfcDeDY6s0wp3SKQ1bUCAwEAAaOBkDCBjTAJBgNVHRMEAjAAMEAGA1UdEQQ5MDeC
854+ E2NlcGgwLmN4LmZkb3Blbi5uZXSCGnJjLnNtYi5jZXBoMC5jeC5mZG9wZW4ubmV0
855+ hwTAqEzIMB0GA1UdDgQWBBR9bOCw+6pMkeS1HnAuCFhmoM7NPzAfBgNVHSMEGDAW
856+ gBRsCQk9OUjWypZgtyH+5LxzZ4eBJDANBgkqhkiG9w0BAQ0FAAOCAgEAF6u76+6C
857+ JkQEqBSYU09JQT8JDWX3AUZDXoCIpv2F1UD26ueAIaYD1dkpKDFg0UOOBwC7TiR9
858+ uf210HtY5ic++Bm5xavhRk65FGwypv65SqjfehqTiRU+b0my0LG2OaAVrUcKWdbn
859+ ZvwiBr1I7Wyn0MV1Ko7sqZh0j7Y4kPXCa2D8QG1inr9YBQQpid7CUwNeS5eYAVbP
860+ gI4zTYKKvJMYPr4lTqsweCDOpctC7fwVb43XGTRVhVXQdOux9n5emROx/Ok0d2xX
861+ mi5rlUfMxlrWjs7KK336x8z31i3w+1xc1ESaF0eP1byikvpbYBN1dEYahilMaSVl
862+ 3IpDYCwCFMU+ZZUZdqVyQQL+lTxqsc2orzzFgfv594hkEdYNlJ/z/f1b8idYk3g1
863+ WTrixgd+KYcHoCCS8pHFVs8lankBqQGMckZmIyzfP7RxY43j6XTV+4791O4o0waZ
864+ I5AwhUmgJj7G2Mp1jacMlHtZPqC0iDlci5fh6KpzVjPzrqA2sIN+9yJAlX8teJnC
865+ adKnxoY+AbqwLLTHfGx/W0W8jUxmea0eYufgUqxoQv5qdREafcuchGM36bKukVYb
866+ L3pqleYyvguwxxcc2MJvXjgAiZ5EsNJ2TCr4Mt0mZP406BhEQxfvpBSdRXTiHGJ/
867+ KNDwOknnnEhdXshW5M8G8ZhkahG8YABHTBw=
868+ -----END CERTIFICATE-----
869+ """
870+
871+
872+ def test_tls_credential (tmodule ):
873+ _example_cfg_1 (tmodule )
874+
875+ txt = json .dumps (
876+ {
877+ 'resource_type' : 'ceph.smb.tls.credential' ,
878+ 'tls_credential_id' : 'tc1' ,
879+ 'intent' : 'present' ,
880+ 'credential_type' : 'cert' ,
881+ 'value' : cert1 ,
882+ }
883+ )
884+
885+ rg = tmodule .apply_resources (txt )
886+ assert rg .success , rg .to_simplified ()
887+ ts = rg .to_simplified ()
888+ assert len (ts ['results' ]) == 1
889+ r = ts ['results' ][0 ]['resource' ]
890+ assert r ['resource_type' ] == 'ceph.smb.tls.credential'
891+ out = tmodule .show ()
892+ res = out .get ('resources' )
893+ assert res
894+ assert len (res ) == 5
895+ clusters = [r for r in res if r ['resource_type' ] == 'ceph.smb.cluster' ]
896+ assert len (clusters ) == 1
897+ shares = [r for r in res if r ['resource_type' ] == 'ceph.smb.share' ]
898+ assert len (shares ) == 2
899+ jauths = [r for r in res if r ['resource_type' ] == 'ceph.smb.join.auth' ]
900+ assert len (jauths ) == 1
901+ tcs = [r for r in res if r ['resource_type' ] == 'ceph.smb.tls.credential' ]
902+ assert len (tcs ) == 1
903+ assert tcs [0 ]['credential_type' ] == 'cert'
904+ assert tcs [0 ]['value' ] == cert1
905+
906+
907+ def test_tls_credential_yaml_show (tmodule ):
908+ _example_cfg_1 (tmodule )
909+
910+ txt = json .dumps (
911+ {
912+ 'resource_type' : 'ceph.smb.tls.credential' ,
913+ 'tls_credential_id' : 'tc1' ,
914+ 'intent' : 'present' ,
915+ 'credential_type' : 'cert' ,
916+ 'value' : cert1 ,
917+ }
918+ )
919+
920+ rg = tmodule .apply_resources (txt )
921+ assert rg .success , rg .to_simplified ()
922+ ts = rg .to_simplified ()
923+ assert len (ts ['results' ]) == 1
924+ r = ts ['results' ][0 ]['resource' ]
925+ assert r ['resource_type' ] == 'ceph.smb.tls.credential'
926+ res , body , status = tmodule .show .command (
927+ ['ceph.smb.tls.credential' ], format = 'yaml'
928+ )
929+ assert res == 0
930+ body = body .strip ()
931+ assert 'value: |' in body
0 commit comments