summaryrefslogtreecommitdiff
path: root/spec/gitlab_keys_spec.rb
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2013-02-05 10:16:14 +0200
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2013-02-05 10:16:14 +0200
commit2b01b84f8d0cf469bdd3b031b1658db6fd8c0f52 (patch)
tree921bceed956d5e13ba805a3c1f3c315ce3ec402a /spec/gitlab_keys_spec.rb
parentea6ea902bea6857d2a0dbdf6d5492105a527d276 (diff)
downloadgitlab-shell-2b01b84f8d0cf469bdd3b031b1658db6fd8c0f52.tar.gz
gitlab-keys with tests
Diffstat (limited to 'spec/gitlab_keys_spec.rb')
-rw-r--r--spec/gitlab_keys_spec.rb47
1 files changed, 47 insertions, 0 deletions
diff --git a/spec/gitlab_keys_spec.rb b/spec/gitlab_keys_spec.rb
new file mode 100644
index 0000000..620b7b9
--- /dev/null
+++ b/spec/gitlab_keys_spec.rb
@@ -0,0 +1,47 @@
+require_relative 'spec_helper'
+require_relative '../lib/gitlab_keys'
+
+describe GitlabKeys do
+ describe :initialize do
+ before do
+ argv('add-key', 'dzaporozhets', 'ssh-rsa AAAAB3NzaDAxx2E')
+ @gl_keys = GitlabKeys.new
+ end
+
+ it { @gl_keys.username.should == 'dzaporozhets' }
+ it { @gl_keys.key.should == 'ssh-rsa AAAAB3NzaDAxx2E' }
+ it { @gl_keys.instance_variable_get(:@command).should == 'add-key' }
+ end
+
+ describe :add_key do
+ before do
+ argv('add-key', 'dzaporozhets', 'ssh-rsa AAAAB3NzaDAxx2E')
+ @gl_keys = GitlabKeys.new
+ end
+
+ it "should receive valid cmd" do
+ valid_cmd = "echo 'command=\"/home/git/gitlab-shell/spec/../bin/gitlab-shell dzaporozhets\",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa AAAAB3NzaDAxx2E' >> /home/git/.ssh/authorized_keys"
+ @gl_keys.should_receive(:system).with(valid_cmd)
+ @gl_keys.send :add_key
+ end
+ end
+
+ describe :rm_key do
+ before do
+ argv('rm-key', 'dzaporozhets', 'ssh-rsa AAAAB3NzaDAxx2E')
+ @gl_keys = GitlabKeys.new
+ end
+
+ it "should receive valid cmd" do
+ valid_cmd = "sed '/ssh-rsa AAAAB3NzaDAxx2E/d' /home/git/.ssh/authorized_keys"
+ @gl_keys.should_receive(:system).with(valid_cmd)
+ @gl_keys.send :rm_key
+ end
+ end
+
+ def argv(*args)
+ args.each_with_index do |arg, i|
+ ARGV[i] = arg
+ end
+ end
+end