stub feeds http test

main
Bel LaPointe 2025-04-27 12:06:40 -06:00
parent a372df64a5
commit 1fed2d648f
1 changed files with 40 additions and 23 deletions

View File

@ -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")
} }