diff options
Diffstat (limited to 'integrations/repofiles_update_test.go')
-rw-r--r-- | integrations/repofiles_update_test.go | 79 |
1 files changed, 48 insertions, 31 deletions
diff --git a/integrations/repofiles_update_test.go b/integrations/repofiles_update_test.go index 02a9bbeb16..a4ce16d847 100644 --- a/integrations/repofiles_update_test.go +++ b/integrations/repofiles_update_test.go @@ -6,6 +6,7 @@ package integrations import ( "net/url" + "path/filepath" "testing" "time" @@ -47,21 +48,30 @@ func getUpdateRepoFileOptions(repo *models.Repository) *repofiles.UpdateRepoFile } func getExpectedFileResponseForRepofilesCreate(commitID string) *api.FileResponse { + treePath := "new/file.txt" + encoding := "base64" + content := "VGhpcyBpcyBhIE5FVyBmaWxl" + selfURL := setting.AppURL + "api/v1/repos/user2/repo1/contents/" + treePath + "?ref=master" + htmlURL := setting.AppURL + "user2/repo1/src/branch/master/" + treePath + gitURL := setting.AppURL + "api/v1/repos/user2/repo1/git/blobs/103ff9234cefeee5ec5361d22b49fbb04d385885" + downloadURL := setting.AppURL + "user2/repo1/raw/branch/master/" + treePath return &api.FileResponse{ - Content: &api.FileContentResponse{ - Name: "file.txt", - Path: "new/file.txt", + Content: &api.ContentsResponse{ + Name: filepath.Base(treePath), + Path: treePath, SHA: "103ff9234cefeee5ec5361d22b49fbb04d385885", + Type: "file", Size: 18, - URL: setting.AppURL + "api/v1/repos/user2/repo1/contents/new/file.txt", - HTMLURL: setting.AppURL + "user2/repo1/blob/master/new/file.txt", - GitURL: setting.AppURL + "api/v1/repos/user2/repo1/git/blobs/103ff9234cefeee5ec5361d22b49fbb04d385885", - DownloadURL: setting.AppURL + "user2/repo1/raw/branch/master/new/file.txt", - Type: "blob", + Encoding: &encoding, + Content: &content, + URL: &selfURL, + HTMLURL: &htmlURL, + GitURL: &gitURL, + DownloadURL: &downloadURL, Links: &api.FileLinksResponse{ - Self: setting.AppURL + "api/v1/repos/user2/repo1/contents/new/file.txt", - GitURL: setting.AppURL + "api/v1/repos/user2/repo1/git/blobs/103ff9234cefeee5ec5361d22b49fbb04d385885", - HTMLURL: setting.AppURL + "user2/repo1/blob/master/new/file.txt", + Self: &selfURL, + GitURL: &gitURL, + HTMLURL: &htmlURL, }, }, Commit: &api.FileCommitResponse{ @@ -105,22 +115,30 @@ func getExpectedFileResponseForRepofilesCreate(commitID string) *api.FileRespons } } -func getExpectedFileResponseForRepofilesUpdate(commitID string) *api.FileResponse { +func getExpectedFileResponseForRepofilesUpdate(commitID, filename string) *api.FileResponse { + encoding := "base64" + content := "VGhpcyBpcyBVUERBVEVEIGNvbnRlbnQgZm9yIHRoZSBSRUFETUUgZmlsZQ==" + selfURL := setting.AppURL + "api/v1/repos/user2/repo1/contents/" + filename + "?ref=master" + htmlURL := setting.AppURL + "user2/repo1/src/branch/master/" + filename + gitURL := setting.AppURL + "api/v1/repos/user2/repo1/git/blobs/dbf8d00e022e05b7e5cf7e535de857de57925647" + downloadURL := setting.AppURL + "user2/repo1/raw/branch/master/" + filename return &api.FileResponse{ - Content: &api.FileContentResponse{ - Name: "README.md", - Path: "README.md", + Content: &api.ContentsResponse{ + Name: filename, + Path: filename, SHA: "dbf8d00e022e05b7e5cf7e535de857de57925647", + Type: "file", Size: 43, - URL: setting.AppURL + "api/v1/repos/user2/repo1/contents/README.md", - HTMLURL: setting.AppURL + "user2/repo1/blob/master/README.md", - GitURL: setting.AppURL + "api/v1/repos/user2/repo1/git/blobs/dbf8d00e022e05b7e5cf7e535de857de57925647", - DownloadURL: setting.AppURL + "user2/repo1/raw/branch/master/README.md", - Type: "blob", + Encoding: &encoding, + Content: &content, + URL: &selfURL, + HTMLURL: &htmlURL, + GitURL: &gitURL, + DownloadURL: &downloadURL, Links: &api.FileLinksResponse{ - Self: setting.AppURL + "api/v1/repos/user2/repo1/contents/README.md", - GitURL: setting.AppURL + "api/v1/repos/user2/repo1/git/blobs/dbf8d00e022e05b7e5cf7e535de857de57925647", - HTMLURL: setting.AppURL + "user2/repo1/blob/master/README.md", + Self: &selfURL, + GitURL: &gitURL, + HTMLURL: &htmlURL, }, }, Commit: &api.FileCommitResponse{ @@ -213,7 +231,7 @@ func TestCreateOrUpdateRepoFileForUpdate(t *testing.T) { assert.Nil(t, err) gitRepo, _ := git.OpenRepository(repo.RepoPath()) commitID, _ := gitRepo.GetBranchCommitID(opts.NewBranch) - expectedFileResponse := getExpectedFileResponseForRepofilesUpdate(commitID) + expectedFileResponse := getExpectedFileResponseForRepofilesUpdate(commitID, opts.TreePath) assert.EqualValues(t, expectedFileResponse.Content, fileResponse.Content) assert.EqualValues(t, expectedFileResponse.Commit.SHA, fileResponse.Commit.SHA) assert.EqualValues(t, expectedFileResponse.Commit.HTMLURL, fileResponse.Commit.HTMLURL) @@ -234,9 +252,8 @@ func TestCreateOrUpdateRepoFileForUpdateWithFileMove(t *testing.T) { repo := ctx.Repo.Repository doer := ctx.User opts := getUpdateRepoFileOptions(repo) - suffix := "_new" opts.FromTreePath = "README.md" - opts.TreePath = "README.md" + suffix // new file name, README.md_new + opts.TreePath = "README_new.md" // new file name, README_new.md // test fileResponse, err := repofiles.CreateOrUpdateRepoFile(repo, doer, opts) @@ -245,7 +262,7 @@ func TestCreateOrUpdateRepoFileForUpdateWithFileMove(t *testing.T) { assert.Nil(t, err) gitRepo, _ := git.OpenRepository(repo.RepoPath()) commit, _ := gitRepo.GetBranchCommit(opts.NewBranch) - expectedFileResponse := getExpectedFileResponseForRepofilesUpdate(commit.ID.String()) + expectedFileResponse := getExpectedFileResponseForRepofilesUpdate(commit.ID.String(), opts.TreePath) // assert that the old file no longer exists in the last commit of the branch fromEntry, err := commit.GetTreeEntryByPath(opts.FromTreePath) toEntry, err := commit.GetTreeEntryByPath(opts.TreePath) @@ -253,9 +270,9 @@ func TestCreateOrUpdateRepoFileForUpdateWithFileMove(t *testing.T) { assert.NotNil(t, toEntry) // Should exist here // assert SHA has remained the same but paths use the new file name assert.EqualValues(t, expectedFileResponse.Content.SHA, fileResponse.Content.SHA) - assert.EqualValues(t, expectedFileResponse.Content.Name+suffix, fileResponse.Content.Name) - assert.EqualValues(t, expectedFileResponse.Content.Path+suffix, fileResponse.Content.Path) - assert.EqualValues(t, expectedFileResponse.Content.URL+suffix, fileResponse.Content.URL) + assert.EqualValues(t, expectedFileResponse.Content.Name, fileResponse.Content.Name) + assert.EqualValues(t, expectedFileResponse.Content.Path, fileResponse.Content.Path) + assert.EqualValues(t, expectedFileResponse.Content.URL, fileResponse.Content.URL) assert.EqualValues(t, expectedFileResponse.Commit.SHA, fileResponse.Commit.SHA) assert.EqualValues(t, expectedFileResponse.Commit.HTMLURL, fileResponse.Commit.HTMLURL) }) @@ -284,7 +301,7 @@ func TestCreateOrUpdateRepoFileWithoutBranchNames(t *testing.T) { assert.Nil(t, err) gitRepo, _ := git.OpenRepository(repo.RepoPath()) commitID, _ := gitRepo.GetBranchCommitID(repo.DefaultBranch) - expectedFileResponse := getExpectedFileResponseForRepofilesUpdate(commitID) + expectedFileResponse := getExpectedFileResponseForRepofilesUpdate(commitID, opts.TreePath) assert.EqualValues(t, expectedFileResponse.Content, fileResponse.Content) }) } |