summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPablo Carranza <pcarranza@gmail.com>2016-03-11 14:37:11 +0000
committerPablo Carranza <pcarranza@gmail.com>2016-03-24 20:48:27 +0000
commit79aed51b9010151a48cc519e41d0805e652cb24e (patch)
tree5714c38179abdd3cb91717ea0d109277cbba9509
parentaedf824d2d7f5bce34d9e8dba728af05ea236b79 (diff)
downloadgitlab-shell-79aed51b9010151a48cc519e41d0805e652cb24e.tar.gz
Add encoding for the ssh key on the url
-rw-r--r--lib/gitlab_net.rb2
-rw-r--r--spec/gitlab_net_spec.rb4
-rw-r--r--spec/vcr_cassettes/ssh-key-ok.yml2
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