Skip to content
Snippets Groups Projects
Commit 1f015d5d authored by Frédéric Guillot's avatar Frédéric Guillot
Browse files

Add integration tests for feeds

parent 29c5d820
No related branches found
No related tags found
No related merge requests found
......@@ -575,6 +575,202 @@ func TestCreateFeedWithInexistingCategory(t *testing.T) {
}
}
func TestUpdateFeed(t *testing.T) {
username := getRandomUsername()
client := miniflux.NewClient(testBaseURL, testAdminUsername, testAdminPassword)
_, err := client.CreateUser(username, testStandardPassword, false)
if err != nil {
t.Fatal(err)
}
client = miniflux.NewClient(testBaseURL, username, testStandardPassword)
categories, err := client.Categories()
if err != nil {
t.Fatal(err)
}
feedID, err := client.CreateFeed("https://miniflux.net/feed", categories[0].ID)
if err != nil {
t.Fatal(err)
}
if feedID == 0 {
t.Fatalf(`Invalid feed ID, got "%v"`, feedID)
}
feed, err := client.Feed(feedID)
if err != nil {
t.Fatal(err)
}
newTitle := "My new feed"
feed.Title = newTitle
feed, err = client.UpdateFeed(feed)
if err != nil {
t.Fatal(err)
}
if feed.Title != newTitle {
t.Errorf(`Wrong title, got "%v" instead of "%v"`, feed.Title, newTitle)
}
}
func TestDeleteFeed(t *testing.T) {
username := getRandomUsername()
client := miniflux.NewClient(testBaseURL, testAdminUsername, testAdminPassword)
_, err := client.CreateUser(username, testStandardPassword, false)
if err != nil {
t.Fatal(err)
}
client = miniflux.NewClient(testBaseURL, username, testStandardPassword)
categories, err := client.Categories()
if err != nil {
t.Fatal(err)
}
feedID, err := client.CreateFeed("https://miniflux.net/feed", categories[0].ID)
if err != nil {
t.Fatal(err)
}
err = client.DeleteFeed(feedID)
if err != nil {
t.Fatal(err)
}
}
func TestRefreshFeed(t *testing.T) {
username := getRandomUsername()
client := miniflux.NewClient(testBaseURL, testAdminUsername, testAdminPassword)
_, err := client.CreateUser(username, testStandardPassword, false)
if err != nil {
t.Fatal(err)
}
client = miniflux.NewClient(testBaseURL, username, testStandardPassword)
categories, err := client.Categories()
if err != nil {
t.Fatal(err)
}
feedID, err := client.CreateFeed("https://miniflux.net/feed", categories[0].ID)
if err != nil {
t.Fatal(err)
}
err = client.RefreshFeed(feedID)
if err != nil {
t.Fatal(err)
}
}
func TestGetFeed(t *testing.T) {
username := getRandomUsername()
client := miniflux.NewClient(testBaseURL, testAdminUsername, testAdminPassword)
_, err := client.CreateUser(username, testStandardPassword, false)
if err != nil {
t.Fatal(err)
}
client = miniflux.NewClient(testBaseURL, username, testStandardPassword)
categories, err := client.Categories()
if err != nil {
t.Fatal(err)
}
feedID, err := client.CreateFeed("https://miniflux.net/feed", categories[0].ID)
if err != nil {
t.Fatal(err)
}
feed, err := client.Feed(feedID)
if err != nil {
t.Fatal(err)
}
if feed.Title != "Miniflux" {
t.Fatalf(`Invalid feed title, got "%v" instead of "%v"`, feed.Title, "Miniflux")
}
if feed.SiteURL != "https://miniflux.net/" {
t.Fatalf(`Invalid site URL, got "%v" instead of "%v"`, feed.SiteURL, "https://miniflux.net/")
}
if feed.FeedURL != "https://miniflux.net/feed" {
t.Fatalf(`Invalid feed URL, got "%v" instead of "%v"`, feed.FeedURL, "https://miniflux.net/feed")
}
if feed.Category.ID != categories[0].ID {
t.Fatalf(`Invalid feed category ID, got "%v" instead of "%v"`, feed.Category.ID, categories[0].ID)
}
if feed.Category.UserID != categories[0].UserID {
t.Fatalf(`Invalid feed category user ID, got "%v" instead of "%v"`, feed.Category.UserID, categories[0].UserID)
}
if feed.Category.Title != categories[0].Title {
t.Fatalf(`Invalid feed category title, got "%v" instead of "%v"`, feed.Category.Title, categories[0].Title)
}
}
func TestGetFeeds(t *testing.T) {
username := getRandomUsername()
client := miniflux.NewClient(testBaseURL, testAdminUsername, testAdminPassword)
_, err := client.CreateUser(username, testStandardPassword, false)
if err != nil {
t.Fatal(err)
}
client = miniflux.NewClient(testBaseURL, username, testStandardPassword)
categories, err := client.Categories()
if err != nil {
t.Fatal(err)
}
feedID, err := client.CreateFeed("https://miniflux.net/feed", categories[0].ID)
if err != nil {
t.Fatal(err)
}
feeds, err := client.Feeds()
if err != nil {
t.Fatal(err)
}
if len(feeds) != 1 {
t.Fatalf(`Invalid number of feeds`)
}
if feeds[0].ID != feedID {
t.Fatalf(`Invalid feed ID, got "%v" instead of "%v"`, feeds[0].ID, feedID)
}
if feeds[0].Title != "Miniflux" {
t.Fatalf(`Invalid feed title, got "%v" instead of "%v"`, feeds[0].Title, "Miniflux")
}
if feeds[0].SiteURL != "https://miniflux.net/" {
t.Fatalf(`Invalid site URL, got "%v" instead of "%v"`, feeds[0].SiteURL, "https://miniflux.net/")
}
if feeds[0].FeedURL != "https://miniflux.net/feed" {
t.Fatalf(`Invalid feed URL, got "%v" instead of "%v"`, feeds[0].FeedURL, "https://miniflux.net/feed")
}
if feeds[0].Category.ID != categories[0].ID {
t.Fatalf(`Invalid feed category ID, got "%v" instead of "%v"`, feeds[0].Category.ID, categories[0].ID)
}
if feeds[0].Category.UserID != categories[0].UserID {
t.Fatalf(`Invalid feed category user ID, got "%v" instead of "%v"`, feeds[0].Category.UserID, categories[0].UserID)
}
if feeds[0].Category.Title != categories[0].Title {
t.Fatalf(`Invalid feed category title, got "%v" instead of "%v"`, feeds[0].Category.Title, categories[0].Title)
}
}
func getRandomUsername() string {
rand.Seed(time.Now().UnixNano())
var suffix []string
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment