From 964cd0b049e67ca10bd37b67c4b14ccd37064511 Mon Sep 17 00:00:00 2001 From: Azul Date: Fri, 16 Sep 2016 14:32:55 +0200 Subject: deal with network issues in nicknym source This is a first step. In case the suspected nicknym server cannot be reached we will now move on and try other sources. It's robably not what we want in the long run. In order to know wether no key exists or we just failed to connect to some servers a different http response code would be nice if network errors occured. This simplifies testing such scenarios in the unit test and makes the remote tests skip on network failure. --- test/remote/nicknym_source_test.rb | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'test/remote/nicknym_source_test.rb') diff --git a/test/remote/nicknym_source_test.rb b/test/remote/nicknym_source_test.rb index 2be7251..c95c820 100644 --- a/test/remote/nicknym_source_test.rb +++ b/test/remote/nicknym_source_test.rb @@ -2,6 +2,9 @@ require 'test_helper' require 'nickserver/nicknym/source' require 'nickserver/email_address' +# +# Please note the Readme.md file in this directory +# class RemoteNicknymSourceTest < Minitest::Test def setup @@ -15,22 +18,22 @@ class RemoteNicknymSourceTest < Minitest::Test end def test_availablility_check - assert source.available_for? 'mail.bitmask.net' + skip unless source.available_for? 'mail.bitmask.net' refute source.available_for? 'dl.bitmask.net' # not a provider - refute source.available_for? 'demo.bitmask.net' # provider without mx end def test_successful_query response = source.query(email_with_key) + skip if response.status == 404 json = JSON.parse response.content - assert_equal 200, response.status assert_equal email_with_key.to_s, json["address"] refute_empty json["openpgp"] end def test_not_found response = source.query(email_without_key) - assert_equal 404, response.status + skip if response.status == 200 + assert response.status == 404 end protected -- cgit v1.2.3 From 1202e3b03c3bb88cd3a63dae3866167564f1d25d Mon Sep 17 00:00:00 2001 From: Azul Date: Thu, 22 Sep 2016 11:31:01 +0200 Subject: hand on connection errors to dispatcher so it can handle it --- test/remote/nicknym_source_test.rb | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'test/remote/nicknym_source_test.rb') diff --git a/test/remote/nicknym_source_test.rb b/test/remote/nicknym_source_test.rb index c95c820..b38a991 100644 --- a/test/remote/nicknym_source_test.rb +++ b/test/remote/nicknym_source_test.rb @@ -18,8 +18,10 @@ class RemoteNicknymSourceTest < Minitest::Test end def test_availablility_check - skip unless source.available_for? 'mail.bitmask.net' + source.available_for? 'mail.bitmask.net' refute source.available_for? 'dl.bitmask.net' # not a provider + rescue HTTP::ConnectionError => e + skip e.to_s end def test_successful_query @@ -28,12 +30,16 @@ class RemoteNicknymSourceTest < Minitest::Test json = JSON.parse response.content assert_equal email_with_key.to_s, json["address"] refute_empty json["openpgp"] + rescue HTTP::ConnectionError => e + skip e.to_s end def test_not_found response = source.query(email_without_key) skip if response.status == 200 assert response.status == 404 + rescue HTTP::ConnectionError => e + skip e.to_s end protected -- cgit v1.2.3