You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
1.1 KiB
44 lines
1.1 KiB
package database |
|
|
|
import ( |
|
"testing" |
|
) |
|
|
|
func TestGetSerialById(t *testing.T) { |
|
// Use shared database (skips in short mode) |
|
db, _ := GetSharedDB(t) |
|
savedEvents := GetSharedEvents(t) |
|
|
|
if len(savedEvents) < 4 { |
|
t.Fatalf("Need at least 4 saved events, got %d", len(savedEvents)) |
|
} |
|
testEvent := savedEvents[3] |
|
|
|
// Get the serial by ID |
|
serial, err := db.GetSerialById(testEvent.ID) |
|
if err != nil { |
|
t.Fatalf("Failed to get serial by ID: %v", err) |
|
} |
|
|
|
// Verify the serial is not nil |
|
if serial == nil { |
|
t.Fatal("Expected serial to be non-nil, but got nil") |
|
} |
|
|
|
// Test with a non-existent ID |
|
nonExistentId := make([]byte, len(testEvent.ID)) |
|
// Ensure it's different from any real ID |
|
for i := range nonExistentId { |
|
nonExistentId[i] = ^testEvent.ID[i] |
|
} |
|
|
|
serial, err = db.GetSerialById(nonExistentId) |
|
if err == nil { |
|
t.Fatalf("Expected error for non-existent ID, but got none") |
|
} |
|
|
|
// For non-existent Ids, the function should return nil serial and an error |
|
if serial != nil { |
|
t.Fatalf("Expected nil serial for non-existent ID, but got: %v", serial) |
|
} |
|
}
|
|
|