Skip to content

Commit 3d7a06c

Browse files
authored
SNOW-1759523 Fix 404 for test accounts (#1227)
1 parent b299730 commit 3d7a06c

File tree

2 files changed

+18
-14
lines changed

2 files changed

+18
-14
lines changed

driver_ocsp_test.go

+16-12
Original file line numberDiff line numberDiff line change
@@ -87,11 +87,15 @@ func TestOCSPFailOpen(t *testing.T) {
8787
if !ok {
8888
t.Fatalf("failed to extract error SnowflakeError: %v", err)
8989
}
90-
if driverErr.Number != ErrCodeFailedToConnect {
90+
if isFailToConnectOrAuthErr(driverErr) {
9191
t.Fatalf("should failed to connect %v", err)
9292
}
9393
}
9494

95+
func isFailToConnectOrAuthErr(driverErr *SnowflakeError) bool {
96+
return driverErr.Number != ErrCodeFailedToConnect && driverErr.Number != ErrFailedToAuth
97+
}
98+
9599
// TestOCSPFailOpenWithoutFileCache ensures no file cache is used.
96100
func TestOCSPFailOpenWithoutFileCache(t *testing.T) {
97101
cleanup()
@@ -128,7 +132,7 @@ func TestOCSPFailOpenWithoutFileCache(t *testing.T) {
128132
if !ok {
129133
t.Fatalf("failed to extract error SnowflakeError: %v", err)
130134
}
131-
if driverErr.Number != ErrCodeFailedToConnect {
135+
if isFailToConnectOrAuthErr(driverErr) {
132136
t.Fatalf("should failed to connect %v", err)
133137
}
134138
}
@@ -170,7 +174,7 @@ func TestOCSPFailOpenValidityError(t *testing.T) {
170174
if !ok {
171175
t.Fatalf("failed to extract error SnowflakeError: %v", err)
172176
}
173-
if driverErr.Number != ErrCodeFailedToConnect {
177+
if isFailToConnectOrAuthErr(driverErr) {
174178
t.Fatalf("should failed to connect %v", err)
175179
}
176180
}
@@ -259,7 +263,7 @@ func TestOCSPFailOpenUnknownStatus(t *testing.T) {
259263
if !ok {
260264
t.Fatalf("failed to extract error SnowflakeError: %v", err)
261265
}
262-
if driverErr.Number != ErrCodeFailedToConnect {
266+
if isFailToConnectOrAuthErr(driverErr) {
263267
t.Fatalf("should failed to connect %v", err)
264268
}
265269
}
@@ -444,7 +448,7 @@ func TestOCSPFailOpenCacheServerTimeout(t *testing.T) {
444448
if !ok {
445449
t.Fatalf("failed to extract error SnowflakeError: %v", err)
446450
}
447-
if driverErr.Number != ErrCodeFailedToConnect {
451+
if isFailToConnectOrAuthErr(driverErr) {
448452
t.Fatalf("should failed to connect %v", err)
449453
}
450454
}
@@ -493,7 +497,7 @@ func TestOCSPFailClosedCacheServerTimeout(t *testing.T) {
493497
if !ok {
494498
t.Fatalf("failed to extract error SnowflakeError: %v", err)
495499
}
496-
if driverErr.Number != ErrCodeFailedToConnect {
500+
if isFailToConnectOrAuthErr(driverErr) {
497501
t.Fatalf("should have failed to connect. err: %v", err)
498502
}
499503
// Go 1.18 and after rejects SHA-1 certificates, therefore a different error is returned (https://github.com/golang/go/issues/41682)
@@ -545,7 +549,7 @@ func TestOCSPFailOpenResponderTimeout(t *testing.T) {
545549
if !ok {
546550
t.Fatalf("failed to extract error SnowflakeError: %v", err)
547551
}
548-
if driverErr.Number != ErrCodeFailedToConnect {
552+
if isFailToConnectOrAuthErr(driverErr) {
549553
t.Fatalf("should failed to connect %v", err)
550554
}
551555
}
@@ -592,7 +596,7 @@ func TestOCSPFailClosedResponderTimeout(t *testing.T) {
592596
if !ok {
593597
t.Fatalf("failed to extract error URL Error: %v", urlErr.Err)
594598
}
595-
if !strings.Contains(urlErr0.Err.Error(), "Client.Timeout") {
599+
if !strings.Contains(urlErr0.Err.Error(), "Client.Timeout") && !strings.Contains(urlErr0.Err.Error(), "connection refused") {
596600
t.Fatalf("the root cause is not timeout: %v", urlErr0.Err)
597601
}
598602
}
@@ -634,7 +638,7 @@ func TestOCSPFailOpenResponder404(t *testing.T) {
634638
if !ok {
635639
t.Fatalf("failed to extract error SnowflakeError: %v", err)
636640
}
637-
if driverErr.Number != ErrCodeFailedToConnect {
641+
if isFailToConnectOrAuthErr(driverErr) {
638642
t.Fatalf("should failed to connect %v", err)
639643
}
640644
}
@@ -676,8 +680,8 @@ func TestOCSPFailClosedResponder404(t *testing.T) {
676680
if !ok {
677681
t.Fatalf("failed to extract error SnowflakeError: %v", err)
678682
}
679-
if !strings.Contains(urlErr.Err.Error(), "404 Not Found") {
680-
t.Fatalf("the root cause is not timeout: %v", urlErr.Err)
683+
if !strings.Contains(urlErr.Err.Error(), "404 Not Found") && !strings.Contains(urlErr.Err.Error(), "connection refused") {
684+
t.Fatalf("the root cause is not 404: %v", urlErr.Err)
681685
}
682686
}
683687

@@ -804,7 +808,7 @@ func TestOCSPFailOpenNoOCSPURL(t *testing.T) {
804808
if !ok {
805809
t.Fatalf("failed to extract error SnowflakeError: %v", err)
806810
}
807-
if driverErr.Number != ErrCodeFailedToConnect {
811+
if isFailToConnectOrAuthErr(driverErr) {
808812
t.Fatalf("should failed to connect %v", err)
809813
}
810814
}

driver_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -517,7 +517,7 @@ func TestBogusHostNameParameters(t *testing.T) {
517517
invalidDNS := fmt.Sprintf("%s:%s@%s", username, pass, "INVALID_HOST:1234")
518518
invalidHostErrorTests(invalidDNS, []string{"no such host", "verify account name is correct", "HTTP Status: 403", "Temporary failure in name resolution", "server misbehaving"}, t)
519519
invalidDNS = fmt.Sprintf("%s:%s@%s", username, pass, "INVALID_HOST")
520-
invalidHostErrorTests(invalidDNS, []string{"read: connection reset by peer", "EOF", "verify account name is correct", "HTTP Status: 403", "Temporary failure in name resolution", "server misbehaving"}, t)
520+
invalidHostErrorTests(invalidDNS, []string{"read: connection reset by peer", "EOF", "verify account name is correct", "HTTP Status: 403", "Temporary failure in name resolution", "server misbehaving", "failed to auth"}, t)
521521
}
522522

523523
func invalidHostErrorTests(invalidDNS string, mstr []string, t *testing.T) {
@@ -1715,7 +1715,7 @@ func TestPingInvalidHost(t *testing.T) {
17151715
if strings.Contains(err.Error(), "HTTP Status: 513. Hanging?") {
17161716
return
17171717
}
1718-
if driverErr, ok := err.(*SnowflakeError); !ok || ok && driverErr.Number != ErrCodeFailedToConnect {
1718+
if driverErr, ok := err.(*SnowflakeError); !ok || ok && isFailToConnectOrAuthErr(driverErr) {
17191719
// Failed to connect error
17201720
t.Fatalf("error didn't match")
17211721
}

0 commit comments

Comments
 (0)