def test_init(tmp_path): path_srv_root = os.path.join(str(tmp_path), user_folder_name) os.environ["JUPYTER_SERVER_ROOT"] = str(path_srv_root) logger = Logger() path_naas = os.path.join(path_srv_root, '.naas', 'jobs.json') uid = str(uuid.uuid4()) jobs = Jobs(logger, clean, init_data) assert len(jobs.list(uid)) == 0
async def test_delete(tmp_path): path_srv_root = os.path.join(str(tmp_path), user_folder_name) os.environ["JUPYTER_SERVER_ROOT"] = path_srv_root logger = Logger() uid = str(uuid.uuid4()) jobs = Jobs(logger, clean, init_data) path = os.path.join(os.getcwd(), 'test_delete.py') target_type = t_notebook value = user_folder_name params = {} runTime = 0 await jobs.update(uid, path, target_type, value, params, t_add, runTime) assert len(jobs.list(uid)) == 1 await jobs.update(uid, path, target_type, value, params, t_delete, runTime) assert len(jobs.list(uid)) == 0
async def test_init(tmp_path): path_srv_root = os.path.join(str(tmp_path), user_folder_name) os.environ["JUPYTER_SERVER_ROOT"] = str(path_srv_root) logger = Logger() uid = str(uuid.uuid4()) jobs = Jobs(logger, clean, init_data) list_job = await jobs.list(uid) assert len(list_job) == 0
async def test_add(tmp_path): path_srv_root = os.path.join(str(tmp_path), user_folder_name) os.environ["JUPYTER_SERVER_ROOT"] = path_srv_root logger = Logger() uid = str(uuid.uuid4()) jobs = Jobs(logger, clean, init_data) path = os.path.join(os.getcwd(), 'test_add.py') target_type = t_notebook value = user_folder_name params = {} runTime = 0 await jobs.update(uid, path, target_type, value, params, t_add, runTime) assert len(jobs.list(uid)) == 1 data = jobs.find_by_path(uid, path, target_type) assert data.get('value') == value assert data['params'] == params assert data['lastRun'] == runTime
async def test_scheduler(tmp_path, event_loop): recur = "* * * * *" test_notebook = "tests/demo/demo_scheduler.ipynb" cur_path = os.path.join(os.getcwd(), test_notebook) new_path = os.path.join(tmp_path, test_notebook) os.makedirs(os.path.dirname(new_path)) logger = Logger() notebooks = Notebooks(logger) jobs = Jobs(logger, True, []) scheduler = Scheduler(logger, jobs, notebooks, event_loop) uid = str(uuid.uuid4()) copy2(cur_path, new_path) job = { "type": t_scheduler, "path": new_path, "params": {}, "value": recur, "status": t_add, } await jobs.update( uid, job["path"], job["type"], job["value"], job["params"], job["status"], ) resp_json = await jobs.list(uid) assert len(resp_json) == 1 res_job = resp_json[0] assert res_job.get("type") == t_scheduler assert res_job.get("path") == new_path assert res_job.get("value") == recur assert res_job.get("status") == t_add await scheduler.start(test_mode=True) resp_json = await jobs.list(uid) assert len(resp_json) == 1 res_job = resp_json[0] assert res_job.get("type") == t_scheduler assert res_job.get("path") == new_path assert res_job.get("value") == recur assert res_job.get("status") == t_health
async def test_update(tmp_path): path_srv_root = os.path.join(str(tmp_path), user_folder_name) os.environ["JUPYTER_SERVER_ROOT"] = path_srv_root logger = Logger() uid = str(uuid.uuid4()) jobs = Jobs(logger, clean, init_data) path = os.path.join(os.getcwd(), "test_update.py") target_type = t_notebook value = user_folder_name new_value = "value_changed" params = {} run_time = 0 await jobs.update(uid, path, target_type, value, params, t_add, run_time) list_job = await jobs.list(uid) assert len(list_job) == 1 await jobs.update(uid, path, target_type, new_value, params, t_update, run_time) list_job = await jobs.list(uid) assert len(list_job) == 1 data = await jobs.find_by_path(uid, path, target_type) assert data["value"] == new_value await jobs.update(uid, path, target_type, value, params, t_delete, run_time) list_job = await jobs.list(uid) assert len(list_job) == 0