From 43375d0e5eb06930699374c3809a88339fef5609 Mon Sep 17 00:00:00 2001 From: Kegan Dougal Date: Mon, 14 Sep 2020 15:59:22 +0100 Subject: [PATCH] Don't rely on testify for basic assertions --- go.mod | 1 - internal/sqlutil/sqlutil_test.go | 51 ++++++++++++++++++++++---------- 2 files changed, 35 insertions(+), 17 deletions(-) diff --git a/go.mod b/go.mod index e931eecdc..6b1c03b5b 100644 --- a/go.mod +++ b/go.mod @@ -33,7 +33,6 @@ require ( github.com/pressly/goose v2.7.0-rc5+incompatible github.com/prometheus/client_golang v1.7.1 github.com/sirupsen/logrus v1.6.0 - github.com/stretchr/testify v1.6.1 github.com/tidwall/gjson v1.6.1 github.com/tidwall/sjson v1.1.1 github.com/uber/jaeger-client-go v2.25.0+incompatible diff --git a/internal/sqlutil/sqlutil_test.go b/internal/sqlutil/sqlutil_test.go index 1191d2b7e..880f6a898 100644 --- a/internal/sqlutil/sqlutil_test.go +++ b/internal/sqlutil/sqlutil_test.go @@ -3,15 +3,15 @@ package sqlutil import ( "context" "database/sql" + "reflect" "testing" sqlmock "github.com/DATA-DOG/go-sqlmock" - "github.com/stretchr/testify/assert" ) func TestShouldReturnCorrectAmountOfResulstIfFewerVariablesThanLimit(t *testing.T) { db, mock, err := sqlmock.New() - assert.NoError(t, err) + assertNoError(t, err, "Failed to make DB") limit := uint(4) r := mock.NewRows([]string{"id"}). @@ -33,18 +33,20 @@ func TestShouldReturnCorrectAmountOfResulstIfFewerVariablesThanLimit(t *testing. for rows.Next() { var id int err = rows.Scan(&id) - assert.NoError(t, err, "rows.Scan returned an error") + assertNoError(t, err, "rows.Scan returned an error") result = append(result, id) } return nil }, iKeyIDs, limit) - assert.NoError(t, err, "Call returned an error") - assert.Len(t, result, len(v), "Result should be 3 long") + assertNoError(t, err, "Call returned an error") + if len(result) != len(v) { + t.Fatalf("Result should be 3 long") + } } func TestShouldReturnCorrectAmountOfResulstIfEqualVariablesAsLimit(t *testing.T) { db, mock, err := sqlmock.New() - assert.NoError(t, err) + assertNoError(t, err, "Failed to make DB") limit := uint(4) r := mock.NewRows([]string{"id"}). @@ -67,18 +69,20 @@ func TestShouldReturnCorrectAmountOfResulstIfEqualVariablesAsLimit(t *testing.T) for rows.Next() { var id int err = rows.Scan(&id) - assert.NoError(t, err, "rows.Scan returned an error") + assertNoError(t, err, "rows.Scan returned an error") result = append(result, id) } return nil }, iKeyIDs, limit) - assert.NoError(t, err, "Call returned an error") - assert.Len(t, result, len(v), "Result should be 3 long") + assertNoError(t, err, "Call returned an error") + if len(result) != len(v) { + t.Fatalf("Result should be 4 long") + } } func TestShouldReturnCorrectAmountOfResultsIfMoreVariablesThanLimit(t *testing.T) { db, mock, err := sqlmock.New() - assert.NoError(t, err) + assertNoError(t, err, "Failed to make DB") limit := uint(4) r1 := mock.NewRows([]string{"id"}). @@ -105,21 +109,26 @@ func TestShouldReturnCorrectAmountOfResultsIfMoreVariablesThanLimit(t *testing.T for rows.Next() { var id int err = rows.Scan(&id) - assert.NoError(t, err, "rows.Scan returned an error") + assertNoError(t, err, "rows.Scan returned an error") result = append(result, id) } return nil }, iKeyIDs, limit) - assert.NoError(t, err, "Call returned an error") - assert.Equal(t, v, result, "Result is not as expected") - assert.Len(t, result, len(v), "Result should be 3 long") + assertNoError(t, err, "Call returned an error") + if len(result) != len(v) { + t.Fatalf("Result should be 5 long") + } + if !reflect.DeepEqual(v, result) { + t.Fatalf("Result is not as expected: got %v want %v", v, result) + } } func TestShouldREturnErrorIfRowsScanReturnsError(t *testing.T) { db, mock, err := sqlmock.New() - assert.NoError(t, err) + assertNoError(t, err, "Failed to make DB") limit := uint(4) + // adding a string ID should result in rows.Scan returning an error r := mock.NewRows([]string{"id"}). AddRow("hej"). AddRow(2). @@ -146,5 +155,15 @@ func TestShouldREturnErrorIfRowsScanReturnsError(t *testing.T) { } return nil }, iKeyIDs, limit) - assert.Error(t, err, "Call did not return an error") + if err == nil { + t.Fatalf("Call did not return an error") + } +} + +func assertNoError(t *testing.T, err error, msg string) { + t.Helper() + if err == nil { + return + } + t.Fatalf(msg) }