diff options
author | Pablo Carranza <pcarranza@gmail.com> | 2016-03-11 14:37:11 +0000 |
---|---|---|
committer | Pablo Carranza <pcarranza@gmail.com> | 2016-03-24 20:48:27 +0000 |
commit | 79aed51b9010151a48cc519e41d0805e652cb24e (patch) | |
tree | 5714c38179abdd3cb91717ea0d109277cbba9509 | |
parent | aedf824d2d7f5bce34d9e8dba728af05ea236b79 (diff) | |
download | gitlab-shell-79aed51b9010151a48cc519e41d0805e652cb24e.tar.gz |
Add encoding for the ssh key on the url
-rw-r--r-- | lib/gitlab_net.rb | 2 | ||||
-rw-r--r-- | spec/gitlab_net_spec.rb | 4 | ||||
-rw-r--r-- | spec/vcr_cassettes/ssh-key-ok.yml | 2 |
3 files changed, 5 insertions, 3 deletions
diff --git a/lib/gitlab_net.rb b/lib/gitlab_net.rb index 39384c7..8b6d33b 100644 --- a/lib/gitlab_net.rb +++ b/lib/gitlab_net.rb @@ -57,7 +57,7 @@ class GitlabNet end def authorized_key(key) - resp = get("#{host}/authorized_keys?key=#{key}") + resp = get("#{host}/authorized_keys?key=#{URI.escape(key, '+/=')}") JSON.parse(resp.body) if resp.code == "200" rescue nil diff --git a/spec/gitlab_net_spec.rb b/spec/gitlab_net_spec.rb index 786316d..e4dee33 100644 --- a/spec/gitlab_net_spec.rb +++ b/spec/gitlab_net_spec.rb @@ -77,6 +77,8 @@ describe GitlabNet, vcr: true do end describe :authorized_key do + let (:ssh_key) { "AAAAB3NzaC1yc2EAAAADAQABAAACAQDPKPqqnqQ9PDFw65cO7iHXrKw6ucSZg8Bd2CZ150Yy1YRDPJOWeRNCnddS+M/Lk" } + it "should return nil when the resource is not implemented" do VCR.use_cassette("ssh-key-not-implemented") do result = gitlab_net.authorized_key("whatever") @@ -93,7 +95,7 @@ describe GitlabNet, vcr: true do it "should return a ssh key with a valid fingerprint" do VCR.use_cassette("ssh-key-ok") do - result = gitlab_net.authorized_key("42:18:16") + result = gitlab_net.authorized_key(ssh_key) result.should eq({ "created_at" => "2016-03-04T18:27:36.959Z", "id" => 2, diff --git a/spec/vcr_cassettes/ssh-key-ok.yml b/spec/vcr_cassettes/ssh-key-ok.yml index 9101236..87817d1 100644 --- a/spec/vcr_cassettes/ssh-key-ok.yml +++ b/spec/vcr_cassettes/ssh-key-ok.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://dev.gitlab.org/api/v3/internal/authorized_keys?key=42:18:16 + uri: https://dev.gitlab.org/api/v3/internal/authorized_keys?key=AAAAB3NzaC1yc2EAAAADAQABAAACAQDPKPqqnqQ9PDFw65cO7iHXrKw6ucSZg8Bd2CZ150Yy1YRDPJOWeRNCnddS+M/Lk body: encoding: US-ASCII string: secret_token=a123 |