Пример #1
0
def test_014_invalid_echelon():
    manager = EchelonManager(database=DB)
    user = User('test', [])

    with pytest.raises(ValueError):
        manager.define_echelon('::foo::bar')
    with pytest.raises(ValueError):
        manager.check_access(user, '::foo::bar')
Пример #2
0
def test_016_anonymous():
    manager = EchelonManager(database=DB)
    manager.define_echelon('anon')
    user = AnonUser('anonymous')
    manager.add_member('anon', user.get_id(), MemberTypes.USER)

    assert manager.check_access(user, 'anon') is True
Пример #3
0
def test_013_custom_separator():
    manager = EchelonManager(database=DB, separator='|')

    admin_echelon = 'foo'
    valid_echelon = 'foo|bar'
    another_valid_echelon = 'foo|bar|baz'
    invalid_echelon = 'foo!bar'

    manager.define_echelon(admin_echelon)
    manager.define_echelon(valid_echelon)
    manager.define_echelon(invalid_echelon)

    admin = User('admin', [])

    manager.add_member(admin_echelon, 'admin', MemberTypes.USER)

    assert manager.check_access(admin, admin_echelon) is True
    assert manager.check_access(admin, valid_echelon) is True
    assert manager.check_access(admin, another_valid_echelon) is True
    assert manager.check_access(admin, invalid_echelon) is False