diff options
author | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2013-02-05 11:02:32 +0200 |
---|---|---|
committer | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2013-02-05 11:02:32 +0200 |
commit | 2241d7674568423d6f57fb565b3ff53167bd5ca8 (patch) | |
tree | 51c2cad1ed92eaf80ca3f18dcaa14d4c5c076473 | |
parent | a8b9cb85fc1ea861dc31bdbaaeb8c76b1b5cbfd7 (diff) | |
download | gitlab-shell-2241d7674568423d6f57fb565b3ff53167bd5ca8.tar.gz |
add/remove keys by id
-rwxr-xr-x | bin/gitlab-keys | 4 | ||||
-rw-r--r-- | lib/gitlab_keys.rb | 8 | ||||
-rw-r--r-- | spec/gitlab_keys_spec.rb | 12 |
3 files changed, 12 insertions, 12 deletions
diff --git a/bin/gitlab-keys b/bin/gitlab-keys index e6780ca..26d46cd 100755 --- a/bin/gitlab-keys +++ b/bin/gitlab-keys @@ -6,9 +6,9 @@ require_relative '../lib/gitlab_init' # GitLab Keys shell. Add/remove keys from ~/.ssh/authorized_keys # # Ex. -# /bin/gitlab-keys add-key dzaporozhets "ssh-rsa AAAAx321..." +# /bin/gitlab-keys add-key key-782 "ssh-rsa AAAAx321..." # -# /bin/gitlab-keys rm-key dzaporozhets "ssh-rsa AAAAx321..." +# /bin/gitlab-keys rm-key key-23 "ssh-rsa AAAAx321..." # require File.join(ROOT_PATH, 'lib', 'gitlab_keys') diff --git a/lib/gitlab_keys.rb b/lib/gitlab_keys.rb index 1cbaffb..d223d81 100644 --- a/lib/gitlab_keys.rb +++ b/lib/gitlab_keys.rb @@ -2,11 +2,11 @@ require 'open3' require_relative 'gitlab_config' class GitlabKeys - attr_accessor :auth_file, :key, :username + attr_accessor :auth_file, :key def initialize @command = ARGV.shift - @username = ARGV.shift + @key_id = ARGV.shift @key = ARGV.shift @auth_file = GitlabConfig.new.auth_file end @@ -23,13 +23,13 @@ class GitlabKeys protected def add_key - cmd = "command=\"#{ROOT_PATH}/bin/gitlab-shell #{@username}\",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty #{@key}" + cmd = "command=\"#{ROOT_PATH}/bin/gitlab-shell #{@key_id}\",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty #{@key}" cmd = "echo \'#{cmd}\' >> #{auth_file}" system(cmd) end def rm_key - cmd = "sed '/#{@key}/d' #{auth_file}" + cmd = "sed '/#{@key_id}/d' #{auth_file}" system(cmd) end end diff --git a/spec/gitlab_keys_spec.rb b/spec/gitlab_keys_spec.rb index 9d3df34..322c05e 100644 --- a/spec/gitlab_keys_spec.rb +++ b/spec/gitlab_keys_spec.rb @@ -4,23 +4,23 @@ require_relative '../lib/gitlab_keys' describe GitlabKeys do describe :initialize do before do - argv('add-key', 'dzaporozhets', 'ssh-rsa AAAAB3NzaDAxx2E') + argv('add-key', 'key-741', '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' } + it { @gl_keys.instance_variable_get(:@key_id).should == 'key-741' } end describe :add_key do before do - argv('add-key', 'dzaporozhets', 'ssh-rsa AAAAB3NzaDAxx2E') + argv('add-key', 'key-741', 'ssh-rsa AAAAB3NzaDAxx2E') @gl_keys = GitlabKeys.new end it "should receive valid cmd" do - valid_cmd = "echo 'command=\"#{ROOT_PATH}/bin/gitlab-shell dzaporozhets\",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa AAAAB3NzaDAxx2E' >> /home/git/.ssh/authorized_keys" + 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' >> /home/git/.ssh/authorized_keys" @gl_keys.should_receive(:system).with(valid_cmd) @gl_keys.send :add_key end @@ -28,12 +28,12 @@ describe GitlabKeys do describe :rm_key do before do - argv('rm-key', 'dzaporozhets', 'ssh-rsa AAAAB3NzaDAxx2E') + argv('rm-key', 'key-741', '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" + valid_cmd = "sed '/key-741/d' /home/git/.ssh/authorized_keys" @gl_keys.should_receive(:system).with(valid_cmd) @gl_keys.send :rm_key end |