package agehd import ( "bytes" "io" "testing" "filippo.io/age" ) const mnemonic = "abandon abandon abandon abandon abandon " + "abandon abandon abandon abandon abandon abandon about" func TestEncryptDecrypt(t *testing.T) { id, err := DeriveIdentity(mnemonic, 0) if err != nil { t.Fatalf("derive: %v", err) } t.Logf("secret: %s", id.String()) t.Logf("recipient: %s", id.Recipient().String()) var ct bytes.Buffer w, err := age.Encrypt(&ct, id.Recipient()) if err != nil { t.Fatalf("encrypt init: %v", err) } if _, err = io.WriteString(w, "hello world"); err != nil { t.Fatalf("write: %v", err) } if err = w.Close(); err != nil { t.Fatalf("encrypt close: %v", err) } r, err := age.Decrypt(bytes.NewReader(ct.Bytes()), id) if err != nil { t.Fatalf("decrypt init: %v", err) } dec, err := io.ReadAll(r) if err != nil { t.Fatalf("read: %v", err) } if got := string(dec); got != "hello world" { t.Fatalf("round-trip mismatch: %q", got) } }