summaryrefslogtreecommitdiffstats
path: root/tests/integration/git_push_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'tests/integration/git_push_test.go')
-rw-r--r--tests/integration/git_push_test.go22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/integration/git_push_test.go b/tests/integration/git_push_test.go
index da254fc88f..dc0b52203a 100644
--- a/tests/integration/git_push_test.go
+++ b/tests/integration/git_push_test.go
@@ -6,8 +6,10 @@ package integration
import (
"fmt"
"net/url"
+ "strings"
"testing"
+ auth_model "code.gitea.io/gitea/models/auth"
"code.gitea.io/gitea/models/db"
git_model "code.gitea.io/gitea/models/git"
"code.gitea.io/gitea/models/unittest"
@@ -192,3 +194,23 @@ func runTestGitPush(t *testing.T, u *url.URL, gitOperation func(t *testing.T, gi
require.NoError(t, repo_service.DeleteRepositoryDirectly(db.DefaultContext, user, repo.ID))
}
+
+func TestPushPullRefs(t *testing.T) {
+ onGiteaRun(t, func(t *testing.T, u *url.URL) {
+ baseAPITestContext := NewAPITestContext(t, "user2", "repo1", auth_model.AccessTokenScopeWriteRepository, auth_model.AccessTokenScopeWriteUser)
+
+ u.Path = baseAPITestContext.GitPath()
+ u.User = url.UserPassword("user2", userPassword)
+
+ dstPath := t.TempDir()
+ doGitClone(dstPath, u)(t)
+
+ cmd := git.NewCommand(git.DefaultContext, "push", "--delete", "origin", "refs/pull/2/head")
+ stdout, stderr, err := cmd.RunStdString(&git.RunOpts{
+ Dir: dstPath,
+ })
+ assert.Error(t, err)
+ assert.Empty(t, stdout)
+ assert.False(t, strings.Contains(stderr, "[deleted]"), "stderr: %s", stderr)
+ })
+}