|
|
|
@ -14,6 +14,7 @@ import (
|
|
|
|
|
"testing"
|
|
|
|
|
|
|
|
|
|
auth_model "code.gitea.io/gitea/models/auth"
|
|
|
|
|
"code.gitea.io/gitea/models/db"
|
|
|
|
|
repo_model "code.gitea.io/gitea/models/repo"
|
|
|
|
|
"code.gitea.io/gitea/models/unittest"
|
|
|
|
|
user_model "code.gitea.io/gitea/models/user"
|
|
|
|
@ -24,6 +25,7 @@ import (
|
|
|
|
|
"code.gitea.io/gitea/tests"
|
|
|
|
|
|
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
|
|
|
"github.com/stretchr/testify/require"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func testAPINewFile(t *testing.T, session *TestSession, user, repo, branch, treePath, content string) *httptest.ResponseRecorder {
|
|
|
|
@ -60,7 +62,9 @@ func TestEmptyRepoAddFile(t *testing.T) {
|
|
|
|
|
session := loginUser(t, "user30")
|
|
|
|
|
req := NewRequest(t, "GET", "/user30/empty")
|
|
|
|
|
resp := session.MakeRequest(t, req, http.StatusOK)
|
|
|
|
|
assert.Contains(t, resp.Body.String(), "empty-repo-guide")
|
|
|
|
|
bodyString := resp.Body.String()
|
|
|
|
|
assert.Contains(t, bodyString, "empty-repo-guide")
|
|
|
|
|
assert.True(t, test.IsNormalPageCompleted(bodyString))
|
|
|
|
|
|
|
|
|
|
req = NewRequest(t, "GET", "/user30/empty/_new/"+setting.Repository.DefaultBranch)
|
|
|
|
|
resp = session.MakeRequest(t, req, http.StatusOK)
|
|
|
|
@ -80,6 +84,21 @@ func TestEmptyRepoAddFile(t *testing.T) {
|
|
|
|
|
req = NewRequest(t, "GET", redirect)
|
|
|
|
|
resp = session.MakeRequest(t, req, http.StatusOK)
|
|
|
|
|
assert.Contains(t, resp.Body.String(), "newly-added-test-file")
|
|
|
|
|
|
|
|
|
|
// the repo is not empty anymore
|
|
|
|
|
req = NewRequest(t, "GET", "/user30/empty")
|
|
|
|
|
resp = session.MakeRequest(t, req, http.StatusOK)
|
|
|
|
|
assert.Contains(t, resp.Body.String(), "test-file.md")
|
|
|
|
|
|
|
|
|
|
// if the repo is in incorrect state, it should be able to self-heal (recover to correct state)
|
|
|
|
|
user30EmptyRepo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{OwnerID: 30, Name: "empty"})
|
|
|
|
|
user30EmptyRepo.IsEmpty = true
|
|
|
|
|
user30EmptyRepo.DefaultBranch = "no-such"
|
|
|
|
|
_, err := db.GetEngine(db.DefaultContext).ID(user30EmptyRepo.ID).Update(user30EmptyRepo)
|
|
|
|
|
require.NoError(t, err)
|
|
|
|
|
req = NewRequest(t, "GET", "/user30/empty")
|
|
|
|
|
resp = session.MakeRequest(t, req, http.StatusOK)
|
|
|
|
|
assert.Contains(t, resp.Body.String(), "test-file.md")
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func TestEmptyRepoUploadFile(t *testing.T) {
|
|
|
|
|