diff options
author | Azul <azul@riseup.net> | 2016-07-02 12:03:46 +0200 |
---|---|---|
committer | Azul <azul@riseup.net> | 2016-07-02 12:03:46 +0200 |
commit | fb2d7e6f8f1fceefbc8964d34369a867eb8f25bb (patch) | |
tree | 672ea8bbf03876d65c90ecb1ed152424e74939e1 /test | |
parent | 8a664a39bc3dd77a9c53fa5931f81c2b2b8b7295 (diff) |
refactor: replace blocks/yields with returns
This became possible because we now use celluloid.
Celluloid handles asynchronity without the need for callbacks
or blocks.
Diffstat (limited to 'test')
-rw-r--r-- | test/helpers/test_adapter.rb | 10 | ||||
-rw-r--r-- | test/integration/couch_db/source_test.rb | 8 | ||||
-rw-r--r-- | test/integration/nickserver_test.rb | 7 | ||||
-rw-r--r-- | test/unit/adapters/celluloid_http_test.rb | 12 | ||||
-rw-r--r-- | test/unit/couch_db/source_unit_test.rb | 5 | ||||
-rw-r--r-- | test/unit/hkp/client_test.rb | 53 |
6 files changed, 72 insertions, 23 deletions
diff --git a/test/helpers/test_adapter.rb b/test/helpers/test_adapter.rb deleted file mode 100644 index 46d4713..0000000 --- a/test/helpers/test_adapter.rb +++ /dev/null @@ -1,10 +0,0 @@ -class TestAdapter - def initialize(status, content) - @status = status - @content = content - end - - def get(url, opts) - yield @status, @content - end -end diff --git a/test/integration/couch_db/source_test.rb b/test/integration/couch_db/source_test.rb index 21e3642..cb1153e 100644 --- a/test/integration/couch_db/source_test.rb +++ b/test/integration/couch_db/source_test.rb @@ -1,6 +1,5 @@ require 'test_helper' require 'file_content' -require 'helpers/test_adapter' require 'nickserver/couch_db/source' module Nickserver::CouchDB @@ -8,12 +7,17 @@ module Nickserver::CouchDB include FileContent def test_couch_query_and_response - adapter = TestAdapter.new 200, file_content(:blue_couchdb_result) + adapter = adapter_returns 200, file_content(:blue_couchdb_result) source = Source.new adapter source.query 'blue@example.org' do |response| assert_equal 200, response.status assert_equal file_content(:blue_nickserver_result), response.content end end + + def adapter_returns(*return_values) + adapter = Minitest::Mock.new + adapter.expect :get, return_values, [String, Hash] + end end end diff --git a/test/integration/nickserver_test.rb b/test/integration/nickserver_test.rb index d179d7e..710c3a1 100644 --- a/test/integration/nickserver_test.rb +++ b/test/integration/nickserver_test.rb @@ -18,7 +18,12 @@ class NickserverTest < Minitest::Test def setup super - Celluloid.shutdown; Celluloid.boot + Celluloid.boot + end + + def teardown + Celluloid.shutdown + super end def test_GET_served_via_SKS diff --git a/test/unit/adapters/celluloid_http_test.rb b/test/unit/adapters/celluloid_http_test.rb index 87e7f55..4381b8f 100644 --- a/test/unit/adapters/celluloid_http_test.rb +++ b/test/unit/adapters/celluloid_http_test.rb @@ -18,18 +18,16 @@ class Nickserver::Adapters::CelluloidHttpTest < Minitest::Test stub_http_request(:get, url) .with(query: {key: :value}) .to_return status: 200, body: 'body' - adapter.get(url, query: {key: :value}) do |status, body| - assert_equal 200, status - assert_equal 'body', body - end + 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 - adapter.get url do |status, _body| - assert_equal 404, status - end + status, _body = adapter.get url + assert_equal 404, status 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/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 |