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  }