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!
3 files
+ 34
17
Compare changes
  • Side-by-side
  • Inline
Files
3
+ 14
8
@@ -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,
)
@@ -154,20 +155,25 @@ async def test_run_action(mode, cmd, retcode, expected):
@pytest.mark.asyncio
@pytest.mark.parametrize(
'proposal_number, mock_proposal_status, expected_result',
'proposal_number, action, mock_proposal_status, expected_result',
[
(42, 'A', True),
('42', 'A', True),
(404, 'CLO', False),
(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_check_is_proposal_active(proposal_number,
mock_proposal_status,
expected_result):
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_proposal_status': mock_proposal_status})
response.json = mock.Mock(return_value={'flg_beamtime_status': mock_proposal_status})
client = mock.Mock()
client.get_runs_by_proposal_number_api = mock.Mock(
return_value=response)
ret = await get_slurm_partition(client, action, proposal_number)
assert ret == expected_result
Loading