diff --git a/app/controllers/profiles/keys_controller.rb b/app/controllers/profiles/keys_controller.rb
index e8237a1f227869df1be97b4f106dcda9c251faec..b4f14e649e2ee2d293dca298e4373d1c99319369 100644
--- a/app/controllers/profiles/keys_controller.rb
+++ b/app/controllers/profiles/keys_controller.rb
@@ -41,7 +41,7 @@ class Profiles::KeysController < ApplicationController
       begin
         user = User.find_by_username(params[:username])
         if user.present?
-          render text: user.all_ssh_keys.join('\n')
+          render text: user.all_ssh_keys.join("\n")
         else
           render_404 and return
         end
diff --git a/spec/controllers/profile_keys_controller_spec.rb b/spec/controllers/profile_keys_controller_spec.rb
new file mode 100644
index 0000000000000000000000000000000000000000..121012d5d499cb935636b88d9c40d261c4ca6826
--- /dev/null
+++ b/spec/controllers/profile_keys_controller_spec.rb
@@ -0,0 +1,49 @@
+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
diff --git a/spec/factories.rb b/spec/factories.rb
index 8c12c9b3e19af27358739bfda365828524abfd82..e5d05a4c2ea01aa1bfbe72327c8d0ea9d59c580c 100644
--- a/spec/factories.rb
+++ b/spec/factories.rb
@@ -207,6 +207,12 @@ FactoryGirl.define do
       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
       key do
         "ssh-rsa this_is_invalid_key=="