Add seedList module for URL initialization, comprehensive SQL utilities for database analysis, and update project configuration.
68 lines
1.3 KiB
Go
68 lines
1.3 KiB
Go
package seedList
|
|
|
|
import (
|
|
"os"
|
|
"testing"
|
|
)
|
|
|
|
func TestLoadSeedlist(t *testing.T) {
|
|
// Create a temporary test file
|
|
content := `# Test seed URLs
|
|
gemini://example.com/
|
|
gemini://test.com/
|
|
|
|
# Another comment
|
|
gemini://demo.org/`
|
|
|
|
tmpFile, err := os.CreateTemp("", "seed_urls_test_*.txt")
|
|
if err != nil {
|
|
t.Fatalf("Failed to create temp file: %v", err)
|
|
}
|
|
defer os.Remove(tmpFile.Name())
|
|
|
|
if _, err := tmpFile.WriteString(content); err != nil {
|
|
t.Fatalf("Failed to write to temp file: %v", err)
|
|
}
|
|
tmpFile.Close()
|
|
|
|
// Reset global variable for test
|
|
seedlist = nil
|
|
|
|
// Test loading
|
|
err = loadSeedlist(tmpFile.Name())
|
|
if err != nil {
|
|
t.Fatalf("Failed to load seedlist: %v", err)
|
|
}
|
|
|
|
// Verify content
|
|
expected := []string{
|
|
"gemini://example.com/",
|
|
"gemini://test.com/",
|
|
"gemini://demo.org/",
|
|
}
|
|
|
|
urls := GetSeedURLs()
|
|
if len(urls) != len(expected) {
|
|
t.Errorf("Expected %d URLs, got %d", len(expected), len(urls))
|
|
}
|
|
|
|
for i, url := range urls {
|
|
if url != expected[i] {
|
|
t.Errorf("Expected URL %d to be %s, got %s", i, expected[i], url)
|
|
}
|
|
}
|
|
}
|
|
|
|
func TestGetSeedURLsEmptyList(t *testing.T) {
|
|
// Reset global variable
|
|
originalSeedlist := seedlist
|
|
defer func() { seedlist = originalSeedlist }()
|
|
|
|
seedlist = nil
|
|
|
|
urls := GetSeedURLs()
|
|
if len(urls) != 0 {
|
|
t.Errorf("Expected empty list, got %d URLs", len(urls))
|
|
}
|
|
}
|