diff options
author | Ondřej Surý <ondrej@sury.org> | 2011-06-03 11:31:24 +0200 |
---|---|---|
committer | Ondřej Surý <ondrej@sury.org> | 2011-06-03 11:38:02 +0200 |
commit | 13f4fcd5bf09c70942b6c85a2b919ffa1ca0c6a8 (patch) | |
tree | 717e1ceeef3a60af29e7897c7629d1502b797838 /src/pkg/crypto/openpgp/write_test.go | |
parent | 6bf52070ef1028f7fcc98fad1e73795a7efd7ce7 (diff) | |
download | golang-13f4fcd5bf09c70942b6c85a2b919ffa1ca0c6a8.tar.gz |
Imported Upstream version 2011.06.02
Diffstat (limited to 'src/pkg/crypto/openpgp/write_test.go')
-rw-r--r-- | src/pkg/crypto/openpgp/write_test.go | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/pkg/crypto/openpgp/write_test.go b/src/pkg/crypto/openpgp/write_test.go index a74a84b2b..8551aeb63 100644 --- a/src/pkg/crypto/openpgp/write_test.go +++ b/src/pkg/crypto/openpgp/write_test.go @@ -7,6 +7,8 @@ package openpgp import ( "bytes" "crypto/rand" + "os" + "io" "testing" "time" ) @@ -85,3 +87,36 @@ func TestNewEntity(t *testing.T) { t.Errorf("results differed") } } + +func TestSymmetricEncryption(t *testing.T) { + buf := new(bytes.Buffer) + plaintext, err := SymmetricallyEncrypt(buf, []byte("testing"), nil) + if err != nil { + t.Errorf("error writing headers: %s", err) + return + } + message := []byte("hello world\n") + _, err = plaintext.Write(message) + if err != nil { + t.Errorf("error writing to plaintext writer: %s", err) + } + err = plaintext.Close() + if err != nil { + t.Errorf("error closing plaintext writer: %s", err) + } + + md, err := ReadMessage(buf, nil, func(keys []Key, symmetric bool) ([]byte, os.Error) { + return []byte("testing"), nil + }) + if err != nil { + t.Errorf("error rereading message: %s", err) + } + messageBuf := bytes.NewBuffer(nil) + _, err = io.Copy(messageBuf, md.UnverifiedBody) + if err != nil { + t.Errorf("error rereading message: %s", err) + } + if !bytes.Equal(message, messageBuf.Bytes()) { + t.Errorf("recovered message incorrect got '%s', want '%s'", messageBuf.Bytes(), message) + } +} |