From dd136858f1ea40ad3c94191d647487fa4f31926c Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 18 Oct 2024 20:33:49 +0200 Subject: Adding upstream version 9.0.0. Signed-off-by: Daniel Baumann --- modules/git/tag_test.go | 109 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 modules/git/tag_test.go (limited to 'modules/git/tag_test.go') diff --git a/modules/git/tag_test.go b/modules/git/tag_test.go new file mode 100644 index 0000000..8279066 --- /dev/null +++ b/modules/git/tag_test.go @@ -0,0 +1,109 @@ +// Copyright 2020 The Gitea Authors. All rights reserved. +// SPDX-License-Identifier: MIT + +package git + +import ( + "testing" + "time" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +func Test_parseTagData(t *testing.T) { + testData := []struct { + data []byte + tag Tag + }{ + {data: []byte(`object 3b114ab800c6432ad42387ccf6bc8d4388a2885a +type commit +tag 1.22.0 +tagger Lucas Michot 1484491741 +0100 + +`), tag: Tag{ + Name: "", + ID: Sha1ObjectFormat.EmptyObjectID(), + Object: &Sha1Hash{0x3b, 0x11, 0x4a, 0xb8, 0x0, 0xc6, 0x43, 0x2a, 0xd4, 0x23, 0x87, 0xcc, 0xf6, 0xbc, 0x8d, 0x43, 0x88, 0xa2, 0x88, 0x5a}, + Type: "commit", + Tagger: &Signature{Name: "Lucas Michot", Email: "lucas@semalead.com", When: time.Unix(1484491741, 0)}, + Message: "", + Signature: nil, + }}, + {data: []byte(`object 7cdf42c0b1cc763ab7e4c33c47a24e27c66bfccc +type commit +tag 1.22.1 +tagger Lucas Michot 1484553735 +0100 + +test message +o + +ono`), tag: Tag{ + Name: "", + ID: Sha1ObjectFormat.EmptyObjectID(), + Object: &Sha1Hash{0x7c, 0xdf, 0x42, 0xc0, 0xb1, 0xcc, 0x76, 0x3a, 0xb7, 0xe4, 0xc3, 0x3c, 0x47, 0xa2, 0x4e, 0x27, 0xc6, 0x6b, 0xfc, 0xcc}, + Type: "commit", + Tagger: &Signature{Name: "Lucas Michot", Email: "lucas@semalead.com", When: time.Unix(1484553735, 0)}, + Message: "test message\no\n\nono", + Signature: nil, + }}, + {data: []byte(`object d8d1fdb5b20eaca882e34ee510eb55941a242b24 +type commit +tag v0 +tagger Jane Doe 1709146405 +0100 + +v0 +-----BEGIN SSH SIGNATURE----- +U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgvD4pK7baygXxoWoVoKjVEc/xZh +6w+1FUn5hypFqJXNAAAAADZ2l0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5 +AAAAQKFeTnxi9ssRqSg+sJcmjAgpgoPq1k5SXm306+mJmkPwvhim8f9Gz6uy1AddPmXaD7 +5LVB3fV2GmmFDKGB+wCAo= +-----END SSH SIGNATURE----- +`), tag: Tag{ + Name: "", + ID: Sha1ObjectFormat.EmptyObjectID(), + Object: &Sha1Hash{0xd8, 0xd1, 0xfd, 0xb5, 0xb2, 0x0e, 0xac, 0xa8, 0x82, 0xe3, 0x4e, 0xe5, 0x10, 0xeb, 0x55, 0x94, 0x1a, 0x24, 0x2b, 0x24}, + Type: "commit", + Tagger: &Signature{Name: "Jane Doe", Email: "jane.doe@example.com", When: time.Unix(1709146405, 0)}, + Message: "v0\n", + Signature: &ObjectSignature{ + Signature: `-----BEGIN SSH SIGNATURE----- +U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgvD4pK7baygXxoWoVoKjVEc/xZh +6w+1FUn5hypFqJXNAAAAADZ2l0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5 +AAAAQKFeTnxi9ssRqSg+sJcmjAgpgoPq1k5SXm306+mJmkPwvhim8f9Gz6uy1AddPmXaD7 +5LVB3fV2GmmFDKGB+wCAo= +-----END SSH SIGNATURE-----`, + Payload: `object d8d1fdb5b20eaca882e34ee510eb55941a242b24 +type commit +tag v0 +tagger Jane Doe 1709146405 +0100 + +v0 +`, + }, + }}, + } + + for _, test := range testData { + tag, err := parseTagData(Sha1ObjectFormat, test.data) + require.NoError(t, err) + assert.EqualValues(t, test.tag.ID, tag.ID) + assert.EqualValues(t, test.tag.Object, tag.Object) + assert.EqualValues(t, test.tag.Name, tag.Name) + assert.EqualValues(t, test.tag.Message, tag.Message) + assert.EqualValues(t, test.tag.Type, tag.Type) + if test.tag.Signature != nil && assert.NotNil(t, tag.Signature) { + assert.EqualValues(t, test.tag.Signature.Signature, tag.Signature.Signature) + assert.EqualValues(t, test.tag.Signature.Payload, tag.Signature.Payload) + } else { + assert.Nil(t, tag.Signature) + } + if test.tag.Tagger != nil && assert.NotNil(t, tag.Tagger) { + assert.EqualValues(t, test.tag.Tagger.Name, tag.Tagger.Name) + assert.EqualValues(t, test.tag.Tagger.Email, tag.Tagger.Email) + assert.EqualValues(t, test.tag.Tagger.When.Unix(), tag.Tagger.When.Unix()) + } else { + assert.Nil(t, tag.Tagger) + } + } +} -- cgit v1.2.3