diff --git a/cmd/melt/main_test.go b/cmd/melt/main_test.go index 1290b85..ce86c6b 100644 --- a/cmd/melt/main_test.go +++ b/cmd/melt/main_test.go @@ -3,7 +3,6 @@ package main import ( "crypto/sha256" "encoding/hex" - "fmt" "os" "path/filepath" "strings" @@ -14,17 +13,15 @@ import ( func TestBackupRestoreKnownKey(t *testing.T) { const expectedMnemonic = ` - model tone century code pilot - ball polar sauce machine crisp - plate soccer salon awake monkey - own install all broccoli marine - print smart square impact + alter gap broom kitten orient over settle work honey rule + coach system wage effort mask void solid devote divert + quarter quote broccoli jaguar lady ` - const expectedSum = "4ec2b1e65bb86ef635991c3e31341c3bdaf6862e9b1efcde0a9c0307081ffc4c" + const expectedSum = "ba34175ef608633b29f046b40cce596dd221347b77abba40763eef2e7ae51fe9" t.Run("backup", func(t *testing.T) { is := is.New(t) - mnemonic, err := backup("testdata/test_ed25519") + mnemonic, err := backup("testdata/id_ed25519") is.NoErr(err) is.Equal(mnemonic, strings.Join(strings.Fields(expectedMnemonic), " ")) }) @@ -32,18 +29,11 @@ func TestBackupRestoreKnownKey(t *testing.T) { t.Run("restore", func(t *testing.T) { is := is.New(t) path := filepath.Join(t.TempDir(), "key") - is.NoErr(restore(path, expectedMnemonic)) + is.NoErr(restore(expectedMnemonic, path)) + is.Equal(expectedSum, sha256sum(t, path+".pub")) }) } -func sha256sum(bts []byte) (string, error) { - digest := sha256.New() - if _, err := digest.Write(bts); err != nil { - return "", fmt.Errorf("failed to sha256sum key: %w", err) - } - return hex.EncodeToString(digest.Sum(nil)), nil -} - func TestMaybeFile(t *testing.T) { t.Run("is a file", func(t *testing.T) { is := is.New(t) @@ -58,3 +48,15 @@ func TestMaybeFile(t *testing.T) { is.Equal("strings", maybeFile("strings")) }) } + +func sha256sum(tb testing.TB, path string) string { + tb.Helper() + is := is.New(tb) + bts, err := os.ReadFile(path) + is.NoErr(err) + tb.Log(string(bts)) + digest := sha256.New() + _, err = digest.Write(bts) + is.NoErr(err) + return hex.EncodeToString(digest.Sum(nil)) +} diff --git a/cmd/melt/testdata/id_ed25519 b/cmd/melt/testdata/id_ed25519 new file mode 100644 index 0000000..114473e --- /dev/null +++ b/cmd/melt/testdata/id_ed25519 @@ -0,0 +1,7 @@ +-----BEGIN OPENSSH PRIVATE KEY----- +b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW +QyNTUxOQAAACDJQSoksziSwoefzN4O7jzRv6vJpyOW9CnGXgkUjVajHAAAAIgvWUstL1lL +LQAAAAtzc2gtZWQyNTUxOQAAACDJQSoksziSwoefzN4O7jzRv6vJpyOW9CnGXgkUjVajHA +AAAEAHa+hzPanJO/Ef7G03pLLub2KNYh+szqeY/1e7ADjdy8lBKiSzOJLCh5/M3g7uPNG/ +q8mnI5b0KcZeCRSNVqMcAAAAAAECAwQF +-----END OPENSSH PRIVATE KEY----- diff --git a/cmd/melt/testdata/id_ed25519.pub b/cmd/melt/testdata/id_ed25519.pub new file mode 100644 index 0000000..3c6069c --- /dev/null +++ b/cmd/melt/testdata/id_ed25519.pub @@ -0,0 +1 @@ +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMlBKiSzOJLCh5/M3g7uPNG/q8mnI5b0KcZeCRSNVqMc diff --git a/cmd/melt/testdata/test_ed25519 b/cmd/melt/testdata/test_ed25519 deleted file mode 100644 index b0cdce9..0000000 --- a/cmd/melt/testdata/test_ed25519 +++ /dev/null @@ -1,7 +0,0 @@ ------BEGIN OPENSSH PRIVATE KEY----- -b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtz -c2gtZWQyNTUxOQAAACAV84f5iFg4YcIW0NpDTxEFhU98BsACUQgKJia4yhGU+AAA -AIgb2DVoG9g1aAAAAAtzc2gtZWQyNTUxOQAAACAV84f5iFg4YcIW0NpDTxEFhU98 -BsACUQgKJia4yhGU+AAAAECOnIiVlopOI+nd/IWGdpjm6+ggY8zwdWDMccQKrZk0 -2xXzh/mIWDhhwhbQ2kNPEQWFT3wGwAJRCAomJrjKEZT4AAAAAAECAwQF ------END OPENSSH PRIVATE KEY-----