Commit 519ba6f9 authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets

test GitlabKeys exec

parent 409404d6
require 'open3' require 'open3'
require_relative 'gitlab_config'
class GitlabKeys class GitlabKeys
attr_accessor :auth_file, :key attr_accessor :auth_file, :key
......
...@@ -3,40 +3,56 @@ require_relative '../lib/gitlab_keys' ...@@ -3,40 +3,56 @@ require_relative '../lib/gitlab_keys'
describe GitlabKeys do describe GitlabKeys do
describe :initialize do describe :initialize do
before do let(:gitlab_keys) { build_gitlab_keys('add-key', 'key-741', 'ssh-rsa AAAAB3NzaDAxx2E') }
argv('add-key', 'key-741', 'ssh-rsa AAAAB3NzaDAxx2E')
@gl_keys = GitlabKeys.new
end
it { @gl_keys.key.should == 'ssh-rsa AAAAB3NzaDAxx2E' } it { gitlab_keys.key.should == 'ssh-rsa AAAAB3NzaDAxx2E' }
it { @gl_keys.instance_variable_get(:@command).should == 'add-key' } it { gitlab_keys.instance_variable_get(:@command).should == 'add-key' }
it { @gl_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
before do let(:gitlab_keys) { build_gitlab_keys('add-key', 'key-741', 'ssh-rsa AAAAB3NzaDAxx2E') }
argv('add-key', 'key-741', 'ssh-rsa AAAAB3NzaDAxx2E')
@gl_keys = GitlabKeys.new
end
it "should receive valid cmd" do it "should receive valid cmd" do
valid_cmd = "echo 'command=\"#{ROOT_PATH}/bin/gitlab-shell key-741\",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa AAAAB3NzaDAxx2E' >> #{GitlabConfig.new.auth_file}" valid_cmd = "echo 'command=\"#{ROOT_PATH}/bin/gitlab-shell key-741\",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa AAAAB3NzaDAxx2E' >> #{GitlabConfig.new.auth_file}"
@gl_keys.should_receive(:system).with(valid_cmd) gitlab_keys.should_receive(:system).with(valid_cmd)
@gl_keys.send :add_key gitlab_keys.send :add_key
end end
end end
describe :rm_key do describe :rm_key do
before do let(:gitlab_keys) { build_gitlab_keys('rm-key', 'key-741', 'ssh-rsa AAAAB3NzaDAxx2E') }
argv('rm-key', 'key-741', 'ssh-rsa AAAAB3NzaDAxx2E')
@gl_keys = GitlabKeys.new
end
it "should receive valid cmd" do it "should receive valid cmd" do
valid_cmd = "sed -i '/shell key-741/d' #{GitlabConfig.new.auth_file}" valid_cmd = "sed -i '/shell key-741/d' #{GitlabConfig.new.auth_file}"
@gl_keys.should_receive(:system).with(valid_cmd) gitlab_keys.should_receive(:system).with(valid_cmd)
@gl_keys.send :rm_key gitlab_keys.send :rm_key
end
end
describe :exec do
it 'add-key arg should execute add_key method' do
gitlab_keys = build_gitlab_keys('add-key')
gitlab_keys.should_receive(:add_key)
gitlab_keys.exec
end end
it 'rm-key arg should execute rm_key method' do
gitlab_keys = build_gitlab_keys('rm-key')
gitlab_keys.should_receive(:rm_key)
gitlab_keys.exec
end
it 'should puts message if unknown command arg' do
gitlab_keys = build_gitlab_keys('change-key')
gitlab_keys.should_receive(:puts).with('not allowed')
gitlab_keys.exec
end
end
def build_gitlab_keys(*args)
argv(*args)
GitlabKeys.new
end end
def argv(*args) def argv(*args)
......
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