diff options
Diffstat (limited to 'test/unit')
-rw-r--r-- | test/unit/adapters/celluloid_http_test.rb | 39 | ||||
-rw-r--r-- | test/unit/adapters/em_http_test.rb | 25 | ||||
-rw-r--r-- | test/unit/couch_db/source_unit_test.rb | 5 | ||||
-rw-r--r-- | test/unit/email_address_test.rb | 22 | ||||
-rw-r--r-- | test/unit/hkp/client_test.rb | 53 | ||||
-rw-r--r-- | test/unit/nickname_test.rb | 28 | ||||
-rw-r--r-- | test/unit/request_handler_test.rb | 8 |
7 files changed, 122 insertions, 58 deletions
diff --git a/test/unit/adapters/celluloid_http_test.rb b/test/unit/adapters/celluloid_http_test.rb new file mode 100644 index 0000000..4381b8f --- /dev/null +++ b/test/unit/adapters/celluloid_http_test.rb @@ -0,0 +1,39 @@ +require 'test_helper' +require 'nickserver/adapters/celluloid_http' + +class Nickserver::Adapters::CelluloidHttpTest < Minitest::Test + + def setup + super + Celluloid.boot + end + + def teardown + Celluloid.shutdown + super + end + + def test_successful_request + url = 'http://url.to' + stub_http_request(:get, url) + .with(query: {key: :value}) + .to_return status: 200, body: 'body' + status, body = adapter.get(url, query: {key: :value}) + assert_equal 200, status + assert_equal 'body', body + end + + def test_https_for_hkp + url = Nickserver::Config.hkp_url + real_network do + status, _body = adapter.get url + assert_equal 404, status + end + end + + protected + + def adapter + @adapter ||= Nickserver::Adapters::CelluloidHttp.new + end +end diff --git a/test/unit/adapters/em_http_test.rb b/test/unit/adapters/em_http_test.rb deleted file mode 100644 index 659ff1b..0000000 --- a/test/unit/adapters/em_http_test.rb +++ /dev/null @@ -1,25 +0,0 @@ -require 'test_helper' -require 'nickserver/adapters/em_http' - -class Nickserver::Adapters::EmHttpTest < Minitest::Test - - def test_successful_request - url = 'http://url.to' - stub_http_request(:get, url) - .with(query: {key: :value}) - .to_return status: 200, body: 'body' - EM.run do - adapter.get(url, query: {key: :value}) do |status, body| - assert_equal 200, status - assert_equal 'body', body - EM.stop - end - end - end - - protected - - def adapter - Nickserver::Adapters::EmHttp.new - end -end diff --git a/test/unit/couch_db/source_unit_test.rb b/test/unit/couch_db/source_unit_test.rb index 19ea9bc..fd07808 100644 --- a/test/unit/couch_db/source_unit_test.rb +++ b/test/unit/couch_db/source_unit_test.rb @@ -7,10 +7,9 @@ module Nickserver::CouchDB def test_query address = "nick@domain.tl" adapter = Minitest::Mock.new - adapter.expect :get, nil, + adapter.expect :get, [200, nil], [String, {query: { reduce: "false", key: "\"#{address}\"" }}] - query = Source.new(adapter) - query.query address + Source.new(adapter).query address adapter.verify end end diff --git a/test/unit/email_address_test.rb b/test/unit/email_address_test.rb new file mode 100644 index 0000000..6d57a8c --- /dev/null +++ b/test/unit/email_address_test.rb @@ -0,0 +1,22 @@ +require 'test_helper' +require 'nickserver/email_address' + +class EmailAddressTest < Minitest::Test + + def test_domain + nick = Nickserver::EmailAddress.new 'nick@test.me' + assert nick.domain?('test.me') + assert !nick.domain?('est.me') + end + + def test_valid + nick = Nickserver::EmailAddress.new 'nick@remote.domain' + assert nick.valid? + end + + def test_invalid + nick = Nickserver::EmailAddress.new 'asdf' + assert nick.invalid? + end + +end diff --git a/test/unit/hkp/client_test.rb b/test/unit/hkp/client_test.rb new file mode 100644 index 0000000..9784d0a --- /dev/null +++ b/test/unit/hkp/client_test.rb @@ -0,0 +1,53 @@ +require 'test_helper' +require 'nickserver/hkp/client' + +module Nickserver::Hkp + class ClientTest < Minitest::Test + + def test_get_key_infos_by_email + adapter_expects_query op: "vindex", + search: email, + options: "mr", + fingerprint: "on", + exact: "on" + client.get_key_infos_by_email(email) + @adapter.verify + end + + def test_key_by_fingerprint + adapter_expects_query op: "get", + search: "0x#{fingerprint}", + options: "mr", + exact: "on" + client.get_key_by_fingerprint(fingerprint) + @adapter.verify + end + + def client + @client ||= Client.new @adapter + end + + def adapter_expects_query(query = {}) + adapter_expects Nickserver::Config.hkp_url, query: query + end + + def adapter_expects(*args) + @adapter = Minitest::Mock.new + @adapter.expect :get, dummy_response, + args + end + + def email + 'dummy_email' + end + + def fingerprint + 'dummy_fingerprint' + end + + def dummy_response + [200, 'dummy_response'] + end + + end +end diff --git a/test/unit/nickname_test.rb b/test/unit/nickname_test.rb deleted file mode 100644 index 8681545..0000000 --- a/test/unit/nickname_test.rb +++ /dev/null @@ -1,28 +0,0 @@ -require 'test_helper' -require 'nickserver/nickname' - -class NicknameTest < Minitest::Test - - def test_local - nick = Nickserver::Nickname.new 'nick@test.me' - assert nick.local? - assert !nick.remote? - end - - def test_remote - nick = Nickserver::Nickname.new 'nick@remote.domain' - assert !nick.local? - assert nick.remote? - end - - def test_valid - nick = Nickserver::Nickname.new 'nick@remote.domain' - assert nick.valid? - end - - def test_invalid - nick = Nickserver::Nickname.new 'asdf' - assert nick.invalid? - end - -end diff --git a/test/unit/request_handler_test.rb b/test/unit/request_handler_test.rb index c9d316f..ef656f9 100644 --- a/test/unit/request_handler_test.rb +++ b/test/unit/request_handler_test.rb @@ -13,6 +13,11 @@ class Nickserver::RequestHandlerTest < Minitest::Test assert_response status: 500, content: "500 Not a valid address\n" end + def test_missing_domain + handle address: ['valid@email.tld'] + assert_response status: 500, content: "500 HTTP request must include a Host header.\n" + end + protected def handle(params = {}, headers = {}) @@ -21,8 +26,7 @@ class Nickserver::RequestHandlerTest < Minitest::Test end def assert_response(args) - args[:content_type] ||= 'text/plain' - responder.expect :send_response, nil, [args] + responder.expect :respond, nil, [args[:status], args[:content]] handler.respond_to @params, @headers responder.verify end |