diff --git a/src/_secureaccesstokenauthorizer/tests/test_plugin.py b/src/_secureaccesstokenauthorizer/tests/test_plugin.py index ef1827dc3223177c15f43096f44c553d4ceab876..3d83cad896b65929d0221a98b9164d2e413ce367 100644 --- a/src/_secureaccesstokenauthorizer/tests/test_plugin.py +++ b/src/_secureaccesstokenauthorizer/tests/test_plugin.py @@ -150,3 +150,29 @@ class PluginTests(TestCase): ), ), ) + + + @given(configurations()) + def test_returns_hashable(self, configuration): + """ + The storage server attached to the result of + ``storage_server.get_storage_server`` is hashable for use as a Python + dictionary key. + + This is another requirement of Foolscap. + """ + storage_server_deferred = storage_server.get_storage_server( + configuration, + get_anonymous_storage_server, + ) + broker = Broker(None) + broker.makeConnection(StringTransport()) + self.expectThat( + storage_server_deferred, + succeeded( + AfterPreprocessing( + lambda ann: hash(ann.storage_server), + Always(), + ), + ), + )