mirror of
https://github.com/go-gitea/gitea.git
synced 2026-09-21 04:03:38 +09:00
fix(migrations): preserve SHA-256 pull request commit IDs (#39343)
* Fixes #39339 --------- Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
This commit is contained in:
@@ -4,19 +4,13 @@
|
||||
package git
|
||||
|
||||
import (
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func TestIsValidSHAPattern(t *testing.T) {
|
||||
assert.True(t, Sha1ObjectFormat.IsValid("fee1"))
|
||||
assert.True(t, Sha1ObjectFormat.IsValid("abc000"))
|
||||
assert.True(t, Sha1ObjectFormat.IsValid("9023902390239023902390239023902390239023"))
|
||||
assert.False(t, Sha1ObjectFormat.IsValid("90239023902390239023902390239023902390239023"))
|
||||
assert.False(t, Sha1ObjectFormat.IsValid("abc"))
|
||||
assert.False(t, Sha1ObjectFormat.IsValid("123g"))
|
||||
assert.False(t, Sha1ObjectFormat.IsValid("some random text"))
|
||||
assert.Equal(t, "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391", ComputeBlobHash(Sha1ObjectFormat, nil).String())
|
||||
assert.Equal(t, "2e65efe2a145dda7ee51d1741299f848e5bf752e", ComputeBlobHash(Sha1ObjectFormat, []byte("a")).String())
|
||||
assert.Equal(t, "473a0f4c3be8a93681a267e3b1e9a7dcda1185436fe141f7749120a303721813", ComputeBlobHash(Sha256ObjectFormat, nil).String())
|
||||
@@ -30,3 +24,30 @@ func TestInvalidObjectFormat(t *testing.T) {
|
||||
assert.NotNil(t, of)
|
||||
assert.False(t, IsValidObjectFormat("no-such"))
|
||||
}
|
||||
|
||||
func TestIsStringValidObjectID(t *testing.T) {
|
||||
assert.True(t, IsStringValidObjectID(nil, "abc", 3))
|
||||
assert.False(t, IsStringValidObjectID(nil, "abg", 3))
|
||||
|
||||
assert.False(t, IsStringValidObjectID(nil, "abc", 4))
|
||||
assert.True(t, IsStringValidObjectID(nil, "0123456789abcdef", 4))
|
||||
|
||||
assert.False(t, IsStringValidObjectID(nil, strings.Repeat("a", 3), 4))
|
||||
assert.True(t, IsStringValidObjectID(nil, strings.Repeat("a", 4), 4))
|
||||
assert.True(t, IsStringValidObjectID(nil, strings.Repeat("a", 5), 4))
|
||||
assert.True(t, IsStringValidObjectID(nil, strings.Repeat("a", 64), 4))
|
||||
assert.False(t, IsStringValidObjectID(nil, strings.Repeat("a", 65), 4))
|
||||
|
||||
assert.False(t, IsStringValidObjectID(nil, strings.Repeat("a", 39)))
|
||||
assert.True(t, IsStringValidObjectID(nil, strings.Repeat("a", 40)))
|
||||
assert.False(t, IsStringValidObjectID(nil, strings.Repeat("a", 41)))
|
||||
assert.True(t, IsStringValidObjectID(nil, strings.Repeat("a", 64)))
|
||||
assert.False(t, IsStringValidObjectID(nil, strings.Repeat("a", 65)))
|
||||
|
||||
assert.False(t, IsStringValidObjectID(Sha1ObjectFormat, strings.Repeat("a", 39)))
|
||||
assert.True(t, IsStringValidObjectID(Sha1ObjectFormat, strings.Repeat("a", 40)))
|
||||
assert.False(t, IsStringValidObjectID(Sha1ObjectFormat, strings.Repeat("a", 41)))
|
||||
|
||||
assert.False(t, IsStringValidObjectID(invalidObjectFormat, strings.Repeat("a", 40)))
|
||||
assert.False(t, IsStringValidObjectID(invalidObjectFormat, strings.Repeat("a", 40), 4))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user