github.com/snowflakedb/gosnowflake@v1.9.0/errors_test.go (about) 1 // Copyright (c) 2017-2022 Snowflake Computing Inc. All rights reserved. 2 3 package gosnowflake 4 5 import ( 6 "strings" 7 "testing" 8 ) 9 10 func TestErrorMessage(t *testing.T) { 11 e := &SnowflakeError{ 12 Number: 1, 13 Message: "test message", 14 } 15 if !strings.Contains(e.Error(), "000001") { 16 t.Errorf("failed to format error. %v", e) 17 } 18 if !strings.Contains(e.Error(), "test message") { 19 t.Errorf("failed to format error. %v", e) 20 } 21 e = &SnowflakeError{ 22 Number: 1, 23 Message: "test message: %v, %v", 24 MessageArgs: []interface{}{"C1", "C2"}, 25 } 26 if !strings.Contains(e.Error(), "000001") { 27 t.Errorf("failed to format error. %v", e) 28 } 29 if !strings.Contains(e.Error(), "test message") { 30 t.Errorf("failed to format error. %v", e) 31 } 32 if !strings.Contains(e.Error(), "C1") { 33 t.Errorf("failed to format error. %v", e) 34 } 35 e = &SnowflakeError{ 36 Number: 1, 37 Message: "test message: %v, %v", 38 MessageArgs: []interface{}{"C1", "C2"}, 39 SQLState: "01112", 40 } 41 if !strings.Contains(e.Error(), "000001") { 42 t.Errorf("failed to format error. %v", e) 43 } 44 if !strings.Contains(e.Error(), "test message") { 45 t.Errorf("failed to format error. %v", e) 46 } 47 if !strings.Contains(e.Error(), "C1") { 48 t.Errorf("failed to format error. %v", e) 49 } 50 if !strings.Contains(e.Error(), "01112") { 51 t.Errorf("failed to format error. %v", e) 52 } 53 e = &SnowflakeError{ 54 Number: 1, 55 Message: "test message: %v, %v", 56 MessageArgs: []interface{}{"C1", "C2"}, 57 SQLState: "01112", 58 QueryID: "abcdef-abcdef-abcdef", 59 } 60 if !strings.Contains(e.Error(), "000001") { 61 t.Errorf("failed to format error. %v", e) 62 } 63 if !strings.Contains(e.Error(), "test message") { 64 t.Errorf("failed to format error. %v", e) 65 } 66 if !strings.Contains(e.Error(), "C1") { 67 t.Errorf("failed to format error. %v", e) 68 } 69 if !strings.Contains(e.Error(), "01112") { 70 t.Errorf("failed to format error. %v", e) 71 } 72 if strings.Contains(e.Error(), "abcdef-abcdef-abcdef") { 73 // no quid 74 t.Errorf("failed to format error. %v", e) 75 } 76 e.IncludeQueryID = true 77 if !strings.Contains(e.Error(), "abcdef-abcdef-abcdef") { 78 // no quid 79 t.Errorf("failed to format error. %v", e) 80 } 81 }