|
|
|
@ -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) { |
|
|
|
|