Package com.wesabe.grendel.openpgp.tests

Source Code of com.wesabe.grendel.openpgp.tests.MessageReaderTest$Reading_An_Encrypted_Message

package com.wesabe.grendel.openpgp.tests;

import static org.fest.assertions.Assertions.*;

import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;

import org.junit.Before;
import org.junit.Test;
import org.junit.experimental.runners.Enclosed;
import org.junit.runner.RunWith;

import com.wesabe.grendel.openpgp.KeySet;
import com.wesabe.grendel.openpgp.MessageReader;
import com.wesabe.grendel.openpgp.UnlockedKeySet;

@RunWith(Enclosed.class)
public class MessageReaderTest {
  public static class Reading_An_Encrypted_Message {
    private KeySet owner;
    private UnlockedKeySet recipient;
    private byte[] original;
   
    @Before
    public void setup() throws Exception {
      final FileInputStream keyRingFile = new FileInputStream("src/test/resources/secret-keyring.gpg");
      this.owner = KeySet.load(keyRingFile);
     
      final FileInputStream anotherKeyRingFile = new FileInputStream("src/test/resources/another-secret-keyring.gpg");
      this.recipient = KeySet.load(anotherKeyRingFile).unlock("test2".toCharArray());
     
      final FileInputStream input = new FileInputStream("src/test/resources/encrypted-and-signed.txt");
      final ByteArrayOutputStream output = new ByteArrayOutputStream();
      byte[] b = new byte[4096];
      int r = 0;
      while ((r = input.read(b)) >= 0) {
        output.write(b, 0, r);
      }
      this.original = output.toByteArray();
    }
   
    @Test
    public void itReadsAnEncryptedMessage() throws Exception {
      final FileInputStream input = new FileInputStream("src/test/resources/encrypted-and-signed.txt.gpg");
      final ByteArrayOutputStream output = new ByteArrayOutputStream();
      byte[] b = new byte[4096];
      int r = 0;
      while ((r = input.read(b)) >= 0) {
        output.write(b, 0, r);
      }
      final MessageReader reader = new MessageReader(owner, recipient);
      final byte[] body = reader.read(output.toByteArray());
      assertThat(body).isEqualTo(original);
    }
  }
 
  // TODO coda@wesabe.com -- Dec 23, 2009: check for integrity check failure
  // TODO coda@wesabe.com -- Dec 23, 2009: check for bad signature
  // TODO coda@wesabe.com -- Dec 23, 2009: check for missing signature
  // TODO coda@wesabe.com -- Dec 23, 2009: check for missing one-pass signature
  // TODO coda@wesabe.com -- Dec 23, 2009: check for missing encrypted data
  // TODO coda@wesabe.com -- Dec 24, 2009: check for uncompressed data
}
TOP

Related Classes of com.wesabe.grendel.openpgp.tests.MessageReaderTest$Reading_An_Encrypted_Message

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.