59 lines
991 B
Go
Executable File
59 lines
991 B
Go
Executable File
package rss
|
|
|
|
import (
|
|
"bytes"
|
|
"local/rssmon3/config"
|
|
"local/rssmon3/monitor"
|
|
"log"
|
|
"os"
|
|
"testing"
|
|
)
|
|
|
|
func initRSS() {
|
|
initRSSFeed()
|
|
}
|
|
|
|
func TestRSSNewRunUpdate(t *testing.T) {
|
|
initRSS()
|
|
|
|
rss := New(nil)
|
|
|
|
config.Values().Can()
|
|
if err := rss.Run(); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
s := mockRSS()
|
|
defer s.Close()
|
|
|
|
f := newFeed("key")
|
|
f.TitleFilter = "500"
|
|
f.ContentFilter = "b"
|
|
f.Tags = []string{"c"}
|
|
f.URL = s.URL
|
|
|
|
if err := f.save(); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
for i := 0; i < 2; i++ {
|
|
log.SetOutput(bytes.NewBuffer(nil))
|
|
defer log.SetOutput(os.Stderr)
|
|
if err := rss.update(&monitor.Item{Key: f.Key}); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
log.SetOutput(os.Stderr)
|
|
|
|
keys, err := config.Values().DB.List([]string{nsItems, f.Key})
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
if len(keys) != 1 {
|
|
t.Fatal(keys)
|
|
}
|
|
if keys[0] != "2018-07-10-19-00:https://roosterteeth.com/episode/rooster-teeth-podcast-2018-rooster-teeth-podcast-500" {
|
|
t.Fatal(keys[0])
|
|
}
|
|
}
|
|
}
|