github.com/argoproj/argo-cd/v2@v2.10.9/reposerver/apiclient/clientset_test.go (about) 1 package apiclient_test 2 3 import ( 4 "testing" 5 6 "github.com/argoproj/argo-cd/v2/reposerver/apiclient" 7 "github.com/argoproj/argo-cd/v2/reposerver/apiclient/mocks" 8 "github.com/stretchr/testify/assert" 9 ) 10 11 func TestNewRepoServerClient_CorrectClientReturned(t *testing.T) { 12 13 mockClientset := &mocks.Clientset{ 14 RepoServerServiceClient: &mocks.RepoServerServiceClient{}, 15 } 16 17 closer, client, err := mockClientset.NewRepoServerClient() 18 19 assert.NoError(t, err) 20 assert.NotNil(t, closer) 21 assert.NotNil(t, client) 22 assert.Equal(t, mockClientset.RepoServerServiceClient, client) 23 } 24 25 func TestNewRepoServerClientset_InvalidInput(t *testing.T) { 26 // Call the function with invalid inputs 27 invalidClientset := apiclient.NewRepoServerClientset("", -1, apiclient.TLSConfiguration{}) 28 29 assert.NotNil(t, invalidClientset) 30 assert.Implements(t, (*apiclient.Clientset)(nil), invalidClientset) 31 } 32 33 func TestNewRepoServerClientset_SuccessfulConnection(t *testing.T) { 34 // Call the function with valid inputs 35 clientset := apiclient.NewRepoServerClientset("localhost:8080", 1, apiclient.TLSConfiguration{}) 36 37 assert.NotNil(t, clientset) 38 assert.Implements(t, (*apiclient.Clientset)(nil), clientset) 39 } 40 41 func TestNewRepoServerClientset_SuccessfulConnectionWithTLS(t *testing.T) { 42 // Call the function with valid inputs 43 clientset := apiclient.NewRepoServerClientset("localhost:8080", 1, apiclient.TLSConfiguration{ 44 DisableTLS: false, 45 StrictValidation: true, 46 Certificates: nil, 47 }) 48 49 assert.NotNil(t, clientset) 50 assert.Implements(t, (*apiclient.Clientset)(nil), clientset) 51 } 52 53 func TestNewConnection_TLSWithStrictValidation(t *testing.T) { 54 tlsConfig := apiclient.TLSConfiguration{ 55 DisableTLS: false, 56 StrictValidation: true, 57 Certificates: nil, 58 } 59 60 conn, err := apiclient.NewConnection("example.com:443", 10, &tlsConfig) 61 62 assert.NoError(t, err) 63 assert.NotNil(t, conn) 64 } 65 66 func TestNewConnection_TLSWithStrictValidationAndCertificates(t *testing.T) { 67 tlsConfig := apiclient.TLSConfiguration{ 68 DisableTLS: false, 69 StrictValidation: true, 70 Certificates: nil, 71 } 72 73 conn, err := apiclient.NewConnection("example.com:443", 10, &tlsConfig) 74 75 assert.NoError(t, err) 76 assert.NotNil(t, conn) 77 } 78 79 func TestNewConnection_InsecureConnection(t *testing.T) { 80 // Create a TLS configuration with TLS disabled 81 tlsConfig := apiclient.TLSConfiguration{ 82 DisableTLS: true, 83 StrictValidation: false, 84 Certificates: nil, 85 } 86 87 conn, err := apiclient.NewConnection("example.com:80", 10, &tlsConfig) 88 89 assert.NoError(t, err) 90 assert.NotNil(t, conn) 91 }