Release Please / Release Please (push) Skipped
Release / GoReleaser (push) Skipped
Tests / Secret scan (gitleaks) (push) Skipped
Tests / Test (Go 1.25) (push) Skipped
Tests / Test (Go stable) (push) Skipped
Tests / Secret scan (gitleaks) (pull_request) Successful in 4s
Tests / Test (Go 1.25) (pull_request) Successful in 21s
Tests / Test (Go stable) (pull_request) Successful in 21s
- Route HTTP helpers (getJSON/formRequest/deleteReq/postJSON/putJSON/ multipart upload), Query and AuthenticateContext/ensureToken through the deterministic 429/502/503/504 retry (retryRaw), so the integration suite no longer fails on the shared openresty rate limit under parallel runs. - Fix stale cmd/office/fetch integration test: loader.TaskFields was replaced by loader.DetailForm (broke go vet -tags=integration). - Add unit tests for Transient/DoRetry.
65 lines
1.4 KiB
Go
65 lines
1.4 KiB
Go
//go:build integration
|
|
|
|
package fetch_test
|
|
|
|
import (
|
|
"context"
|
|
"testing"
|
|
|
|
"github.com/eslider/go-onlyoffice/cmd/office/model"
|
|
)
|
|
|
|
func TestIntegrationUpdateTaskTitleDescription(t *testing.T) {
|
|
loader, ctx := liveLoader(t)
|
|
items, err := loader.List(ctx, model.ListSpec{Subject: model.SubjectTasks})
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
if len(items) == 0 {
|
|
t.Skip("no tasks")
|
|
}
|
|
item := items[0]
|
|
fields, err := loader.DetailForm(ctx, item)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
restore := fields
|
|
t.Cleanup(func() {
|
|
_ = loader.UpdateTask(context.Background(), item.ID, restore)
|
|
})
|
|
fields.Primary = fields.Primary + " (office TUI test)"
|
|
fields.Secondary = fields.Secondary + "\n\n_edited by office integration test_"
|
|
if err := loader.UpdateTask(ctx, item.ID, fields); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
got, err := loader.DetailForm(ctx, item)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
if got.Primary != fields.Primary {
|
|
t.Fatalf("title: got %q want %q", got.Primary, fields.Primary)
|
|
}
|
|
if got.Secondary != fields.Secondary {
|
|
t.Fatalf("description mismatch")
|
|
}
|
|
}
|
|
|
|
func TestIntegrationTaskFieldsFromLiveAPI(t *testing.T) {
|
|
loader, ctx := liveLoader(t)
|
|
items, err := loader.List(ctx, model.ListSpec{Subject: model.SubjectTasks})
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
if len(items) == 0 {
|
|
t.Skip("no tasks")
|
|
}
|
|
fields, err := loader.DetailForm(ctx, items[0])
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
if fields.Primary == "" {
|
|
t.Fatal("empty title")
|
|
}
|
|
_ = fields.Secondary
|
|
}
|