From 30f406de954bac1da5fef7cdd753c0af16f11051 Mon Sep 17 00:00:00 2001 From: Azul Date: Wed, 23 Jan 2013 13:13:41 +0100 Subject: added unit tests for user presenter changed the way the presenter works. Will need functional testing --- users/test/unit/webfinger/user_presenter_test.rb | 49 ++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 users/test/unit/webfinger/user_presenter_test.rb (limited to 'users/test/unit/webfinger/user_presenter_test.rb') diff --git a/users/test/unit/webfinger/user_presenter_test.rb b/users/test/unit/webfinger/user_presenter_test.rb new file mode 100644 index 0000000..7f7a0d4 --- /dev/null +++ b/users/test/unit/webfinger/user_presenter_test.rb @@ -0,0 +1,49 @@ +require 'test_helper' +require 'webfinger' +require 'json' + +class Webfinger::UserPresenterTest < ActiveSupport::TestCase + + + setup do + @user = stub( + username: 'testuser', + email_address: "testuser@#{APP_CONFIG[:domain]}" + ) + @request = stub( + host: APP_CONFIG[:domain] + ) + end + + test "user without key has no links" do + @user.stubs :public_key => nil + presenter = Webfinger::UserPresenter.new(@user, @request) + assert_equal Hash.new, presenter.links + end + + test "user with key has corresponding link" do + @user.stubs :public_key => "here's a key" + presenter = Webfinger::UserPresenter.new(@user, @request) + assert_equal [:public_key], presenter.links.keys + assert_equal "PGP", presenter.links[:public_key][:type] + assert_equal presenter.send(:key), presenter.links[:public_key][:href] + end + + test "key is base64 encoded" do + @user.stubs :public_key => "here's a key" + presenter = Webfinger::UserPresenter.new(@user, @request) + assert_equal Base64.encode64(@user.public_key), presenter.send(:key) + end + + test "creates proper json representation" do + @user.stubs :public_key => "here's a key" + presenter = Webfinger::UserPresenter.new(@user, @request) + hash = JSON.parse presenter.to_json + assert_equal ["subject", "links", "aliases"].sort, hash.keys.sort + hash.each do |key, value| + assert_equal presenter.send(key.to_sym).to_json, value.to_json + end + end + + +end -- cgit v1.2.3 From 9d053b6c9b61c68bf11f95bcb37631a518f1fba4 Mon Sep 17 00:00:00 2001 From: jessib Date: Thu, 24 Jan 2013 11:38:11 -0800 Subject: Removing aliases from webfinger as the link wouldn't work anyway, and don't want to leak ID information. --- users/test/unit/webfinger/user_presenter_test.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'users/test/unit/webfinger/user_presenter_test.rb') diff --git a/users/test/unit/webfinger/user_presenter_test.rb b/users/test/unit/webfinger/user_presenter_test.rb index 7f7a0d4..04aeb22 100644 --- a/users/test/unit/webfinger/user_presenter_test.rb +++ b/users/test/unit/webfinger/user_presenter_test.rb @@ -39,7 +39,7 @@ class Webfinger::UserPresenterTest < ActiveSupport::TestCase @user.stubs :public_key => "here's a key" presenter = Webfinger::UserPresenter.new(@user, @request) hash = JSON.parse presenter.to_json - assert_equal ["subject", "links", "aliases"].sort, hash.keys.sort + assert_equal ["subject", "links"].sort, hash.keys.sort hash.each do |key, value| assert_equal presenter.send(key.to_sym).to_json, value.to_json end -- cgit v1.2.3