Sha256: f2d1aa432f9035fdc6ab6d65044afc0a226b1c704ee740fbf2bcb47e1e466d75
Contents?: true
Size: 1.32 KB
Versions: 6
Compression:
Stored size: 1.32 KB
Contents
require_relative '../helper' class TestSkeinClientWorker < Test::Unit::TestCase class ErrorGenerator < Skein::Client::Worker class CustomError < RuntimeError end def raises_error raise CustomError, 'Example error!' end end def test_example worker = Skein::Client::Worker.new('test_rpc') handler = Skein::Handler.for(worker) message = { method: 'ident', params: [ ], id: '43d8352c-4907-4c32-9c81-fc34e91a3884' } handler.handle(JSON.dump(message)) do |response_json, error| response = JSON.load(response_json) expected = { 'result' => worker.ident, 'error' => nil, 'id' => message[:id] } assert_equal(expected, response) end ensure worker and worker.close end def test_throws_exception worker = ErrorGenerator.new('test_error') handler = Skein::Handler.for(worker) message = { method: 'raises_error', id: '29fe8a40-fccf-43c6-ba48-818598c66e6f' } handler.handle(JSON.dump(message)) do |response_json, error| expected = { 'result' => nil, 'error' => '[TestSkeinClientWorker::ErrorGenerator::CustomError] Example error!', 'id' => message[:id] } assert_equal(expected.to_json, response_json) end ensure worker and worker.close end end
Version data entries
6 entries across 6 versions & 1 rubygems