check / check (push) Failing after 2s
REPO_POLICIES.md requires the module root sneak.berlin/go/<name>. go.mod, every import (rewritten with gofmt -r), the -X flags in script/build and the examples in the pkg READMEs now use the new path. go mod tidy lists go-humanize and fatih/color as direct requirements, since internal/cli imports them. This breaks anyone who fetched or imported git.eeqj.de/sneak/secret: they must switch to sneak.berlin/go/secret, which resolves to this repository. Model: opus-5-5
30 lines
829 B
Go
30 lines
829 B
Go
package secret_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"filippo.io/age"
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/require"
|
|
"sneak.berlin/go/secret/internal/secret"
|
|
)
|
|
|
|
// TestIdentityToLockedBuffer checks that the buffer holds the identity's
|
|
// private key, and that the identity still gives that key afterwards: the
|
|
// helper overwrites the string age returned, so age must not keep it.
|
|
func TestIdentityToLockedBuffer(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
identity, err := age.GenerateX25519Identity()
|
|
require.NoError(t, err)
|
|
|
|
buffer := secret.IdentityToLockedBuffer(identity)
|
|
defer buffer.Destroy()
|
|
|
|
parsed, err := age.ParseX25519Identity(buffer.String())
|
|
require.NoError(t, err)
|
|
assert.Equal(t, identity.Recipient().String(), parsed.Recipient().String())
|
|
|
|
assert.Equal(t, identity.String(), buffer.String())
|
|
}
|