def test_grant_and_authorize():
    permissions = Permissions(authorized_scopes=['scope'])
    assert permissions.count() == 0
    assert permissions.authorize(
        scope='scope', persona='persona', topic='topic') is False
    permissions.grant(scope='scope', persona='persona', topic='topic')
    assert permissions.count() == 1
    assert permissions.authorize(
        scope='scope', persona='persona', topic='topic') is True
    assert permissions.authorize(
        scope='*unknown*', persona='persona', topic='topic') is False
    assert permissions.authorize(
        scope='scope', persona='*unknown*', topic='topic') is False
    assert permissions.authorize(
        scope='scope', persona='persona', topic='*unknown*') is False
def test_init():
    permissions = Permissions()
    assert permissions.count() == 0