def test_register_token_to_resolver_raises_resolver_error_if_request_error( requests_mock): requests_mock.post(url='/1.0/register', exc=RequestException) requester = RESTResolverRequester(address='http://ploptest') with pytest.raises(IdentityResolverError) as err_wrapper: requester.register_token('a token') assert isinstance(err_wrapper.value.__cause__, RequestException)
def test_get_token_from_resolver_raises_resolver_error_if_request_error( requests_mock, doc_did): requests_mock.get(url=f'/1.0/discover/{doc_did}', exc=RequestException) requester = RESTResolverRequester(address='http://ploptest') with pytest.raises(IdentityResolverError) as err_wrapper: requester.get_token(doc_did) assert isinstance(err_wrapper.value.__cause__, RequestException)
def test_register_token_to_resolver_raises_timeout_error_if_connection_timeout( requests_mock): requests_mock.post(url='/1.0/register', exc=ConnectTimeout) requester = RESTResolverRequester(address='http://ploptest') with pytest.raises(IdentityResolverTimeoutError) as err_wrapper: requester.register_token('a token') assert isinstance(err_wrapper.value.__cause__, ConnectTimeout)
def test_can_register_token_to_resolver(requests_mock): a_token = 'the value doesn\'t matter here' requests_mock.post( '/1.0/register', headers={'Content-type': 'text/plain'}, ) requester = RESTResolverRequester(address='http://ploptest') requester.register_token(a_token) assert requests_mock.request_history[0].body == a_token
def test_get_token_from_resolver_raises_not_found_error_if_http_not_found( requests_mock, doc_did): requests_mock.get( f'/1.0/discover/{doc_did}', json={}, status_code=404, ) requester = RESTResolverRequester(address='http://ploptest') with pytest.raises(IdentityResolverDocNotFoundError) as err_wrapper: requester.get_token(doc_did) assert isinstance(err_wrapper.value.__cause__, HTTPError)
def test_register_token_to_resolver_raises_resolver_error_if_http_error( requests_mock): requests_mock.post( '/1.0/register', headers={'Content-type': 'text/plain'}, json={}, status_code=400, ) requester = RESTResolverRequester(address='http://ploptest') with pytest.raises(IdentityResolverError) as err_wrapper: requester.register_token('a token') assert isinstance(err_wrapper.value.__cause__, HTTPError)
def test_get_token_from_resolver_raises_resolver_error_if_inconsistent_response( requests_mock, doc_did): requests_mock.get(f'/1.0/discover/{doc_did}', json={'plop': 12}) requester = RESTResolverRequester(address='http://ploptest') with pytest.raises(IdentityResolverError): requester.get_token(doc_did)
def test_can_get_token_from_resolver(requests_mock, doc_did): a_token = 'the value doesn\'t matter here' requests_mock.get(f'/1.0/discover/{doc_did}', json={'token': a_token}) requester = RESTResolverRequester(address='http://ploptest') token = requester.get_token(doc_did) assert token == a_token