summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/gitlab_keys.rb2
-rw-r--r--spec/gitlab_keys_spec.rb54
2 files changed, 37 insertions, 19 deletions
diff --git a/lib/gitlab_keys.rb b/lib/gitlab_keys.rb
index a7e5a40..756dd96 100644
--- a/lib/gitlab_keys.rb
+++ b/lib/gitlab_keys.rb
@@ -1,5 +1,7 @@
require 'open3'
+require_relative 'gitlab_config'
+
class GitlabKeys
attr_accessor :auth_file, :key
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)