summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-02-11 21:07:52 +0200
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-02-11 21:07:52 +0200
commit1bcf0aa2e6983d8ae01b1f1b8e1f94e5c63cfd24 (patch)
treee3a3be01efdecf4231b652f6767c8faa31669bbd /spec
parentd39948a8d000edaf84a74ea2a9a58b6e230e0041 (diff)
parentf10153818b51da7ee4e691cea308dd8964d908c9 (diff)
downloadgitlab-ce-1bcf0aa2e6983d8ae01b1f1b8e1f94e5c63cfd24.tar.gz
Merge pull request #6297 from jojosch/user-public-ssh-keys-newline
Split the user ssh keys by newline, not the characters "\n"
Diffstat (limited to 'spec')
-rw-r--r--spec/controllers/profile_keys_controller_spec.rb49
-rw-r--r--spec/factories.rb6
2 files changed, 55 insertions, 0 deletions
diff --git a/spec/controllers/profile_keys_controller_spec.rb b/spec/controllers/profile_keys_controller_spec.rb
new file mode 100644
index 00000000000..121012d5d49
--- /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 8c12c9b3e19..e5d05a4c2ea 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=="