mirror of
https://github.com/jupyterhub/jupyterhub.git
synced 2025-10-13 13:03:01 +00:00
allow oauth provider to be missing
mostly for testing
This commit is contained in:
@@ -183,7 +183,7 @@ def test_spawn_fails(db, io_loop):
|
|||||||
'config': None,
|
'config': None,
|
||||||
})
|
})
|
||||||
|
|
||||||
with pytest.raises(Exception) as exc:
|
with pytest.raises(RuntimeError) as exc:
|
||||||
io_loop.run_sync(user.spawn)
|
io_loop.run_sync(user.spawn)
|
||||||
assert user.server is None
|
assert user.server is None
|
||||||
assert not user.running
|
assert not user.running
|
||||||
|
@@ -246,20 +246,21 @@ class User(HasTraits):
|
|||||||
spawner.api_token = api_token
|
spawner.api_token = api_token
|
||||||
spawner.admin_access = self.settings.get('admin_access', False)
|
spawner.admin_access = self.settings.get('admin_access', False)
|
||||||
spawner.oauth_client_id = client_id = 'user-%s-%s' % (self.escaped_name, server_name)
|
spawner.oauth_client_id = client_id = 'user-%s-%s' % (self.escaped_name, server_name)
|
||||||
client_store = self.settings['oauth_provider'].client_authenticator.client_store
|
oauth_provider = self.settings.get('oauth_provider')
|
||||||
try:
|
if oauth_provider:
|
||||||
oauth_client = client_store.fetch_by_client_id(client_id)
|
client_store = oauth_provider.client_authenticator.client_store
|
||||||
except ClientNotFoundError:
|
try:
|
||||||
oauth_client = None
|
oauth_client = client_store.fetch_by_client_id(client_id)
|
||||||
# create a new OAuth client + secret on every launch,
|
except ClientNotFoundError:
|
||||||
# except for resuming containers.
|
oauth_client = None
|
||||||
if oauth_client is None or not spawner.will_resume:
|
# create a new OAuth client + secret on every launch,
|
||||||
spawner.oauth_client_secret = client_secret = new_token()
|
# except for resuming containers.
|
||||||
print(server.base_url)
|
if oauth_client is None or not spawner.will_resume:
|
||||||
client_store.add_client(client_id, client_secret,
|
spawner.oauth_client_secret = client_secret = new_token()
|
||||||
url_path_join(server.base_url, 'oauth_callback'),
|
client_store.add_client(client_id, client_secret,
|
||||||
)
|
url_path_join(server.base_url, 'oauth_callback'),
|
||||||
db.commit()
|
)
|
||||||
|
db.commit()
|
||||||
|
|
||||||
# trigger pre-spawn hook on authenticator
|
# trigger pre-spawn hook on authenticator
|
||||||
authenticator = self.authenticator
|
authenticator = self.authenticator
|
||||||
|
Reference in New Issue
Block a user