mirror of
https://github.com/gsi-upm/senpy
synced 2024-11-24 09:02:28 +00:00
908090f634
Bug-fixes and improvements: * Closes #5 * Closes #1 * Adds Client (beta) * Added several schemas * Lighter string representation -> should avoid delays in the analysis with plugins that have 'heavy' attributes Backwards-incompatible changes: * Context in headers by default * All schemas include a "@type" argument that is used for autodetection in the client ... And possibly many more, this is still <1.0
43 lines
1.3 KiB
Python
43 lines
1.3 KiB
Python
from unittest import TestCase
|
|
try:
|
|
from unittest.mock import patch
|
|
except ImportError:
|
|
from mock import patch
|
|
|
|
from senpy.client import Client
|
|
from senpy.models import Results, Error
|
|
|
|
|
|
class Call(dict):
|
|
|
|
def __init__(self, obj):
|
|
self.obj = obj.jsonld()
|
|
|
|
def json(self):
|
|
return self.obj
|
|
|
|
|
|
class ModelsTest(TestCase):
|
|
def setUp(self):
|
|
self.host = '0.0.0.0'
|
|
self.port = 5000
|
|
|
|
def test_client(self):
|
|
endpoint = 'http://dummy/'
|
|
client = Client(endpoint)
|
|
success = Call(Results())
|
|
with patch('requests.request', return_value=success) as patched:
|
|
resp = client.analyse('hello')
|
|
assert isinstance(resp, Results)
|
|
patched.assert_called_with(url=endpoint + '/',
|
|
method='GET',
|
|
params={'input': 'hello'})
|
|
error = Call(Error('Nothing'))
|
|
with patch('requests.request', return_value=error) as patched:
|
|
resp = client.analyse(input='hello', algorithm='NONEXISTENT')
|
|
assert isinstance(resp, Error)
|
|
patched.assert_called_with(url=endpoint + '/',
|
|
method='GET',
|
|
params={'input': 'hello',
|
|
'algorithm': 'NONEXISTENT'})
|