Files
grafana/apps/provisioning/pkg/repository/context_test.go
Roberto Jiménez Sánchez 4eadc823a9 Provisioning: Move repository package to provisioning app (#110228)
* Move repository package to apps

* Move operators to grafana/grafana

* Go mod tidy

* Own package by git sync team for now

* Merged

* Do not use settings in local extra

* Remove dependency on webhook extra

* Hack to work around issue with secure contracts

* Sync Go modules

* Revert "Move operators to grafana/grafana"

This reverts commit 9f19b30a2e.
2025-09-02 09:45:44 +02:00

53 lines
1.2 KiB
Go

package repository
import (
"context"
"testing"
"time"
"github.com/stretchr/testify/require"
)
func TestAuthorSignature(t *testing.T) {
t.Run("should store and retrieve author signature", func(t *testing.T) {
expected := CommitSignature{
Name: "John Doe",
Email: "john@example.com",
When: time.Date(2024, 1, 1, 12, 0, 0, 0, time.UTC),
}
ctx := context.Background()
ctx = WithAuthorSignature(ctx, expected)
result := GetAuthorSignature(ctx)
require.NotNil(t, result)
require.Equal(t, expected.Name, result.Name)
require.Equal(t, expected.Email, result.Email)
require.Equal(t, expected.When, result.When)
})
t.Run("should return nil when no signature is set", func(t *testing.T) {
ctx := context.Background()
result := GetAuthorSignature(ctx)
require.Nil(t, result)
})
t.Run("should return copy of signature", func(t *testing.T) {
original := CommitSignature{
Name: "John Doe",
Email: "john@example.com",
When: time.Now(),
}
ctx := context.Background()
ctx = WithAuthorSignature(ctx, original)
result1 := GetAuthorSignature(ctx)
result2 := GetAuthorSignature(ctx)
require.NotNil(t, result1)
require.NotNil(t, result2)
require.NotSame(t, result1, result2)
})
}