Page MenuHomeSoftware Heritage

shared_behaviour.rb
No OneTemporary

shared_behaviour.rb

require 'spec_helper'
require 'tmpdir'
RSpec.shared_examples "an archive provider" do | provider_class|
describe provider_class do
let(:resource){
Puppet::Type::Archive.new({
:name => '/tmp/example.zip',
:source => 'http://home.lan/example.zip'
})
}
let(:provider){
provider_class.new(resource)
}
let(:zipfile){
File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'files', 'test.zip'))
}
it '#checksum?' do
Dir.mktmpdir do |dir|
resource[:path] = File.join(dir, resource[:filename])
FileUtils.cp(zipfile, resource[:path])
resource[:checksum] = '377ec712d7fdb7266221db3441e3af2055448ead'
resource[:checksum_type] = :sha1
expect(provider.checksum?).to eq true
resource[:checksum] = '557e2ebb67b35d1fddff18090b6bc26b'
resource[:checksum_type] = :md5
expect(provider.checksum?).to eq true
resource[:checksum] = '557e2ebb67b35d1fddff18090b6bc26b'
resource[:checksum_type] = :sha1
expect(provider.checksum?).to eq false
end
end
it '#extract' do
Dir.mktmpdir do |dir|
resource[:path] = File.join(dir, resource[:filename])
extracted_file = File.join(dir, 'test')
FileUtils.cp(zipfile, resource[:path])
resource[:extract] = :true
resource[:creates] = extracted_file
resource[:extract_path] = dir
provider.extract
expect(File.read(extracted_file)).to eq "hello world\n"
end
end
it '#extracted?' do
Dir.mktmpdir do |dir|
resource[:path] = File.join(dir, resource[:filename])
extracted_file = File.join(dir, 'test')
FileUtils.cp(zipfile, resource[:path])
resource[:extract] = :true
resource[:creates] = extracted_file
resource[:extract_path] = dir
expect(provider.extracted?).to eq false
provider.extract
expect(provider.extracted?).to eq true
end
end
it '#cleanup' do
Dir.mktmpdir do |dir|
resource[:path] = File.join(dir, resource[:filename])
extracted_file = File.join(dir, 'test')
FileUtils.cp(zipfile, resource[:path])
resource[:extract] = :true
resource[:cleanup] = :true
resource[:creates] = extracted_file
resource[:extract_path] = dir
provider.extract
provider.cleanup
expect(File.exist? resource[:path]).to eq false
end
end
it '#create' do
Dir.mktmpdir do |dir|
resource[:path] = File.join(dir, resource[:filename])
extracted_file = File.join(dir, 'test')
FileUtils.cp(zipfile, resource[:path])
resource[:extract] = :true
resource[:cleanup] = :true
resource[:creates] = extracted_file
resource[:extract_path] = dir
provider.create
expect(File.read(extracted_file)).to eq "hello world\n"
expect(File.exist? resource[:path]).to eq false
end
end
end
end

File Metadata

Mime Type
text/x-ruby
Expires
Jun 4 2025, 6:41 PM (14 w, 1 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3398703

Event Timeline