From 764084f6e795ef6e9702eb79b26e8a90c6d84fdb Mon Sep 17 00:00:00 2001 From: Daniel Rocha <68558152+danroc@users.noreply.github.com> Date: Tue, 5 Nov 2024 20:31:22 +0100 Subject: [PATCH] test: add more database tests --- pkg/database/database_test.go | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/pkg/database/database_test.go b/pkg/database/database_test.go index af4b734..3c5fbad 100644 --- a/pkg/database/database_test.go +++ b/pkg/database/database_test.go @@ -1,6 +1,7 @@ package database_test import ( + "errors" "net" "strings" "testing" @@ -23,6 +24,12 @@ const ( // No CSV data csvData5 = "\n" + + // Invalid start IP + csvData6 = "invalid-ip,192.168.1.2,data1,data2\n" + + // Invalid end IP + csvData7 = "192.168.1.1,invalid-ip,data1,data2\n" ) func TestNewDatabase(t *testing.T) { @@ -36,6 +43,8 @@ func TestNewDatabase(t *testing.T) { {"Missing end IP", csvData3, true}, {"Missing data", csvData4, false}, {"No CSV data", csvData5, false}, + {"Invalid start IP", csvData6, true}, + {"Invalid end IP", csvData7, true}, } for _, test := range tests { @@ -50,6 +59,20 @@ func TestNewDatabase(t *testing.T) { } } +type errorReader struct{} + +func (r *errorReader) Read(p []byte) (n int, err error) { + return 0, errors.New("read error") +} + +func TestNewDatabaseReadErr(t *testing.T) { + reader := &errorReader{} + _, err := database.NewDatabase(reader) + if err == nil { + t.Fatalf("Expected an error but got nil") + } +} + func TestFind(t *testing.T) { reader := strings.NewReader(csvData1) db, err := database.NewDatabase(reader)