summaryrefslogtreecommitdiff
path: root/spec/gitlab_keys_spec.rb
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2013-03-11 14:57:07 +0200
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2013-03-11 14:57:07 +0200
commit519ba6f90a521c3dba05e8582dd245325308d584 (patch)
treeb6e47f2b9c01ad5895b9e67e83c84fd82f7fb3c8 /spec/gitlab_keys_spec.rb
parent409404d62dd9d8348a7929c55d5ca48ae8179266 (diff)
downloadgitlab-shell-519ba6f90a521c3dba05e8582dd245325308d584.tar.gz
test GitlabKeys exec
Diffstat (limited to 'spec/gitlab_keys_spec.rb')
-rw-r--r--spec/gitlab_keys_spec.rb54
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)