diff options
author | Kyle D <kdumontnu@gmail.com> | 2022-09-02 15:18:23 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-09-02 15:18:23 -0400 |
commit | c8ded77680db7344c8dc1ccee76bce0b4e02e103 (patch) | |
tree | bc63678ef62dc71ce68b29eeaf019c45cdb12034 /integrations/api_comment_test.go | |
parent | 5710ff343c9f16119ddbff06044e5d61388baa22 (diff) | |
download | gitea-c8ded77680db7344c8dc1ccee76bce0b4e02e103.tar.gz gitea-c8ded77680db7344c8dc1ccee76bce0b4e02e103.zip |
Kd/ci playwright go test (#20123)
* Add initial playwright config
* Simplify Makefile
* Simplify Makefile
* Use correct config files
* Update playwright settings
* Fix package-lock file
* Don't use test logger for e2e tests
* fix frontend lint
* Allow passing TEST_LOGGER variable
* Init postgres database
* use standard gitea env variables
* Update playwright
* update drone
* Move empty env var to commands
* Cleanup
* Move integrations to subfolder
* tests integrations to tests integraton
* Run e2e tests with go test
* Fix linting
* install CI deps
* Add files to ESlint
* Fix drone typo
* Don't log to console in CI
* Use go test http server
* Add build step before tests
* Move shared init function to common package
* fix drone
* Clean up tests
* Fix linting
* Better mocking for page + version string
* Cleanup test generation
* Remove dependency on gitea binary
* Fix linting
* add initial support for running specific tests
* Add ACCEPT_VISUAL variable
* don't require git-lfs
* Add initial documentation
* Review feedback
* Add logged in session test
* Attempt fixing drone race
* Cleanup and bump version
* Bump deps
* Review feedback
* simplify installation
* Fix ci
* Update install docs
Diffstat (limited to 'integrations/api_comment_test.go')
-rw-r--r-- | integrations/api_comment_test.go | 204 |
1 files changed, 0 insertions, 204 deletions
diff --git a/integrations/api_comment_test.go b/integrations/api_comment_test.go deleted file mode 100644 index ac1079b02d..0000000000 --- a/integrations/api_comment_test.go +++ /dev/null @@ -1,204 +0,0 @@ -// Copyright 2017 The Gitea Authors. All rights reserved. -// Use of this source code is governed by a MIT-style -// license that can be found in the LICENSE file. - -package integrations - -import ( - "fmt" - "net/http" - "net/url" - "testing" - - issues_model "code.gitea.io/gitea/models/issues" - repo_model "code.gitea.io/gitea/models/repo" - "code.gitea.io/gitea/models/unittest" - user_model "code.gitea.io/gitea/models/user" - "code.gitea.io/gitea/modules/convert" - api "code.gitea.io/gitea/modules/structs" - - "github.com/stretchr/testify/assert" -) - -func TestAPIListRepoComments(t *testing.T) { - defer prepareTestEnv(t)() - - comment := unittest.AssertExistsAndLoadBean(t, &issues_model.Comment{}, - unittest.Cond("type = ?", issues_model.CommentTypeComment)) - issue := unittest.AssertExistsAndLoadBean(t, &issues_model.Issue{ID: comment.IssueID}) - repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: issue.RepoID}) - repoOwner := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: repo.OwnerID}) - - session := loginUser(t, repoOwner.Name) - link, _ := url.Parse(fmt.Sprintf("/api/v1/repos/%s/%s/issues/comments", repoOwner.Name, repo.Name)) - req := NewRequest(t, "GET", link.String()) - resp := session.MakeRequest(t, req, http.StatusOK) - - var apiComments []*api.Comment - DecodeJSON(t, resp, &apiComments) - assert.Len(t, apiComments, 2) - for _, apiComment := range apiComments { - c := &issues_model.Comment{ID: apiComment.ID} - unittest.AssertExistsAndLoadBean(t, c, - unittest.Cond("type = ?", issues_model.CommentTypeComment)) - unittest.AssertExistsAndLoadBean(t, &issues_model.Issue{ID: c.IssueID, RepoID: repo.ID}) - } - - // test before and since filters - query := url.Values{} - before := "2000-01-01T00:00:11+00:00" // unix: 946684811 - since := "2000-01-01T00:00:12+00:00" // unix: 946684812 - query.Add("before", before) - link.RawQuery = query.Encode() - req = NewRequest(t, "GET", link.String()) - resp = session.MakeRequest(t, req, http.StatusOK) - DecodeJSON(t, resp, &apiComments) - assert.Len(t, apiComments, 1) - assert.EqualValues(t, 2, apiComments[0].ID) - - query.Del("before") - query.Add("since", since) - link.RawQuery = query.Encode() - req = NewRequest(t, "GET", link.String()) - resp = session.MakeRequest(t, req, http.StatusOK) - DecodeJSON(t, resp, &apiComments) - assert.Len(t, apiComments, 1) - assert.EqualValues(t, 3, apiComments[0].ID) -} - -func TestAPIListIssueComments(t *testing.T) { - defer prepareTestEnv(t)() - - comment := unittest.AssertExistsAndLoadBean(t, &issues_model.Comment{}, - unittest.Cond("type = ?", issues_model.CommentTypeComment)) - issue := unittest.AssertExistsAndLoadBean(t, &issues_model.Issue{ID: comment.IssueID}) - repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: issue.RepoID}) - repoOwner := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: repo.OwnerID}) - - session := loginUser(t, repoOwner.Name) - req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s/issues/%d/comments", - repoOwner.Name, repo.Name, issue.Index) - resp := session.MakeRequest(t, req, http.StatusOK) - - var comments []*api.Comment - DecodeJSON(t, resp, &comments) - expectedCount := unittest.GetCount(t, &issues_model.Comment{IssueID: issue.ID}, - unittest.Cond("type = ?", issues_model.CommentTypeComment)) - assert.EqualValues(t, expectedCount, len(comments)) -} - -func TestAPICreateComment(t *testing.T) { - defer prepareTestEnv(t)() - const commentBody = "Comment body" - - issue := unittest.AssertExistsAndLoadBean(t, &issues_model.Issue{}) - repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: issue.RepoID}) - repoOwner := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: repo.OwnerID}) - - session := loginUser(t, repoOwner.Name) - token := getTokenForLoggedInUser(t, session) - urlStr := fmt.Sprintf("/api/v1/repos/%s/%s/issues/%d/comments?token=%s", - repoOwner.Name, repo.Name, issue.Index, token) - req := NewRequestWithValues(t, "POST", urlStr, map[string]string{ - "body": commentBody, - }) - resp := session.MakeRequest(t, req, http.StatusCreated) - - var updatedComment api.Comment - DecodeJSON(t, resp, &updatedComment) - assert.EqualValues(t, commentBody, updatedComment.Body) - unittest.AssertExistsAndLoadBean(t, &issues_model.Comment{ID: updatedComment.ID, IssueID: issue.ID, Content: commentBody}) -} - -func TestAPIGetComment(t *testing.T) { - defer prepareTestEnv(t)() - - comment := unittest.AssertExistsAndLoadBean(t, &issues_model.Comment{ID: 2}) - assert.NoError(t, comment.LoadIssue()) - repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: comment.Issue.RepoID}) - repoOwner := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: repo.OwnerID}) - - session := loginUser(t, repoOwner.Name) - token := getTokenForLoggedInUser(t, session) - req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s/issues/comments/%d", repoOwner.Name, repo.Name, comment.ID) - session.MakeRequest(t, req, http.StatusOK) - req = NewRequestf(t, "GET", "/api/v1/repos/%s/%s/issues/comments/%d?token=%s", repoOwner.Name, repo.Name, comment.ID, token) - resp := session.MakeRequest(t, req, http.StatusOK) - - var apiComment api.Comment - DecodeJSON(t, resp, &apiComment) - - assert.NoError(t, comment.LoadPoster()) - expect := convert.ToComment(comment) - - assert.Equal(t, expect.ID, apiComment.ID) - assert.Equal(t, expect.Poster.FullName, apiComment.Poster.FullName) - assert.Equal(t, expect.Body, apiComment.Body) - assert.Equal(t, expect.Created.Unix(), apiComment.Created.Unix()) -} - -func TestAPIEditComment(t *testing.T) { - defer prepareTestEnv(t)() - const newCommentBody = "This is the new comment body" - - comment := unittest.AssertExistsAndLoadBean(t, &issues_model.Comment{}, - unittest.Cond("type = ?", issues_model.CommentTypeComment)) - issue := unittest.AssertExistsAndLoadBean(t, &issues_model.Issue{ID: comment.IssueID}) - repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: issue.RepoID}) - repoOwner := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: repo.OwnerID}) - - session := loginUser(t, repoOwner.Name) - token := getTokenForLoggedInUser(t, session) - urlStr := fmt.Sprintf("/api/v1/repos/%s/%s/issues/comments/%d?token=%s", - repoOwner.Name, repo.Name, comment.ID, token) - req := NewRequestWithValues(t, "PATCH", urlStr, map[string]string{ - "body": newCommentBody, - }) - resp := session.MakeRequest(t, req, http.StatusOK) - - var updatedComment api.Comment - DecodeJSON(t, resp, &updatedComment) - assert.EqualValues(t, comment.ID, updatedComment.ID) - assert.EqualValues(t, newCommentBody, updatedComment.Body) - unittest.AssertExistsAndLoadBean(t, &issues_model.Comment{ID: comment.ID, IssueID: issue.ID, Content: newCommentBody}) -} - -func TestAPIDeleteComment(t *testing.T) { - defer prepareTestEnv(t)() - - comment := unittest.AssertExistsAndLoadBean(t, &issues_model.Comment{}, - unittest.Cond("type = ?", issues_model.CommentTypeComment)) - issue := unittest.AssertExistsAndLoadBean(t, &issues_model.Issue{ID: comment.IssueID}) - repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: issue.RepoID}) - repoOwner := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: repo.OwnerID}) - - session := loginUser(t, repoOwner.Name) - token := getTokenForLoggedInUser(t, session) - req := NewRequestf(t, "DELETE", "/api/v1/repos/%s/%s/issues/comments/%d?token=%s", - repoOwner.Name, repo.Name, comment.ID, token) - session.MakeRequest(t, req, http.StatusNoContent) - - unittest.AssertNotExistsBean(t, &issues_model.Comment{ID: comment.ID}) -} - -func TestAPIListIssueTimeline(t *testing.T) { - defer prepareTestEnv(t)() - - // load comment - issue := unittest.AssertExistsAndLoadBean(t, &issues_model.Issue{ID: 1}) - repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: issue.RepoID}) - repoOwner := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: repo.OwnerID}) - - // make request - session := loginUser(t, repoOwner.Name) - req := NewRequestf(t, "GET", "/api/v1/repos/%s/%s/issues/%d/timeline", - repoOwner.Name, repo.Name, issue.Index) - resp := session.MakeRequest(t, req, http.StatusOK) - - // check if lens of list returned by API and - // lists extracted directly from DB are the same - var comments []*api.TimelineComment - DecodeJSON(t, resp, &comments) - expectedCount := unittest.GetCount(t, &issues_model.Comment{IssueID: issue.ID}) - assert.EqualValues(t, expectedCount, len(comments)) -} |