diff --git a/ably/rest/auth.py b/ably/rest/auth.py index 83e376d6..a92987cf 100644 --- a/ably/rest/auth.py +++ b/ably/rest/auth.py @@ -161,7 +161,7 @@ def request_token(self, token_params=None, elif isinstance(token_request, dict) and 'issued' in token_request: return TokenDetails.from_dict(token_request) elif isinstance(token_request, dict): - token_request = TokenRequest(**token_request) + token_request = TokenRequest.from_json(token_request) elif isinstance(token_request, six.text_type): return TokenDetails(token=token_request) # python2 diff --git a/ably/rest/channel.py b/ably/rest/channel.py index b894e841..2ac260d1 100644 --- a/ably/rest/channel.py +++ b/ably/rest/channel.py @@ -66,7 +66,6 @@ def history(self, direction=None, limit=None, start=None, end=None, timeout=None return PaginatedResult.paginated_query( self.ably.http, url=path, response_processor=message_handler) - @catch_all def publish(self, name=None, data=None, client_id=None, extras=None, messages=None, timeout=None): """Publishes a message on this channel. diff --git a/test/ably/resttoken_test.py b/test/ably/resttoken_test.py index da269a58..60e65372 100644 --- a/test/ably/resttoken_test.py +++ b/test/ably/resttoken_test.py @@ -245,18 +245,27 @@ def test_token_request_can_be_used_to_get_a_token(self): key_name=self.key_name, key_secret=self.key_secret) self.assertIsInstance(token_request, TokenRequest) - def auth_callback(token_params): - return token_request - - ably = AblyRest(auth_callback=auth_callback, + ably = AblyRest(auth_callback=lambda x: token_request, rest_host=test_vars["host"], port=test_vars["port"], tls_port=test_vars["tls_port"], tls=test_vars["tls"], use_binary_protocol=self.use_binary_protocol) - token = ably.auth.authorize() + self.assertIsInstance(token, TokenDetails) + + def test_token_request_dict_can_be_used_to_get_a_token(self): + token_request = self.ably.auth.create_token_request( + key_name=self.key_name, key_secret=self.key_secret) + self.assertIsInstance(token_request, TokenRequest) + ably = AblyRest(auth_callback=lambda x: token_request.to_dict(), + rest_host=test_vars["host"], + port=test_vars["port"], + tls_port=test_vars["tls_port"], + tls=test_vars["tls"], + use_binary_protocol=self.use_binary_protocol) + token = ably.auth.authorize() self.assertIsInstance(token, TokenDetails) # TE6 diff --git a/tox.ini b/tox.ini index 57f6cd64..c8d27351 100644 --- a/tox.ini +++ b/tox.ini @@ -10,7 +10,7 @@ deps = -rrequirements-test.txt commands = - py.test -n auto --tb=short test + py.test -n auto --tb=long test [testenv:flake8] commands =