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  }