diff options
author | Adrien Carreira <adrien@xcid.fr> | 2024-01-23 18:12:14 +0300 |
---|---|---|
committer | GitLab <noreply@gitlab.com> | 2024-01-23 18:12:14 +0300 |
commit | 353daaee5bf099647db744572c7f7cabf965d42a (patch) | |
tree | ed643d032ad0f258547db62b96cbcb1dffc49e7b /internal/signature/signature_test.go | |
parent | e9a4b66eee03f8ee8be751155b9ca5f5f801a17c (diff) |
signature: extend CreateSignature to accept timestamp
Since the gpg signature is time-dependent, aligning the timestamp with the
author's date makes the gpg signature consistent across all gitaly nodes.
Diffstat (limited to 'internal/signature/signature_test.go')
-rw-r--r-- | internal/signature/signature_test.go | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/internal/signature/signature_test.go b/internal/signature/signature_test.go index 8b25af277..28a22184a 100644 --- a/internal/signature/signature_test.go +++ b/internal/signature/signature_test.go @@ -3,6 +3,7 @@ package signature import ( "os" "testing" + "time" "github.com/stretchr/testify/require" ) @@ -32,10 +33,24 @@ func TestParseSigningKeys(t *testing.T) { require.NotNil(t, signingKeys.primaryKey) require.Len(t, signingKeys.secondaryKeys, 1) - signature, err := signingKeys.CreateSignature(commit) + signature, err := signingKeys.CreateSignature(commit, time.Now()) require.NoError(t, err) - require.Equal(t, signature, expectedSSHSignature) + require.Equal(t, expectedSSHSignature, signature) require.NoError(t, signingKeys.Verify(expectedSSHSignature, commit)) require.NoError(t, signingKeys.Verify(expectedGPGSignature, commit)) } + +func TestGPGSignatureDeterministic(t *testing.T) { + primaryPath := "testdata/signing_key.gpg" + signingKeys, err := ParseSigningKeys(primaryPath) + require.NoError(t, err) + require.NotNil(t, signingKeys.primaryKey) + + expectedGPGSignature, err := os.ReadFile("testdata/signing_key.gpg.sig") + require.NoError(t, err) + + signature, err := signingKeys.CreateSignature(commit, time.Unix(1691162414, 0)) + require.NoError(t, err) + require.Equal(t, expectedGPGSignature, signature) +} |