diff options
author | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2013-03-11 14:57:07 +0200 |
---|---|---|
committer | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2013-03-11 14:57:07 +0200 |
commit | 519ba6f90a521c3dba05e8582dd245325308d584 (patch) | |
tree | b6e47f2b9c01ad5895b9e67e83c84fd82f7fb3c8 /spec/gitlab_keys_spec.rb | |
parent | 409404d62dd9d8348a7929c55d5ca48ae8179266 (diff) | |
download | gitlab-shell-519ba6f90a521c3dba05e8582dd245325308d584.tar.gz |
test GitlabKeys exec
Diffstat (limited to 'spec/gitlab_keys_spec.rb')
-rw-r--r-- | spec/gitlab_keys_spec.rb | 54 |
1 files changed, 35 insertions, 19 deletions
diff --git a/spec/gitlab_keys_spec.rb b/spec/gitlab_keys_spec.rb index 0aeebbc..0caaf9b 100644 --- a/spec/gitlab_keys_spec.rb +++ b/spec/gitlab_keys_spec.rb @@ -3,40 +3,56 @@ require_relative '../lib/gitlab_keys' describe GitlabKeys do describe :initialize do - before do - argv('add-key', 'key-741', 'ssh-rsa AAAAB3NzaDAxx2E') - @gl_keys = GitlabKeys.new - end + let(:gitlab_keys) { build_gitlab_keys('add-key', 'key-741', 'ssh-rsa AAAAB3NzaDAxx2E') } - it { @gl_keys.key.should == 'ssh-rsa AAAAB3NzaDAxx2E' } - it { @gl_keys.instance_variable_get(:@command).should == 'add-key' } - it { @gl_keys.instance_variable_get(:@key_id).should == 'key-741' } + it { gitlab_keys.key.should == 'ssh-rsa AAAAB3NzaDAxx2E' } + it { gitlab_keys.instance_variable_get(:@command).should == 'add-key' } + it { gitlab_keys.instance_variable_get(:@key_id).should == 'key-741' } end describe :add_key do - before do - argv('add-key', 'key-741', 'ssh-rsa AAAAB3NzaDAxx2E') - @gl_keys = GitlabKeys.new - end + let(:gitlab_keys) { build_gitlab_keys('add-key', 'key-741', 'ssh-rsa AAAAB3NzaDAxx2E') } 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}" - @gl_keys.should_receive(:system).with(valid_cmd) - @gl_keys.send :add_key + gitlab_keys.should_receive(:system).with(valid_cmd) + gitlab_keys.send :add_key end end describe :rm_key do - before do - argv('rm-key', 'key-741', 'ssh-rsa AAAAB3NzaDAxx2E') - @gl_keys = GitlabKeys.new - end + let(:gitlab_keys) { build_gitlab_keys('rm-key', 'key-741', 'ssh-rsa AAAAB3NzaDAxx2E') } it "should receive valid cmd" do valid_cmd = "sed -i '/shell key-741/d' #{GitlabConfig.new.auth_file}" - @gl_keys.should_receive(:system).with(valid_cmd) - @gl_keys.send :rm_key + gitlab_keys.should_receive(:system).with(valid_cmd) + 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 + + 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 def argv(*args) |