aboutsummaryrefslogtreecommitdiff
path: root/internal/api/api_integration_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/api/api_integration_test.go')
-rw-r--r--internal/api/api_integration_test.go112
1 files changed, 112 insertions, 0 deletions
diff --git a/internal/api/api_integration_test.go b/internal/api/api_integration_test.go
index c4bef142..3fd98119 100644
--- a/internal/api/api_integration_test.go
+++ b/internal/api/api_integration_test.go
@@ -2044,6 +2044,118 @@ func TestGetGlobalEntriesEndpoint(t *testing.T) {
}
}
+func TestUpdateEnclosureEndpoint(t *testing.T) {
+ testConfig := newIntegrationTestConfig()
+ if !testConfig.isConfigured() {
+ t.Skip(skipIntegrationTestsMessage)
+ }
+
+ adminClient := miniflux.NewClient(testConfig.testBaseURL, testConfig.testAdminUsername, testConfig.testAdminPassword)
+
+ regularTestUser, err := adminClient.CreateUser(testConfig.genRandomUsername(), testConfig.testRegularPassword, false)
+ if err != nil {
+ t.Fatal(err)
+ }
+ defer adminClient.DeleteUser(regularTestUser.ID)
+
+ regularUserClient := miniflux.NewClient(testConfig.testBaseURL, regularTestUser.Username, testConfig.testRegularPassword)
+
+ feedID, err := regularUserClient.CreateFeed(&miniflux.FeedCreationRequest{
+ FeedURL: testConfig.testFeedURL,
+ })
+
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ result, err := regularUserClient.FeedEntries(feedID, nil)
+ if err != nil {
+ t.Fatalf(`Failed to get entries: %v`, err)
+ }
+
+ var enclosure *miniflux.Enclosure
+
+ for _, entry := range result.Entries {
+ if len(entry.Enclosures) > 0 {
+ enclosure = entry.Enclosures[0]
+ break
+ }
+ }
+
+ if enclosure == nil {
+ t.Skip(`Skipping test, missing enclosure in feed.`)
+ }
+
+ err = regularUserClient.UpdateEnclosure(enclosure.ID, &miniflux.EnclosureUpdateRequest{
+ MediaProgression: 20,
+ })
+
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ updatedEnclosure, err := regularUserClient.Enclosure(enclosure.ID)
+
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ if updatedEnclosure.MediaProgression != 20 {
+ t.Fatalf(`Failed to update media_progression, expected %d but got %d`, 20, updatedEnclosure.MediaProgression)
+ }
+}
+
+func TestGetEnclosureEndpoint(t *testing.T) {
+ testConfig := newIntegrationTestConfig()
+ if !testConfig.isConfigured() {
+ t.Skip(skipIntegrationTestsMessage)
+ }
+
+ adminClient := miniflux.NewClient(testConfig.testBaseURL, testConfig.testAdminUsername, testConfig.testAdminPassword)
+
+ regularTestUser, err := adminClient.CreateUser(testConfig.genRandomUsername(), testConfig.testRegularPassword, false)
+ if err != nil {
+ t.Fatal(err)
+ }
+ defer adminClient.DeleteUser(regularTestUser.ID)
+
+ regularUserClient := miniflux.NewClient(testConfig.testBaseURL, regularTestUser.Username, testConfig.testRegularPassword)
+
+ feedID, err := regularUserClient.CreateFeed(&miniflux.FeedCreationRequest{
+ FeedURL: testConfig.testFeedURL,
+ })
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ result, err := regularUserClient.FeedEntries(feedID, nil)
+ if err != nil {
+ t.Fatalf(`Failed to get entries: %v`, err)
+ }
+
+ var expectedEnclosure *miniflux.Enclosure
+
+ for _, entry := range result.Entries {
+ if len(entry.Enclosures) > 0 {
+ expectedEnclosure = entry.Enclosures[0]
+ break
+ }
+ }
+
+ if expectedEnclosure == nil {
+ t.Skip(`Skipping test, missing enclosure in feed.`)
+ }
+
+ enclosure, err := regularUserClient.Enclosure(expectedEnclosure.ID)
+
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ if enclosure.ID != expectedEnclosure.ID {
+ t.Fatalf(`Invalid enclosureID, got %d while expecting %d`, enclosure.ID, expectedEnclosure.ID)
+ }
+}
func TestGetEntryEndpoints(t *testing.T) {
testConfig := newIntegrationTestConfig()
if !testConfig.isConfigured() {