github.com/datreeio/datree@v1.9.22-rc/pkg/networkValidator/validator_test.go (about)

     1  package networkValidator
     2  
     3  import (
     4  	"errors"
     5  	"testing"
     6  
     7  	"github.com/stretchr/testify/assert"
     8  )
     9  
    10  func TestNetworkValidatorNetworkError(t *testing.T) {
    11  	validator := NewNetworkValidator()
    12  
    13  	err := test_identifyNetworkError_network_error(validator, "fail")
    14  	isLocalMode := validator.IsLocalMode()
    15  	assert.NotNil(t, err)
    16  	assert.Equal(t, false, isLocalMode)
    17  
    18  	err = test_identifyNetworkError_network_error(validator, "local")
    19  	isLocalMode = validator.IsLocalMode()
    20  	assert.Equal(t, nil, err)
    21  	assert.Equal(t, true, isLocalMode)
    22  
    23  	err = test_identifyNoInternet_noSuchHost_network_error(validator, "fail")
    24  	isLocalMode = validator.IsLocalMode()
    25  	assert.NotNil(t, err)
    26  	assert.Equal(t, false, isLocalMode)
    27  
    28  	err = test_identifyNoInternet_noSuchHost_network_error(validator, "local")
    29  	isLocalMode = validator.IsLocalMode()
    30  	assert.Equal(t, nil, err)
    31  	assert.Equal(t, true, isLocalMode)
    32  
    33  	err = test_identifyNoInternet_connectionRefused_network_error(validator, "fail")
    34  	isLocalMode = validator.IsLocalMode()
    35  	assert.NotNil(t, err)
    36  	assert.Equal(t, false, isLocalMode)
    37  
    38  	err = test_identifyNoInternet_connectionRefused_network_error(validator, "local")
    39  	isLocalMode = validator.IsLocalMode()
    40  	assert.Equal(t, nil, err)
    41  	assert.Equal(t, true, isLocalMode)
    42  
    43  }
    44  
    45  func TestNetworkValidatorOtherError(t *testing.T) {
    46  	validator := NewNetworkValidator()
    47  
    48  	err := test_identifyNetworkError_other_error(validator, "fail")
    49  	isLocalMode := validator.IsLocalMode()
    50  	assert.Equal(t, nil, err)
    51  	assert.Equal(t, false, isLocalMode)
    52  
    53  	err = test_identifyNetworkError_other_error(validator, "local")
    54  	isLocalMode = validator.IsLocalMode()
    55  	assert.Equal(t, nil, err)
    56  	assert.Equal(t, true, isLocalMode)
    57  
    58  }
    59  
    60  func test_identifyNetworkError_network_error(validator *NetworkValidator, offlineMode string) error {
    61  	validator.SetOfflineMode(offlineMode)
    62  	return validator.IdentifyNetworkError(errors.New("connection refused"))
    63  }
    64  
    65  func test_identifyNoInternet_noSuchHost_network_error(validator *NetworkValidator, offlineMode string) error {
    66  	validator.SetOfflineMode(offlineMode)
    67  	return validator.IdentifyNetworkError(errors.New("no such host"))
    68  }
    69  
    70  func test_identifyNoInternet_connectionRefused_network_error(validator *NetworkValidator, offlineMode string) error {
    71  	validator.SetOfflineMode(offlineMode)
    72  	return validator.IdentifyNetworkError(errors.New("tcp dial connection refused"))
    73  }
    74  
    75  func test_identifyNetworkError_other_error(validator *NetworkValidator, offlineMode string) error {
    76  	validator.SetOfflineMode(offlineMode)
    77  	return validator.IdentifyNetworkError(errors.New("mysql server is away"))
    78  }