Split the user ssh keys by newline, not the characters "\n"

before:
GET /user.keys

ssh-rsa ...\nssh-rsa ...\nssh-rsa ...

after:
GET /user.keys

ssh-rsa ...
ssh-rsa ...
sha-rsa ...
parent 39aeac71
...@@ -41,7 +41,7 @@ class Profiles::KeysController < ApplicationController ...@@ -41,7 +41,7 @@ class Profiles::KeysController < ApplicationController
begin begin
user = User.find_by_username(params[:username]) user = User.find_by_username(params[:username])
if user.present? if user.present?
render text: user.all_ssh_keys.join('\n') render text: user.all_ssh_keys.join("\n")
else else
render_404 and return render_404 and return
end end
......
require 'spec_helper'
describe Profiles::KeysController do
let(:user) { create(:user) }
describe "#get_keys" do
describe "non existant user" do
it "should generally not work" do
get :get_keys, username: 'not-existent'
expect(response).not_to be_success
end
end
describe "user with no keys" do
it "should generally work" do
get :get_keys, username: user.username
expect(response).to be_success
end
it "should render all keys separated with a new line" do
get :get_keys, username: user.username
expect(response.body).to eq("")
end
end
describe "user with keys" do
before do
user.keys << create(:key)
user.keys << create(:another_key)
end
it "should generally work" do
get :get_keys, username: user.username
expect(response).to be_success
end
it "should render all keys separated with a new line" do
get :get_keys, username: user.username
expect(response.body).not_to eq("")
expect(response.body).to eq(user.all_ssh_keys.join("\n"))
end
end
end
end
...@@ -207,6 +207,12 @@ FactoryGirl.define do ...@@ -207,6 +207,12 @@ FactoryGirl.define do
end end
end end
factory :another_key do
key do
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDmTillFzNTrrGgwaCKaSj+QCz81E6jBc/s9av0+3b1Hwfxgkqjl4nAK/OD2NjgyrONDTDfR8cRN4eAAy6nY8GLkOyYBDyuc5nTMqs5z3yVuTwf3koGm/YQQCmo91psZ2BgDFTor8SVEE5Mm1D1k3JDMhDFxzzrOtRYFPci9lskTJaBjpqWZ4E9rDTD2q/QZntCqbC3wE9uSemRQB5f8kik7vD/AD8VQXuzKladrZKkzkONCPWsXDspUitjM8HkQdOf0PsYn1CMUC1xKYbCxkg5TkEosIwGv6CoEArUrdu/4+10LVslq494mAvEItywzrluCLCnwELfW+h/m8UHoVhZ"
end
end
factory :invalid_key do factory :invalid_key do
key do key do
"ssh-rsa this_is_invalid_key==" "ssh-rsa this_is_invalid_key=="
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment