1
// Copyright 2020 The Gitea Authors. All rights reserved.
2
// SPDX-License-Identifier: MIT
10
"github.com/stretchr/testify/assert"
13
func Test_parseTagData(t *testing.T) {
14
testData := []struct {
19
data: `object 3b114ab800c6432ad42387ccf6bc8d4388a2885a
22
tagger Lucas Michot <lucas@semalead.com> 1484491741 +0100
27
ID: Sha1ObjectFormat.EmptyObjectID(),
28
Object: MustIDFromString("3b114ab800c6432ad42387ccf6bc8d4388a2885a"),
30
Tagger: &Signature{Name: "Lucas Michot", Email: "lucas@semalead.com", When: time.Unix(1484491741, 0).In(time.FixedZone("", 3600))},
36
data: `object 7cdf42c0b1cc763ab7e4c33c47a24e27c66bfccc
39
tagger Lucas Michot <lucas@semalead.com> 1484553735 +0100
47
ID: Sha1ObjectFormat.EmptyObjectID(),
48
Object: MustIDFromString("7cdf42c0b1cc763ab7e4c33c47a24e27c66bfccc"),
50
Tagger: &Signature{Name: "Lucas Michot", Email: "lucas@semalead.com", When: time.Unix(1484553735, 0).In(time.FixedZone("", 3600))},
51
Message: "test message\no\n\nono",
56
data: `object 7cdf42c0b1cc763ab7e4c33c47a24e27c66bfaaa
59
tagger dummy user <dummy-email@example.com> 1484491741 +0100
62
-----BEGIN SSH SIGNATURE-----
64
-----END SSH SIGNATURE-----
68
ID: Sha1ObjectFormat.EmptyObjectID(),
69
Object: MustIDFromString("7cdf42c0b1cc763ab7e4c33c47a24e27c66bfaaa"),
71
Tagger: &Signature{Name: "dummy user", Email: "dummy-email@example.com", When: time.Unix(1484491741, 0).In(time.FixedZone("", 3600))},
72
Message: "dummy message",
73
Signature: &CommitSignature{
74
Signature: `-----BEGIN SSH SIGNATURE-----
76
-----END SSH SIGNATURE-----`,
77
Payload: `object 7cdf42c0b1cc763ab7e4c33c47a24e27c66bfaaa
80
tagger dummy user <dummy-email@example.com> 1484491741 +0100
88
for _, test := range testData {
89
tag, err := parseTagData(Sha1ObjectFormat, []byte(test.data))
90
assert.NoError(t, err)
91
assert.Equal(t, test.expected, *tag)
94
tag, err := parseTagData(Sha1ObjectFormat, []byte("type commit\n\nfoo\n-----BEGIN SSH SIGNATURE-----\ncorrupted..."))
95
assert.NoError(t, err)
96
assert.Equal(t, "foo\n-----BEGIN SSH SIGNATURE-----\ncorrupted...", tag.Message)