Sha256: 6f2e4e070b891721d40b90ea909e45995233dd7698fa645aa789f846ac187f2b

Contents?: true

Size: 1.71 KB

Versions: 9

Compression:

Stored size: 1.71 KB

Contents

require 'spec_helper'

describe Heirloom do
  before do
    @logger_mock = mock 'logger', :info => true
    @logger_mock.stub :info  => true,
                      :debug => true
    @config_mock = mock 'config'
    @config_mock.stub :logger => @logger_mock
    @tempfile_stub = stub 'tempfile', :path   => '/path_to_encrypted_archive', 
                                      :close! => true
    Tempfile.stub :new => @tempfile_stub
    @file = Heirloom::Cipher::File.new :config => @config_mock
  end

  it "should encrypt the given file" do
    @file.should_receive(:which).with('gpg').and_return true
    command = 'gpg --batch --yes -c --cipher-algo AES256 --passphrase mysecret --output /path_to_encrypted_archive /file 2>&1'
    @file.should_receive(:`).with command
    $?.stub :success? => true
    FileUtils.should_receive(:mv).
              with('/path_to_encrypted_archive', '/file')
    @file.encrypt_file(:file   => '/file',
                       :secret => 'mysecret').should be_true
  end

  it "should return false if gpg is not in the path" do
    @file.should_receive(:which).with('gpg').and_return false
    @logger_mock.should_receive(:error)
    @file.encrypt_file(:file   => '/file',
                       :secret => 'mysecret').should be_false
  end

  it "should return false if gpg returns non zero code" do
    @file.should_receive(:which).with('gpg').and_return true
    @logger_mock.should_receive(:error)
    command = 'gpg --batch --yes -c --cipher-algo AES256 --passphrase mysecret --output /path_to_encrypted_archive /file 2>&1'
    @file.should_receive(:`).with command
    $?.stub :success? => false
    @file.encrypt_file(:file   => '/file',
                       :secret => 'mysecret').should be_false
  end

end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
heirloom-0.12.1 spec/cipher/file_spec.rb
heirloom-0.12.0 spec/cipher/file_spec.rb
heirloom-0.11.2 spec/cipher/file_spec.rb
heirloom-0.11.1 spec/cipher/file_spec.rb
heirloom-0.11.0 spec/cipher/file_spec.rb
heirloom-0.11.0.beta.2 spec/cipher/file_spec.rb
heirloom-0.11.0.beta.1 spec/cipher/file_spec.rb
heirloom-0.10.1 spec/cipher/file_spec.rb
heirloom-0.10.0 spec/cipher/file_spec.rb