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 }