Package com.wesabe.grendel.openpgp.tests

Source Code of com.wesabe.grendel.openpgp.tests.MessageWriterTest

package com.wesabe.grendel.openpgp.tests;

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

import java.io.FileInputStream;
import java.security.SecureRandom;
import java.util.Random;

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

import com.google.common.collect.ImmutableList;
import com.wesabe.grendel.openpgp.KeySet;
import com.wesabe.grendel.openpgp.MessageReader;
import com.wesabe.grendel.openpgp.MessageWriter;
import com.wesabe.grendel.openpgp.UnlockedKeySet;

@RunWith(Enclosed.class)
public class MessageWriterTest {
  public static class Encrypting_A_Message {
    private UnlockedKeySet 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).unlock("test".toCharArray());
     
      final FileInputStream anotherKeyRingFile = new FileInputStream("src/test/resources/another-secret-keyring.gpg");
      this.recipient = KeySet.load(anotherKeyRingFile).unlock("test2".toCharArray());
     
      // 1MB of data
      final Random random = new Random();
      this.original = new byte[1 << 20];
      random.nextBytes(original);
    }
   
    @Test
    public void itIsDecryptableByMessageReader() throws Exception {
      final MessageWriter writer = new MessageWriter(owner, ImmutableList.<KeySet>of(recipient), new SecureRandom());
     
      final byte[] encrypted = writer.write(original);
     
      final MessageReader reader = new MessageReader(owner, recipient);
      final byte[] decrypted = reader.read(encrypted);
     
      assertThat(decrypted).isEqualTo(original);
    }
  }
}
TOP

Related Classes of com.wesabe.grendel.openpgp.tests.MessageWriterTest

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.