Commit 784221bd authored by Jacob Vosmaer's avatar Jacob Vosmaer

Add permission check tests, improve check

parent f9a55789
...@@ -94,9 +94,9 @@ class GitlabKeys ...@@ -94,9 +94,9 @@ class GitlabKeys
end end
def check_permissions def check_permissions
open_auth_file('r+') { return true } open_auth_file('r+') { true }
rescue rescue => ex
puts "error: could not open #{auth_file}" puts "error: could not open #{auth_file}: #{ex}"
if File.exist?(auth_file) if File.exist?(auth_file)
system('ls', '-l', auth_file) system('ls', '-l', auth_file)
else else
......
...@@ -15,7 +15,6 @@ describe GitlabKeys do ...@@ -15,7 +15,6 @@ describe GitlabKeys do
it { gitlab_keys.instance_variable_get(:@key_id).should == 'key-741' } it { gitlab_keys.instance_variable_get(:@key_id).should == 'key-741' }
end end
describe :add_key do describe :add_key do
let(:gitlab_keys) { build_gitlab_keys('add-key', 'key-741', 'ssh-rsa AAAAB3NzaDAxx2E') } let(:gitlab_keys) { build_gitlab_keys('add-key', 'key-741', 'ssh-rsa AAAAB3NzaDAxx2E') }
...@@ -145,6 +144,20 @@ describe GitlabKeys do ...@@ -145,6 +144,20 @@ describe GitlabKeys do
end end
end end
describe :check_permissions do
let(:gitlab_keys) { build_gitlab_keys('check-permissions') }
it 'returns true when the file can be opened' do
create_authorized_keys_fixture
expect(gitlab_keys.exec).to eq(true)
end
it 'returns false if opening raises an exception' do
gitlab_keys.should_receive(:open_auth_file).and_raise("imaginary error")
expect(gitlab_keys.exec).to eq(false)
end
end
describe :exec do describe :exec do
it 'add-key arg should execute add_key method' do it 'add-key arg should execute add_key method' do
gitlab_keys = build_gitlab_keys('add-key') gitlab_keys = build_gitlab_keys('add-key')
...@@ -170,6 +183,12 @@ describe GitlabKeys do ...@@ -170,6 +183,12 @@ describe GitlabKeys do
gitlab_keys.exec gitlab_keys.exec
end end
it 'check-permissions arg should execute check_permissions method' do
gitlab_keys = build_gitlab_keys('check-permissions')
gitlab_keys.should_receive(:check_permissions)
gitlab_keys.exec
end
it 'should puts message if unknown command arg' do it 'should puts message if unknown command arg' do
gitlab_keys = build_gitlab_keys('change-key') gitlab_keys = build_gitlab_keys('change-key')
gitlab_keys.should_receive(:puts).with('not allowed') gitlab_keys.should_receive(:puts).with('not allowed')
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment