Provisioning: Ensure name and email are always set for the AuthorSignature (#112594)

* all properties

* lint
This commit is contained in:
Ryan McKinley
2025-10-20 08:45:02 +00:00
committed by GitHub
parent e478ee2e5f
commit 5c5ecac6ee
2 changed files with 17 additions and 39 deletions
@@ -346,25 +346,6 @@ func TestCreateSignature(t *testing.T) {
require.Equal(t, time.Date(2024, 1, 1, 12, 0, 0, 0, time.UTC), committer.Time)
})
t.Run("should fallback to default when context signature has empty name", func(t *testing.T) {
sig := repository.CommitSignature{
Name: "",
Email: "john@example.com",
When: time.Date(2024, 1, 1, 12, 0, 0, 0, time.UTC),
}
ctx := repository.WithAuthorSignature(context.Background(), sig)
author, committer := gitRepo.createSignature(ctx)
require.Equal(t, "Grafana", author.Name)
require.Equal(t, "noreply@grafana.com", author.Email)
require.False(t, author.Time.IsZero())
require.Equal(t, "Grafana", committer.Name)
require.Equal(t, "noreply@grafana.com", committer.Email)
require.False(t, committer.Time.IsZero())
})
t.Run("should use current time when signature time is zero", func(t *testing.T) {
sig := repository.CommitSignature{
Name: "John Doe",
@@ -1787,23 +1768,22 @@ func TestGitRepository_createSignature(t *testing.T) {
require.Equal(t, time.Date(2024, 1, 1, 12, 0, 0, 0, time.UTC), committer.Time)
})
t.Run("should fallback to default when context signature has empty name", func(t *testing.T) {
t.Run("should fill in missing signature properties from default values", func(t *testing.T) {
sig := repository.CommitSignature{
Name: "",
Email: "john@example.com",
When: time.Date(2024, 1, 1, 12, 0, 0, 0, time.UTC),
}
ctx := repository.WithAuthorSignature(context.Background(), sig)
author, committer := gitRepo.createSignature(ctx)
require.Equal(t, "Grafana", author.Name)
require.Equal(t, "noreply@grafana.com", author.Email)
require.Equal(t, "Grafana", author.Name) // The default name
require.Equal(t, sig.Email, author.Email)
require.False(t, author.Time.IsZero())
require.Equal(t, "Grafana", committer.Name)
require.Equal(t, "noreply@grafana.com", committer.Email)
require.False(t, committer.Time.IsZero())
require.Equal(t, sig.Email, author.Email)
require.False(t, author.Time.IsZero())
})
t.Run("should use current time when signature time is zero", func(t *testing.T) {