github.com/ouraigua/jenkins-library@v0.0.0-20231028010029-fbeaf2f3aa9b/pkg/java/keytool_test.go (about) 1 //go:build unit 2 // +build unit 3 4 package java 5 6 import ( 7 "os" 8 "path/filepath" 9 "strings" 10 "testing" 11 12 piperMock "github.com/SAP/jenkins-library/pkg/mock" 13 "github.com/stretchr/testify/assert" 14 "github.com/stretchr/testify/mock" 15 "github.com/stretchr/testify/require" 16 ) 17 18 func TestGetDefaultTruststorePath(t *testing.T) { 19 // prepare 20 os.Setenv("JAVA_HOME", mock.Anything) 21 require.Equal(t, mock.Anything, os.Getenv("JAVA_HOME")) 22 // test 23 result := GetDefaultTruststorePath() 24 // assert 25 assert.Equal(t, "lib/security/cacerts", defaultTruststorePath) 26 assert.Equal(t, filepath.Join(mock.Anything, defaultTruststorePath), result) 27 // restore 28 os.Unsetenv("JAVA_HOME") 29 } 30 31 func TestGetMavenOpts(t *testing.T) { 32 // test 33 result := GetMavenOpts(mock.Anything) 34 // assert 35 assert.Equal(t, "changeit", DefaultTruststorePassword) 36 assert.Equal(t, "-Djavax.net.ssl.trustStore="+mock.Anything+" -Djavax.net.ssl.trustStorePassword="+DefaultTruststorePassword, result) 37 } 38 39 func TestImportCert(t *testing.T) { 40 // prepare 41 secretstorePath := filepath.Join(mock.Anything, mock.Anything) 42 mockRunner := &piperMock.ExecMockRunner{} 43 // test 44 err := ImportCert(mockRunner, mock.Anything, secretstorePath) 45 // assert 46 assert.NoError(t, err) 47 assert.Len(t, mockRunner.Calls, 1) 48 for _, call := range mockRunner.Calls { 49 assert.Equal(t, "keytool", call.Exec) 50 assert.Equal(t, strings.Join(call.Params, " "), "-import -noprompt -storepass changeit -keystore mock.Anything -file "+secretstorePath+" -alias mock.Anything") 51 } 52 } 53 54 func TestImportTruststore(t *testing.T) { 55 // prepare 56 srcSecretstorePath := filepath.Join(mock.Anything, mock.Anything) 57 destSecretstorePath := filepath.Join(mock.Anything, mock.Anything) 58 mockRunner := &piperMock.ExecMockRunner{} 59 // test 60 err := ImportTruststore(mockRunner, destSecretstorePath, srcSecretstorePath) 61 // assert 62 assert.NoError(t, err) 63 assert.Len(t, mockRunner.Calls, 1) 64 for _, call := range mockRunner.Calls { 65 assert.Equal(t, "keytool", call.Exec) 66 assert.Equal(t, strings.Join(call.Params, " "), "-importkeystore -noprompt -srckeystore "+srcSecretstorePath+" -srcstorepass changeit -destkeystore "+destSecretstorePath+" -deststorepass changeit") 67 } 68 }