You've already forked bthlabs-jsonrpc
Initial public releases
* `bthlabs-jsonrpc-aiohttp` v1.0.0 * `bthlabs-jsonrpc-core` v1.0.0 * `bthlabs-jsonrpc-django` v1.0.0
This commit is contained in:
@@ -0,0 +1,108 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from unittest import mock
|
||||
|
||||
from bthlabs_jsonrpc_core import registry
|
||||
|
||||
|
||||
def test_init():
|
||||
# When
|
||||
result = registry.MethodRegistry()
|
||||
|
||||
# Then
|
||||
assert result.registry == {'jsonrpc': {}}
|
||||
|
||||
|
||||
@mock.patch.object(registry.MethodRegistry, '__init__')
|
||||
def test_shared_registry(mock_init):
|
||||
# Given
|
||||
mock_init.return_value = None
|
||||
|
||||
# When
|
||||
result = registry.MethodRegistry.shared_registry()
|
||||
|
||||
# Then
|
||||
assert isinstance(result, registry.MethodRegistry)
|
||||
|
||||
assert registry.MethodRegistry.INSTANCE is result
|
||||
|
||||
assert mock_init.called is True
|
||||
|
||||
# After
|
||||
registry.MethodRegistry.INSTANCE = None
|
||||
|
||||
|
||||
@mock.patch.object(registry.MethodRegistry, '__init__')
|
||||
def test_shared_registry_with_instance(mock_init, fake_method_registry):
|
||||
# Given
|
||||
mock_init.return_value = None
|
||||
|
||||
registry.MethodRegistry.INSTANCE = fake_method_registry
|
||||
|
||||
# When
|
||||
result = registry.MethodRegistry.shared_registry()
|
||||
|
||||
# Then
|
||||
assert result is fake_method_registry
|
||||
|
||||
assert registry.MethodRegistry.INSTANCE is fake_method_registry
|
||||
|
||||
assert mock_init.called is False
|
||||
|
||||
# After
|
||||
registry.MethodRegistry.INSTANCE = None
|
||||
|
||||
|
||||
def test_register_method(fake_handler):
|
||||
# Given
|
||||
the_registry = registry.MethodRegistry()
|
||||
|
||||
# When'
|
||||
the_registry.register_method('testing', 'test', fake_handler)
|
||||
|
||||
# Then
|
||||
expected_namespace = {'test': fake_handler}
|
||||
assert the_registry.registry['testing'] == expected_namespace
|
||||
|
||||
|
||||
def test_register_method_existing_namespace(fake_handler):
|
||||
# Given
|
||||
spam_handler = mock.Mock()
|
||||
|
||||
the_registry = registry.MethodRegistry()
|
||||
the_registry.registry['jsonrpc']['spam'] = spam_handler
|
||||
|
||||
# When'
|
||||
the_registry.register_method('jsonrpc', 'test', fake_handler)
|
||||
|
||||
# Then
|
||||
expected_namespace = {'spam': spam_handler, 'test': fake_handler}
|
||||
assert the_registry.registry['jsonrpc'] == expected_namespace
|
||||
|
||||
|
||||
def test_get_methods():
|
||||
# Given
|
||||
the_registry = registry.MethodRegistry()
|
||||
the_registry.registry['jsonrpc']['spam'] = mock.Mock()
|
||||
the_registry.registry['jsonrpc']['eggs'] = mock.Mock()
|
||||
|
||||
# When'
|
||||
result = the_registry.get_methods('jsonrpc')
|
||||
|
||||
# Then
|
||||
expected_methods = {'spam', 'eggs'}
|
||||
assert set(result) == expected_methods
|
||||
|
||||
|
||||
def test_get_handler(fake_handler):
|
||||
# Given
|
||||
spam_handler = mock.Mock()
|
||||
|
||||
the_registry = registry.MethodRegistry()
|
||||
the_registry.registry['jsonrpc']['spam'] = spam_handler
|
||||
the_registry.registry['jsonrpc']['eggs'] = fake_handler
|
||||
|
||||
# When'
|
||||
result = the_registry.get_handler('jsonrpc', 'eggs')
|
||||
|
||||
# Then
|
||||
assert result is fake_handler
|
||||
Reference in New Issue
Block a user