add symlink file integration tests

Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
This commit is contained in:
Dominik Richter 2015-09-15 12:19:15 +02:00
parent 3e16407454
commit 0969a04853

View file

@ -1,6 +1,7 @@
# encoding: utf-8
describe 'file interface' do
let(:backend) { get_backend.call() }
let(:backend) { get_backend.call }
describe 'regular file' do
let(:file) { backend.file('/tmp/file') }
@ -41,8 +42,86 @@ describe 'file interface' do
file.mode?(00764).must_equal(false)
end
it 'has no link_target' do
file.link_target.must_equal('')
it 'has no link_path' do
file.link_path.must_be_nil
end
it 'has an md5sum' do
file.md5sum.must_equal('5eb63bbbe01eeed093cb22bb8f5acdc3')
end
it 'has an sha256sum' do
file.sha256sum.must_equal('b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9')
end
it 'has a modified time' do
# Must be in within 1800s (30min) of the current time
file.mtime.must_be_close_to(Time.now.to_i, 1000)
end
it 'has size' do
# Must be around 11 Bytes, +- 4
file.size.must_be_close_to(11, 4)
end
it 'has no selinux_label' do
file.selinux_label.must_equal(nil)
end
it 'has no product_version' do
file.product_version.must_equal(nil)
end
it 'has no file_version' do
file.file_version.must_equal(nil)
end
end
describe 'symlink file' do
let(:file) { backend.file('/tmp/symlink') }
it 'exists' do
file.exists?.must_equal(true)
end
it 'is a symlink' do
file.symlink?.must_equal(true)
end
it 'is pointing to a file' do
file.file?.must_equal(true)
end
it 'is not pointing to a folder' do
file.directory?.must_equal(false)
end
it 'has type :symlink' do
file.type.must_equal(:symlink)
end
it 'has content' do
file.content.must_equal('hello world')
end
it 'has owner name root' do
file.owner.must_equal('root')
end
it 'has group name root' do
file.group.must_equal('root')
end
it 'has mode 0777' do
file.mode.must_equal(00777)
end
it 'checks mode? 0777' do
file.mode?(00777).must_equal(true)
end
it 'has link_path' do
file.link_path.must_equal('/tmp/file')
end
it 'has an md5sum' do