mirror of
https://github.com/jupyterhub/jupyterhub.git
synced 2025-10-15 22:13:00 +00:00
40 lines
936 B
Python
40 lines
936 B
Python
import os
|
|
import shutil
|
|
|
|
from sqlalchemy.exc import OperationalError
|
|
from pytest import raises
|
|
|
|
from ..dbutil import upgrade
|
|
from ..app import NewToken, UpgradeDB, JupyterHub
|
|
|
|
|
|
here = os.path.dirname(__file__)
|
|
old_db = os.path.join(here, 'old-jupyterhub.sqlite')
|
|
|
|
def generate_old_db(path):
|
|
db_path = os.path.join(path, "jupyterhub.sqlite")
|
|
print(old_db, db_path)
|
|
shutil.copy(old_db, db_path)
|
|
return 'sqlite:///%s' % db_path
|
|
|
|
def test_upgrade(tmpdir):
|
|
print(tmpdir)
|
|
db_url = generate_old_db(str(tmpdir))
|
|
print(db_url)
|
|
upgrade(db_url)
|
|
|
|
def test_upgrade_entrypoint(tmpdir):
|
|
generate_old_db(str(tmpdir))
|
|
tmpdir.chdir()
|
|
tokenapp = NewToken()
|
|
tokenapp.initialize(['kaylee'])
|
|
with raises(OperationalError):
|
|
tokenapp.start()
|
|
|
|
upgradeapp = UpgradeDB()
|
|
upgradeapp.initialize([])
|
|
upgradeapp.start()
|
|
|
|
# run tokenapp again, it should work
|
|
tokenapp.start()
|
|
|