From f9fad55a61e867533083f489ec36817fd76ebad8 Mon Sep 17 00:00:00 2001 From: Azul Date: Wed, 24 Apr 2013 12:11:56 +0200 Subject: renamed and fixed pgp_key view --- users/app/designs/user/email_by_login_or_alias.js | 9 --------- users/app/models/user.rb | 15 ++++++++++++++- 2 files changed, 14 insertions(+), 10 deletions(-) delete mode 100644 users/app/designs/user/email_by_login_or_alias.js (limited to 'users') diff --git a/users/app/designs/user/email_by_login_or_alias.js b/users/app/designs/user/email_by_login_or_alias.js deleted file mode 100644 index 2a86d68..0000000 --- a/users/app/designs/user/email_by_login_or_alias.js +++ /dev/null @@ -1,9 +0,0 @@ -function(doc) { - if (doc.type != 'User') { - return; - } - emit(doc.login, doc.public_key); - doc.email_aliases.forEach(function(alias){ - emit(alias.username, doc.public_key); - }); -} diff --git a/users/app/models/user.rb b/users/app/models/user.rb index 62c5054..5c849f0 100644 --- a/users/app/models/user.rb +++ b/users/app/models/user.rb @@ -51,7 +51,20 @@ class User < CouchRest::Model::Base load_views(own_path.join('..', 'designs', 'user')) view :by_login view :by_created_at - end + view :pgp_key_by_handle, + map: <<-EOJS + function(doc) { + if (doc.type != 'User') { + return; + } + emit(doc.login, doc.public_key); + doc.email_aliases.forEach(function(alias){ + emit(alias.username, doc.public_key); + }); + } + EOJS + + end # end of design class << self alias_method :find_by_param, :find -- cgit v1.2.3 From d5f0e5b67332e7c72ef9e738678e9b0e220b164b Mon Sep 17 00:00:00 2001 From: Azul Date: Wed, 24 Apr 2013 13:37:09 +0200 Subject: added test for pgp key view --- users/test/unit/user_test.rb | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'users') diff --git a/users/test/unit/user_test.rb b/users/test/unit/user_test.rb index 10c8b46..c8c837b 100644 --- a/users/test/unit/user_test.rb +++ b/users/test/unit/user_test.rb @@ -64,4 +64,15 @@ class UserTest < ActiveSupport::TestCase other_user.destroy end + test "pgp key view" do + @user.public_key = SecureRandom.base64(4096) + @user.save + + view = User.pgp_key_by_handle.key(@user.login) + + assert_equal 1, view.rows.count + assert result = view.rows.first + assert_equal @user.login, result["key"] + assert_equal @user.public_key, result["value"] + end end -- cgit v1.2.3