mirror of
https://github.com/jupyterhub/jupyterhub.git
synced 2025-10-13 13:03:01 +00:00
fixup test_orm with new User wrapper
user.db is evaluated immediately, rather than on first request, which means we can't do User(orm.User) before adding the orm.User to the db
This commit is contained in:
@@ -42,9 +42,10 @@ def test_server(db):
|
||||
|
||||
|
||||
def test_user(db):
|
||||
user = User(orm.User(name='kaylee'))
|
||||
db.add(user)
|
||||
orm_user = orm.User(name='kaylee')
|
||||
db.add(orm_user)
|
||||
db.commit()
|
||||
user = User(orm_user)
|
||||
spawner = user.spawners['']
|
||||
spawner.orm_spawner.state = {'pid': 4234}
|
||||
assert user.name == 'kaylee'
|
||||
@@ -164,13 +165,13 @@ def test_spawn_fails(db):
|
||||
@gen.coroutine
|
||||
def start(self):
|
||||
raise RuntimeError("Split the party")
|
||||
|
||||
|
||||
user = User(orm_user, {
|
||||
'spawner_class': BadSpawner,
|
||||
'config': None,
|
||||
'statsd': EmptyClass(),
|
||||
})
|
||||
|
||||
|
||||
with pytest.raises(RuntimeError) as exc:
|
||||
yield user.spawn()
|
||||
assert user.spawners[''].server is None
|
||||
@@ -194,15 +195,16 @@ def test_groups(db):
|
||||
|
||||
@pytest.mark.gen_test
|
||||
def test_auth_state(db):
|
||||
user = User(orm.User(name='eve'))
|
||||
db.add(user.orm_user)
|
||||
orm_user = orm.User(name='eve')
|
||||
db.add(orm_user)
|
||||
db.commit()
|
||||
|
||||
user = User(orm_user)
|
||||
|
||||
ck = crypto.CryptKeeper.instance()
|
||||
|
||||
# starts empty
|
||||
assert user.encrypted_auth_state is None
|
||||
|
||||
|
||||
# can't set auth_state without keys
|
||||
state = {'key': 'value'}
|
||||
ck.keys = []
|
||||
|
@@ -136,13 +136,10 @@ class User:
|
||||
log = app_log
|
||||
settings = None
|
||||
|
||||
def __init__(self, orm_user, settings=None, **kwargs):
|
||||
self.orm_user = orm_user
|
||||
self.db = inspect(orm_user).session
|
||||
def __init__(self, orm_user, settings=None, db=None):
|
||||
self.db = db or inspect(orm_user).session
|
||||
self.settings = settings or {}
|
||||
for key, attr in kwargs:
|
||||
print('setting', key, attr)
|
||||
setattr(self, key, attr)
|
||||
self.orm_user = orm_user
|
||||
|
||||
|
||||
self.allow_named_servers = self.settings.get('allow_named_servers', False)
|
||||
@@ -225,7 +222,7 @@ class User:
|
||||
@property
|
||||
def spawner(self):
|
||||
return self.spawners['']
|
||||
|
||||
|
||||
@spawner.setter
|
||||
def spawner(self, spawner):
|
||||
self.spawners[''] = spawner
|
||||
|
Reference in New Issue
Block a user