Skip to content
Snippets Groups Projects

[webservice] Add proposal state check

Merged Cyril Danilevski requested to merge feat/webservice_proposal_check into master
All threads resolved!
Files
3
+ 26
0
@@ -13,6 +13,7 @@ from webservice.webservice import ( # noqa: import not at top of file
parse_config,
run_action,
wait_on_transfer,
get_slurm_partition,
)
@@ -151,3 +152,28 @@ async def test_run_action(mode, cmd, retcode, expected):
webservice.webservice.run_proc_async = mock_run_proc_async
ret = await run_action(job_db, cmd, mode, 1, 1, 1)
assert ret.lower().startswith(expected)
@pytest.mark.asyncio
@pytest.mark.parametrize(
'proposal_number, action, mock_proposal_status, expected_result',
[
(42, 'correct', 'A', 'upex-middle'), # active
('42', 'dark', 'A', 'upex-high'), # active
(404, 'correct', 'FR', 'exfel'), # finished and reviewed
(404, 'dark', 'CLO', 'exfel'), # closed
],
)
async def test_get_slurm_partition(proposal_number,
action,
mock_proposal_status,
expected_result):
response = mock.Mock()
response.status_code = 200
response.json = mock.Mock(return_value={'flg_beamtime_status': mock_proposal_status})
client = mock.Mock()
client.get_proposal_by_number_api = mock.Mock(
return_value=response)
ret = await get_slurm_partition(client, action, proposal_number)
assert ret == expected_result
Loading