Sha256: f1577f23cbefe7444b0ef8ac85f05e51c0e260b6cea0af86a255b0c71c6ca63e

Contents?: true

Size: 1.37 KB

Versions: 9

Compression:

Stored size: 1.37 KB

Contents

require_relative 'test_helper'

class PgpReaderTest < Minitest::Test
  describe IOStreams::Pgp::Reader do
    let :temp_file do
      Tempfile.new('iostreams')
    end

    let :decrypted do
      file_name = File.join(File.dirname(__FILE__), 'files', 'text.txt')
      File.read(file_name)
    end

    after do
      temp_file.delete
    end

    describe '.file' do
      it 'reads encrypted file' do
        IOStreams::Pgp::Writer.file(temp_file.path, recipient: 'receiver@example.org') do |io|
          io.write(decrypted)
        end

        result = IOStreams::Pgp::Reader.file(temp_file.path, passphrase: 'receiver_passphrase') { |file| file.read }
        assert_equal decrypted, result
      end

      it 'fails with bad passphrase' do
        assert_raises IOStreams::Pgp::Failure do
          IOStreams::Pgp::Reader.file(temp_file.path, passphrase: 'BAD') { |file| file.read }
        end
      end

      it 'streams input' do
        io_string = StringIO.new(''.b)
        IOStreams::Pgp::Writer.stream(io_string, recipient: 'receiver@example.org', signer: 'sender@example.org', signer_passphrase: 'sender_passphrase') do |io|
          io.write(decrypted)
        end

        io     = StringIO.new(io_string.string)
        result = IOStreams::Pgp::Reader.stream(io, passphrase: 'receiver_passphrase', &:read)
        assert_equal decrypted, result
      end

    end

  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
iostreams-1.1.0 test/pgp_reader_test.rb
iostreams-1.0.0 test/pgp_reader_test.rb
iostreams-1.0.0.beta7 test/pgp_reader_test.rb
iostreams-1.0.0.beta6 test/pgp_reader_test.rb
iostreams-1.0.0.beta5 test/pgp_reader_test.rb
iostreams-1.0.0.beta4 test/pgp_reader_test.rb
iostreams-1.0.0.beta3 test/pgp_reader_test.rb
iostreams-1.0.0.beta2 test/pgp_reader_test.rb
iostreams-1.0.0.beta test/pgp_reader_test.rb