Files
tele-recv/storage/store_test.go
T

98 lines
1.9 KiB
Go
Raw Normal View History

package storage
import (
"os"
"testing"
)
func TestStore_InsertAndCount(t *testing.T) {
dbFile := "test_telegram.db"
defer os.Remove(dbFile)
s, err := New(dbFile, true)
if err != nil {
t.Fatalf("New() failed: %v", err)
}
defer s.Close()
if err := s.Insert("ZCZC TEST NNNN"); err != nil {
t.Fatalf("Insert() failed: %v", err)
}
count, err := s.CountUnprocessed()
if err != nil {
t.Fatalf("CountUnprocessed() failed: %v", err)
}
if count != 1 {
t.Errorf("expected 1 unprocessed, got %d", count)
}
}
func TestStore_LoadUnprocessed(t *testing.T) {
dbFile := "test_load.db"
defer os.Remove(dbFile)
s, err := New(dbFile, true)
if err != nil {
t.Fatalf("New() failed: %v", err)
}
defer s.Close()
s.Insert("ZCZC MSG1 NNNN")
s.Insert("ZCZC MSG2 NNNN")
telegrams, err := s.LoadUnprocessed()
if err != nil {
t.Fatalf("LoadUnprocessed() failed: %v", err)
}
if len(telegrams) != 2 {
t.Errorf("expected 2 telegrams, got %d", len(telegrams))
}
}
func TestStore_MarkProcessed(t *testing.T) {
dbFile := "test_mark.db"
defer os.Remove(dbFile)
s, err := New(dbFile, true)
if err != nil {
t.Fatalf("New() failed: %v", err)
}
defer s.Close()
s.Insert("ZCZC TEST NNNN")
telegrams, _ := s.LoadUnprocessed()
if len(telegrams) != 1 {
t.Fatalf("expected 1 telegram, got %d", len(telegrams))
}
if err := s.MarkProcessed(telegrams[0].ID); err != nil {
t.Fatalf("MarkProcessed() failed: %v", err)
}
count, _ := s.CountUnprocessed()
if count != 0 {
t.Errorf("expected 0 unprocessed after marking, got %d", count)
}
}
func TestStore_Empty(t *testing.T) {
dbFile := "test_empty.db"
defer os.Remove(dbFile)
s, err := New(dbFile, true)
if err != nil {
t.Fatalf("New() failed: %v", err)
}
defer s.Close()
telegrams, err := s.LoadUnprocessed()
if err != nil {
t.Fatalf("LoadUnprocessed() failed: %v", err)
}
if len(telegrams) != 0 {
t.Errorf("expected 0 telegrams, got %d", len(telegrams))
}
}