@pytest.mark.parametrize('annotation', [
        {},
        {'permissions': {}},
        {'permissions': {'admin': []}},
        {'permissions': {'admin': ['acct:alice@example.com']}},
        {'permissions': {'read': ['acct:mallory@example.com']}},
    ])
    def test_it_denies_permissions_changes_if_not_admin(self,
                                                        annotation,
                                                        authn_policy):
        authn_policy.authenticated_userid.return_value = (
            'acct:mallory@example.com')
        request = testing.DummyRequest()
        schema = schemas.LegacyUpdateAnnotationSchema(request, annotation)
        data = {
            'permissions': {'admin': ['acct:mallory@example.com']}
        }

        with pytest.raises(schemas.ValidationError) as exc:
            schema.validate(data)

        assert exc.value.message.startswith('permissions:')
Received Sec-WebSocket-Extensions header value is parsed into
dataset/ETHPy150Open hypothesis/h/h/api/test/schemas_test.py/TestLegacyUpdateAnnotationSchema.test_it_denies_permissions_changes_if_not_admin--crossover with--dataset/ETHPy150Open google/pywebsocket/example/echo_noext_wsh.py/web_socket_do_extra_handshake