aboutsummaryrefslogtreecommitdiffhomepage
path: root/integration_test.go
diff options
context:
space:
mode:
authorGravatar Frédéric Guillot <fred@miniflux.net>2017-12-22 11:33:01 -0800
committerGravatar Frédéric Guillot <fred@miniflux.net>2017-12-22 11:33:01 -0800
commit9868f900e972edd6d4811b4a93b1955e4222e9b1 (patch)
treef366decff3a14c58a6869a1993b5698d6acce19a /integration_test.go
parentb153fa8b3cd2e48bbe13326695f11d2013427ebc (diff)
Add bookmarks
Diffstat (limited to 'integration_test.go')
-rw-r--r--integration_test.go120
1 files changed, 87 insertions, 33 deletions
diff --git a/integration_test.go b/integration_test.go
index 678322e..a76d8c7 100644
--- a/integration_test.go
+++ b/integration_test.go
@@ -22,6 +22,8 @@ const (
testAdminPassword = "test123"
testStandardPassword = "secret"
testFeedURL = "https://github.com/miniflux/miniflux/commits/master.atom"
+ testFeedTitle = "Recent Commits to miniflux:master"
+ testWebsiteURL = "https://github.com/miniflux/miniflux/commits/master"
)
func TestWithBadEndpoint(t *testing.T) {
@@ -486,7 +488,7 @@ func TestCannotDeleteCategoryOfAnotherUser(t *testing.T) {
func TestDiscoverSubscriptions(t *testing.T) {
client := miniflux.NewClient(testBaseURL, testAdminUsername, testAdminPassword)
- subscriptions, err := client.Discover("https://miniflux.net")
+ subscriptions, err := client.Discover(testWebsiteURL)
if err != nil {
t.Fatal(err)
}
@@ -495,16 +497,16 @@ func TestDiscoverSubscriptions(t *testing.T) {
t.Fatalf(`Invalid number of subscriptions, got "%v" instead of "%v"`, len(subscriptions), 2)
}
- if subscriptions[0].Title != "Feed" {
- t.Fatalf(`Invalid feed title, got "%v" instead of "%v"`, subscriptions[0].Title, "Feed")
+ if subscriptions[0].Title != testFeedTitle {
+ t.Fatalf(`Invalid feed title, got "%v" instead of "%v"`, subscriptions[0].Title, testFeedTitle)
}
if subscriptions[0].Type != "atom" {
t.Fatalf(`Invalid feed type, got "%v" instead of "%v"`, subscriptions[0].Type, "atom")
}
- if subscriptions[0].URL != "https://miniflux.net/feed" {
- t.Fatalf(`Invalid feed URL, got "%v" instead of "%v"`, subscriptions[0].URL, "https://miniflux.net/feed")
+ if subscriptions[0].URL != testFeedURL {
+ t.Fatalf(`Invalid feed URL, got "%v" instead of "%v"`, subscriptions[0].URL, testFeedURL)
}
}
@@ -522,7 +524,7 @@ func TestCreateFeed(t *testing.T) {
t.Fatal(err)
}
- feedID, err := client.CreateFeed("https://miniflux.net/feed", categories[0].ID)
+ feedID, err := client.CreateFeed(testFeedURL, categories[0].ID)
if err != nil {
t.Fatal(err)
}
@@ -546,7 +548,7 @@ func TestCannotCreateDuplicatedFeed(t *testing.T) {
t.Fatal(err)
}
- feedID, err := client.CreateFeed("https://miniflux.net/feed", categories[0].ID)
+ feedID, err := client.CreateFeed(testFeedURL, categories[0].ID)
if err != nil {
t.Fatal(err)
}
@@ -555,7 +557,7 @@ func TestCannotCreateDuplicatedFeed(t *testing.T) {
t.Fatalf(`Invalid feed ID, got "%v"`, feedID)
}
- _, err = client.CreateFeed("https://miniflux.net/feed", categories[0].ID)
+ _, err = client.CreateFeed(testFeedURL, categories[0].ID)
if err == nil {
t.Fatal(`Duplicated feeds should not be allowed`)
}
@@ -570,7 +572,7 @@ func TestCreateFeedWithInexistingCategory(t *testing.T) {
}
client = miniflux.NewClient(testBaseURL, username, testStandardPassword)
- _, err = client.CreateFeed("https://miniflux.net/feed", -1)
+ _, err = client.CreateFeed(testFeedURL, -1)
if err == nil {
t.Fatal(`Feeds should not be created with inexisting category`)
}
@@ -590,7 +592,7 @@ func TestUpdateFeed(t *testing.T) {
t.Fatal(err)
}
- feedID, err := client.CreateFeed("https://miniflux.net/feed", categories[0].ID)
+ feedID, err := client.CreateFeed(testFeedURL, categories[0].ID)
if err != nil {
t.Fatal(err)
}
@@ -630,7 +632,7 @@ func TestDeleteFeed(t *testing.T) {
t.Fatal(err)
}
- feedID, err := client.CreateFeed("https://miniflux.net/feed", categories[0].ID)
+ feedID, err := client.CreateFeed(testFeedURL, categories[0].ID)
if err != nil {
t.Fatal(err)
}
@@ -655,7 +657,7 @@ func TestRefreshFeed(t *testing.T) {
t.Fatal(err)
}
- feedID, err := client.CreateFeed("https://miniflux.net/feed", categories[0].ID)
+ feedID, err := client.CreateFeed(testFeedURL, categories[0].ID)
if err != nil {
t.Fatal(err)
}
@@ -680,7 +682,7 @@ func TestGetFeed(t *testing.T) {
t.Fatal(err)
}
- feedID, err := client.CreateFeed("https://miniflux.net/feed", categories[0].ID)
+ feedID, err := client.CreateFeed(testFeedURL, categories[0].ID)
if err != nil {
t.Fatal(err)
}
@@ -690,16 +692,16 @@ func TestGetFeed(t *testing.T) {
t.Fatal(err)
}
- if feed.Title != "Miniflux" {
- t.Fatalf(`Invalid feed title, got "%v" instead of "%v"`, feed.Title, "Miniflux")
+ if feed.Title != testFeedTitle {
+ t.Fatalf(`Invalid feed title, got "%v" instead of "%v"`, feed.Title, testFeedTitle)
}
- if feed.SiteURL != "https://miniflux.net/" {
- t.Fatalf(`Invalid site URL, got "%v" instead of "%v"`, feed.SiteURL, "https://miniflux.net/")
+ if feed.SiteURL != testWebsiteURL {
+ t.Fatalf(`Invalid site URL, got "%v" instead of "%v"`, feed.SiteURL, testWebsiteURL)
}
- 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.FeedURL != testFeedURL {
+ t.Fatalf(`Invalid feed URL, got "%v" instead of "%v"`, feed.FeedURL, testFeedURL)
}
if feed.Category.ID != categories[0].ID {
@@ -780,7 +782,7 @@ func TestGetFeeds(t *testing.T) {
t.Fatal(err)
}
- feedID, err := client.CreateFeed("https://miniflux.net/feed", categories[0].ID)
+ feedID, err := client.CreateFeed(testFeedURL, categories[0].ID)
if err != nil {
t.Fatal(err)
}
@@ -798,16 +800,16 @@ func TestGetFeeds(t *testing.T) {
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].Title != testFeedTitle {
+ t.Fatalf(`Invalid feed title, got "%v" instead of "%v"`, feeds[0].Title, testFeedTitle)
}
- 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].SiteURL != testWebsiteURL {
+ t.Fatalf(`Invalid site URL, got "%v" instead of "%v"`, feeds[0].SiteURL, testWebsiteURL)
}
- 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].FeedURL != testFeedURL {
+ t.Fatalf(`Invalid feed URL, got "%v" instead of "%v"`, feeds[0].FeedURL, testFeedURL)
}
if feeds[0].Category.ID != categories[0].ID {
@@ -837,7 +839,7 @@ func TestGetAllFeedEntries(t *testing.T) {
t.Fatal(err)
}
- feedID, err := client.CreateFeed("https://miniflux.net/feed", categories[0].ID)
+ feedID, err := client.CreateFeed(testFeedURL, categories[0].ID)
if err != nil {
t.Fatal(err)
}
@@ -883,7 +885,7 @@ func TestGetAllEntries(t *testing.T) {
t.Fatal(err)
}
- _, err = client.CreateFeed("https://miniflux.net/feed", categories[0].ID)
+ _, err = client.CreateFeed(testFeedURL, categories[0].ID)
if err != nil {
t.Fatal(err)
}
@@ -930,7 +932,7 @@ func TestInvalidFilters(t *testing.T) {
t.Fatal(err)
}
- _, err = client.CreateFeed("https://miniflux.net/feed", categories[0].ID)
+ _, err = client.CreateFeed(testFeedURL, categories[0].ID)
if err != nil {
t.Fatal(err)
}
@@ -965,7 +967,7 @@ func TestGetEntry(t *testing.T) {
t.Fatal(err)
}
- _, err = client.CreateFeed("https://miniflux.net/feed", categories[0].ID)
+ _, err = client.CreateFeed(testFeedURL, categories[0].ID)
if err != nil {
t.Fatal(err)
}
@@ -975,7 +977,16 @@ func TestGetEntry(t *testing.T) {
t.Fatal(err)
}
- entry, err := client.Entry(result.Entries[0].FeedID, result.Entries[0].ID)
+ entry, err := client.FeedEntry(result.Entries[0].FeedID, result.Entries[0].ID)
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ if entry.ID != result.Entries[0].ID {
+ t.Fatal("Wrong entry returned")
+ }
+
+ entry, err = client.Entry(result.Entries[0].ID)
if err != nil {
t.Fatal(err)
}
@@ -999,7 +1010,7 @@ func TestUpdateStatus(t *testing.T) {
t.Fatal(err)
}
- _, err = client.CreateFeed("https://miniflux.net/feed", categories[0].ID)
+ _, err = client.CreateFeed(testFeedURL, categories[0].ID)
if err != nil {
t.Fatal(err)
}
@@ -1014,7 +1025,7 @@ func TestUpdateStatus(t *testing.T) {
t.Fatal(err)
}
- entry, err := client.Entry(result.Entries[0].FeedID, result.Entries[0].ID)
+ entry, err := client.Entry(result.Entries[0].ID)
if err != nil {
t.Fatal(err)
}
@@ -1029,6 +1040,49 @@ func TestUpdateStatus(t *testing.T) {
}
}
+func TestToggleBookmark(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)
+ }
+
+ _, err = client.CreateFeed(testFeedURL, categories[0].ID)
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ result, err := client.Entries(&miniflux.Filter{Limit: 1})
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ if result.Entries[0].Starred {
+ t.Fatal("The entry should not be starred")
+ }
+
+ err = client.ToggleBookmark(result.Entries[0].ID)
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ entry, err := client.Entry(result.Entries[0].ID)
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ if !entry.Starred {
+ t.Fatal("The entry should be starred")
+ }
+}
+
func getRandomUsername() string {
rand.Seed(time.Now().UnixNano())
var suffix []string