stub feeds http test
parent
a372df64a5
commit
1fed2d648f
|
|
@ -1,32 +1,49 @@
|
||||||
package feeds_test
|
package feeds_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"context"
|
||||||
|
"net/http"
|
||||||
|
"net/http/httptest"
|
||||||
"show-rss/src/feeds"
|
"show-rss/src/feeds"
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestFeed(t *testing.T) {
|
func TestFeedFetch(t *testing.T) {
|
||||||
t.Run("fetch", func(t *testing.T) {
|
ctx := context.Background()
|
||||||
created := time.Now().Add(-4 * time.Second)
|
|
||||||
feed := feeds.Feed{
|
s := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||||
Entry: feeds.Entry{
|
t.Logf("%s", r.URL.String())
|
||||||
ID: "id",
|
}))
|
||||||
Created: created,
|
t.Cleanup(s.Close)
|
||||||
Updated: created,
|
|
||||||
Deleted: time.Time{},
|
created := time.Now().Add(-4 * time.Second)
|
||||||
},
|
feed := feeds.Feed{
|
||||||
Version: feeds.Version{
|
Entry: feeds.Entry{
|
||||||
Created: created,
|
ID: "id",
|
||||||
URL: "url",
|
Created: created,
|
||||||
Cron: "* * * * *",
|
Updated: created,
|
||||||
Pattern: "matches",
|
Deleted: time.Time{},
|
||||||
},
|
},
|
||||||
Execution: feeds.Execution{
|
Version: feeds.Version{
|
||||||
Executed: created.Add(-2 * time.Second),
|
Created: created,
|
||||||
Version: created,
|
URL: s.URL,
|
||||||
},
|
Cron: "* * * * *",
|
||||||
}
|
Pattern: "matches",
|
||||||
_ = feed
|
},
|
||||||
})
|
Execution: feeds.Execution{
|
||||||
|
Executed: created.Add(-2 * time.Second),
|
||||||
|
Version: created,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
items, err := feed.Fetch(ctx)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("failed fetch: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(items) != 2 {
|
||||||
|
t.Fatalf("expected 2 items but got %+v", items)
|
||||||
|
}
|
||||||
|
t.Errorf("check items")
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue