diff options
Diffstat (limited to 'tests/integration/api_activitypub_person_test.go')
-rw-r--r-- | tests/integration/api_activitypub_person_test.go | 60 |
1 files changed, 18 insertions, 42 deletions
diff --git a/tests/integration/api_activitypub_person_test.go b/tests/integration/api_activitypub_person_test.go index 42a2a09072..9bb1f2736e 100644 --- a/tests/integration/api_activitypub_person_test.go +++ b/tests/integration/api_activitypub_person_test.go @@ -4,32 +4,31 @@ package integration import ( - "context" "fmt" "net/http" "net/http/httptest" - "net/url" "testing" "code.gitea.io/gitea/models/db" user_model "code.gitea.io/gitea/models/user" "code.gitea.io/gitea/modules/activitypub" "code.gitea.io/gitea/modules/setting" + "code.gitea.io/gitea/modules/test" "code.gitea.io/gitea/routers" + "code.gitea.io/gitea/tests" ap "github.com/go-ap/activitypub" "github.com/stretchr/testify/assert" ) func TestActivityPubPerson(t *testing.T) { - setting.Federation.Enabled = true - testWebRoutes = routers.NormalRoutes() - defer func() { - setting.Federation.Enabled = false - testWebRoutes = routers.NormalRoutes() - }() + defer tests.PrepareTestEnv(t)() + defer test.MockVariableValue(&setting.Federation.Enabled, true)() + defer test.MockVariableValue(&testWebRoutes, routers.NormalRoutes())() + + t.Run("ExistingPerson", func(t *testing.T) { + defer tests.PrintCurrentTest(t)() - onGiteaRun(t, func(*testing.T, *url.URL) { userID := 2 username := "user2" req := NewRequest(t, "GET", fmt.Sprintf("/api/v1/activitypub/user-id/%v", userID)) @@ -57,49 +56,26 @@ func TestActivityPubPerson(t *testing.T) { assert.NotNil(t, pubKeyPem) assert.Regexp(t, "^-----BEGIN PUBLIC KEY-----", pubKeyPem) }) -} - -func TestActivityPubMissingPerson(t *testing.T) { - setting.Federation.Enabled = true - testWebRoutes = routers.NormalRoutes() - defer func() { - setting.Federation.Enabled = false - testWebRoutes = routers.NormalRoutes() - }() - - onGiteaRun(t, func(*testing.T, *url.URL) { + t.Run("MissingPerson", func(t *testing.T) { + defer tests.PrintCurrentTest(t)() req := NewRequest(t, "GET", "/api/v1/activitypub/user-id/999999999") resp := MakeRequest(t, req, http.StatusNotFound) assert.Contains(t, resp.Body.String(), "user does not exist") }) -} - -func TestActivityPubPersonInbox(t *testing.T) { - setting.Federation.Enabled = true - testWebRoutes = routers.NormalRoutes() - defer func() { - setting.Federation.Enabled = false - testWebRoutes = routers.NormalRoutes() - }() - - srv := httptest.NewServer(testWebRoutes) - defer srv.Close() + t.Run("MissingPersonInbox", func(t *testing.T) { + defer tests.PrintCurrentTest(t)() + srv := httptest.NewServer(testWebRoutes) + defer srv.Close() + defer test.MockVariableValue(&setting.AppURL, srv.URL+"/")() - onGiteaRun(t, func(*testing.T, *url.URL) { - appURL := setting.AppURL - setting.AppURL = srv.URL + "/" - defer func() { - setting.Database.LogSQL = false - setting.AppURL = appURL - }() username1 := "user1" - ctx := context.Background() + ctx := t.Context() user1, err := user_model.GetUserByName(ctx, username1) assert.NoError(t, err) - user1url := fmt.Sprintf("%s/api/v1/activitypub/user-id/1#main-key", srv.URL) + user1url := srv.URL + "/api/v1/activitypub/user-id/1#main-key" c, err := activitypub.NewClient(db.DefaultContext, user1, user1url) assert.NoError(t, err) - user2inboxurl := fmt.Sprintf("%s/api/v1/activitypub/user-id/2/inbox", srv.URL) + user2inboxurl := srv.URL + "/api/v1/activitypub/user-id/2/inbox" // Signed request succeeds resp, err := c.Post([]byte{}, user2inboxurl) |