From 92642b773853bbc5de9a2e376d7d250c013d6db2 Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone <exarkun@twistedmatrix.com> Date: Tue, 16 Jul 2019 10:16:09 -0400 Subject: [PATCH] Use the attr.s validator feature --- src/_secureaccesstokenauthorizer/_storage_server.py | 5 ++++- .../tests/test_plugin.py | 13 ++++++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/_secureaccesstokenauthorizer/_storage_server.py b/src/_secureaccesstokenauthorizer/_storage_server.py index ed44a7e..fbae0c3 100644 --- a/src/_secureaccesstokenauthorizer/_storage_server.py +++ b/src/_secureaccesstokenauthorizer/_storage_server.py @@ -21,6 +21,9 @@ implemented in ``_storage_client.py``. """ import attr +from attr.validators import ( + provides, +) from zope.interface import ( implementer_only, @@ -145,7 +148,7 @@ class RITokenAuthorizedStorageServer(RemoteInterface): # attributes on self and it's hard to avoid that. @attr.s(cmp=False) class SecureAccessTokenAuthorizerStorageServer(Referenceable): - _original = attr.ib() + _original = attr.ib(validator=provides(RIStorageServer)) def _validate_tokens(self, tokens): pass diff --git a/src/_secureaccesstokenauthorizer/tests/test_plugin.py b/src/_secureaccesstokenauthorizer/tests/test_plugin.py index 00c6f65..14d544b 100644 --- a/src/_secureaccesstokenauthorizer/tests/test_plugin.py +++ b/src/_secureaccesstokenauthorizer/tests/test_plugin.py @@ -16,6 +16,10 @@ Tests for the Tahoe-LAFS plugin. """ +from zope.interface import ( + implementer, +) + from testtools import ( TestCase, ) @@ -44,6 +48,7 @@ from allmydata.interfaces import ( IFoolscapStoragePlugin, IAnnounceableStorageServer, IStorageServer, + RIStorageServer, ) from twisted.plugin import ( @@ -64,8 +69,14 @@ from .matchers import ( Provides, ) + +@implementer(RIStorageServer) +class StubStorageServer(object): + pass + + def get_anonymous_storage_server(): - return None + return StubStorageServer() def get_rref(): -- GitLab