From 68db29347f705ecbfc57d43456a7ffcf24e22696 Mon Sep 17 00:00:00 2001 From: agostina Date: Mon, 18 Sep 2023 14:20:41 +0200 Subject: [PATCH] LITE-28563: Removing ppr_validation and adding product_update to task process --- connect_ext_ppr/models/enums.py | 2 +- connect_ext_ppr/service.py | 4 +-- connect_ext_ppr/tasks_manager.py | 6 +--- tests/api/test_deployment_requests.py | 6 ++-- tests/conftest.py | 2 +- tests/test_tasks_manager.py | 49 +++++++++++++-------------- 6 files changed, 32 insertions(+), 37 deletions(-) diff --git a/connect_ext_ppr/models/enums.py b/connect_ext_ppr/models/enums.py index 467d90c..86e3cf5 100644 --- a/connect_ext_ppr/models/enums.py +++ b/connect_ext_ppr/models/enums.py @@ -25,7 +25,7 @@ class TasksStatusChoices(str, enum.Enum): class TaskTypesChoices(str, enum.Enum): - ppr_validation = 'ppr_validation' + product_setup = 'product_setup' apply_and_delegate = 'apply_ppr_and_delegate_to_marketplace' delegate_to_l2 = 'delegate_to_l2' diff --git a/connect_ext_ppr/service.py b/connect_ext_ppr/service.py index d7a0307..3dfaf31 100644 --- a/connect_ext_ppr/service.py +++ b/connect_ext_ppr/service.py @@ -338,8 +338,8 @@ def add_new_deployment_request(db, dr_data, deployment, account_id, logger): tasks = [] tasks.append(Task( deployment_request_id=deployment_request.id, - title='PPR Validation', - type=Task.TYPES.ppr_validation, + title='Product check up and update', + type=Task.TYPES.product_setup, created_by=account_id, )) tasks.append(Task( diff --git a/connect_ext_ppr/tasks_manager.py b/connect_ext_ppr/tasks_manager.py index ff9424f..75245b6 100644 --- a/connect_ext_ppr/tasks_manager.py +++ b/connect_ext_ppr/tasks_manager.py @@ -135,10 +135,6 @@ def prepare_ppr_file_for_task( raise TaskException(f'Error while processing PPR file: {e}') -def validate_ppr(deployment_request, **kwargs): - return True - - def check_and_update_product(deployment_request, cbc_service, **kwargs): if not deployment_request.manually: @@ -194,7 +190,7 @@ def delegate_to_l2(deployment_request, cbc_service, connect_client, **kwargs): TASK_PER_TYPE = { - TaskTypesChoices.ppr_validation: validate_ppr, + TaskTypesChoices.product_setup: check_and_update_product, TaskTypesChoices.apply_and_delegate: apply_ppr_and_delegate_to_marketplaces, TaskTypesChoices.delegate_to_l2: delegate_to_l2, } diff --git a/tests/api/test_deployment_requests.py b/tests/api/test_deployment_requests.py index e815b05..24a5070 100644 --- a/tests/api/test_deployment_requests.py +++ b/tests/api/test_deployment_requests.py @@ -534,7 +534,7 @@ def test_create_deployment_request( tasks = dbsession.query(Task).order_by(Task.id) assert tasks.count() == 3 assert tasks[0].id == f'TSK-{deployment_request.id[5:]}-000' - assert tasks[0].type == Task.TYPES.ppr_validation + assert tasks[0].type == Task.TYPES.product_setup assert tasks[1].id == f'TSK-{deployment_request.id[5:]}-001' assert tasks[1].type == Task.TYPES.apply_and_delegate assert tasks[2].id == f'TSK-{deployment_request.id[5:]}-002' @@ -610,7 +610,7 @@ def test_create_deployment_request_without_delegation_to_l2( tasks = dbsession.query(Task).order_by(Task.id) assert tasks.count() == 2 assert tasks[0].id == f'TSK-{deployment_request.id[5:]}-000' - assert tasks[0].type == Task.TYPES.ppr_validation + assert tasks[0].type == Task.TYPES.product_setup assert tasks[1].id == f'TSK-{deployment_request.id[5:]}-001' assert tasks[1].type == Task.TYPES.apply_and_delegate @@ -1321,7 +1321,7 @@ def test_retry_deployment_request_ok( deployment_request=dr1, status='error', error_message='An Error!.', - type=Task.TYPES.ppr_validation, + type=Task.TYPES.product_setup, started_at=started_at, finished_at=finished_at, ) diff --git a/tests/conftest.py b/tests/conftest.py index 8203b6b..047712b 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1152,7 +1152,7 @@ def configuration_json(): def mock_tasks(mocker): mocker.patch( 'connect_ext_ppr.tasks_manager.TASK_PER_TYPE', return_value={ - TaskTypesChoices.ppr_validation: lambda: True, + TaskTypesChoices.product_setup: lambda: True, TaskTypesChoices.apply_and_delegate: lambda: True, TaskTypesChoices.delegate_to_l2: lambda: True, }, diff --git a/tests/test_tasks_manager.py b/tests/test_tasks_manager.py index 782c2b8..4f7e4c9 100644 --- a/tests/test_tasks_manager.py +++ b/tests/test_tasks_manager.py @@ -25,7 +25,6 @@ delegate_to_l2, main_process, TaskException, - validate_ppr, ) from connect_ext_ppr.services.cbc_hub import CBCService @@ -36,10 +35,6 @@ def test_apply_ppr_and_delegate_to_marketplaces(deployment_request_factory): assert apply_ppr_and_delegate_to_marketplaces(deployment_request_factory()) -def test_validate_ppr(deployment_request_factory): - assert validate_ppr(deployment_request_factory()) - - def test__send_ppr(parse_ppr_success_response, sample_ppr_file, mocker): cbc_service = mocker.Mock() cbc_service.parse_ppr.return_value = parse_ppr_success_response @@ -194,8 +189,6 @@ def test_check_and_update_product_w_errors_in_update_product( def test_delegate_to_l2( mock___init__, connect_client, - product_details, - update_product_response, deployment_request_factory, mocker, ): @@ -252,8 +245,6 @@ def send_ppr_side_effect(*args): def test_delegate_to_l2_manually( mock___init__, connect_client, - product_details, - update_product_response, deployment_request_factory, mocker, ): @@ -289,8 +280,6 @@ def test_delegate_to_l2_manually( def test_delegate_to_l2_processing_error( mock___init__, connect_client, - product_details, - update_product_response, deployment_request_factory, mocker, ): @@ -332,9 +321,11 @@ def test_delegate_to_l2_processing_error( assert check_cbc_task_status_mock.call_count == 0 +@patch.object(CBCService, 'get_product_details') @patch.object(CBCService, '__init__', return_value=None) def test_main_process( - mock___init__, + _, + mock_get_product_details, dbsession, deployment_factory, deployment_request_factory, @@ -343,18 +334,18 @@ def test_main_process( connect_client, mock_tasks, mocker, + product_details, ): + mock_get_product_details.return_value = product_details dep = deployment_factory() ppr = ppr_version_factory(id='PPR-123', product_version=1, deployment=dep) dr = deployment_request_factory(deployment=dep, delegate_l2=True, ppr=ppr) - task_factory(deployment_request=dr, task_index='0001', type=TaskTypesChoices.ppr_validation) + task_factory(deployment_request=dr, task_index='0001', type=TaskTypesChoices.product_setup) task_factory(deployment_request=dr, task_index='0002', type=TaskTypesChoices.apply_and_delegate) task_factory(deployment_request=dr, task_index='0003', type=TaskTypesChoices.delegate_to_l2) - with mocker.patch( - 'connect_ext_ppr.tasks_manager._get_cbc_service', return_value=CBCService(), - ): - assert main_process(dr.id, {}, connect_client) == DeploymentRequestStatusChoices.done + mocker.patch('connect_ext_ppr.tasks_manager._get_cbc_service', return_value=CBCService()) + assert main_process(dr.id, {}, connect_client) == DeploymentRequestStatusChoices.done assert dbsession.query(Deployment).filter_by(status=DeploymentStatusChoices.synced).count() == 1 assert dbsession.query(DeploymentRequest).filter_by( @@ -367,9 +358,11 @@ def test_main_process( ).count() == 3 +@patch.object(CBCService, 'get_product_details') @patch.object(CBCService, '__init__', return_value=None) def test_main_process_wo_l2_delegation( _, + mock_get_product_details, dbsession, deployment_factory, deployment_request_factory, @@ -378,11 +371,13 @@ def test_main_process_wo_l2_delegation( connect_client, mock_tasks, mocker, + product_details, ): + mock_get_product_details.return_value = product_details dep = deployment_factory() ppr = ppr_version_factory(id='PPR-123', product_version=1, deployment=dep) dr = deployment_request_factory(deployment=dep, delegate_l2=False, ppr=ppr) - task_factory(deployment_request=dr, task_index='0001', type=TaskTypesChoices.ppr_validation) + task_factory(deployment_request=dr, task_index='0001', type=TaskTypesChoices.product_setup) task_factory(deployment_request=dr, task_index='0002', type=TaskTypesChoices.apply_and_delegate) mocker.patch('connect_ext_ppr.tasks_manager._get_cbc_service', return_value=CBCService()) @@ -401,9 +396,11 @@ def test_main_process_wo_l2_delegation( ).count() == 2 +@patch.object(CBCService, 'get_product_details') @patch.object(CBCService, '__init__', return_value=None) def test_main_process_deployment_w_new_ppr_version( _, + mock_get_product_details, dbsession, file_factory, deployment_factory, @@ -413,14 +410,16 @@ def test_main_process_deployment_w_new_ppr_version( connect_client, mock_tasks, mocker, + product_details, ): + mock_get_product_details.return_value = product_details ppr_file = file_factory(id='MFL-123') dep = deployment_factory() dr_ppr = ppr_version_factory( id='PPR-1234', file=ppr_file.id, product_version=1, deployment=dep) ppr_version_factory(id='PPR-123', product_version=2, deployment=dep) dr = deployment_request_factory(deployment=dep, delegate_l2=False, ppr=dr_ppr) - task_factory(deployment_request=dr, task_index='0001', type=TaskTypesChoices.ppr_validation) + task_factory(deployment_request=dr, task_index='0001', type=TaskTypesChoices.product_setup) task_factory(deployment_request=dr, task_index='0002', type=TaskTypesChoices.apply_and_delegate) task_factory(deployment_request=dr, task_index='0003', type=TaskTypesChoices.delegate_to_l2) @@ -444,7 +443,7 @@ def test_main_process_deployment_w_new_ppr_version( @pytest.mark.parametrize( ('type_function_to_mock', 'done_tasks', 'tasks_w_errors', 'pending_tasks'), ( - (TaskTypesChoices.ppr_validation, 0, 1, 2), + (TaskTypesChoices.product_setup, 0, 1, 2), (TaskTypesChoices.apply_and_delegate, 1, 1, 1), (TaskTypesChoices.delegate_to_l2, 2, 1, 0), ), @@ -467,7 +466,7 @@ def test_main_process_ends_w_error( dep = deployment_factory() ppr = ppr_version_factory(id='PPR-123', product_version=1, deployment=dep, version=1) dr = deployment_request_factory(deployment=dep, delegate_l2=True, ppr=ppr) - task_factory(deployment_request=dr, task_index='0001', type=TaskTypesChoices.ppr_validation) + task_factory(deployment_request=dr, task_index='0001', type=TaskTypesChoices.product_setup) task_factory(deployment_request=dr, task_index='0002', type=TaskTypesChoices.apply_and_delegate) task_factory(deployment_request=dr, task_index='0003', type=TaskTypesChoices.delegate_to_l2) @@ -556,7 +555,7 @@ def test_main_process_w_aborted_tasks( task_factory( deployment_request=dr, task_index='0001', - type=TaskTypesChoices.ppr_validation, + type=TaskTypesChoices.product_setup, status=task_statuses.pop(), ) @@ -624,7 +623,7 @@ def test_main_process_w_aborted_deployment_request( task_factory( deployment_request=dr, task_index='0001', - type=TaskTypesChoices.ppr_validation, + type=TaskTypesChoices.product_setup, status=TasksStatusChoices.aborted, ) @@ -659,7 +658,7 @@ def test_main_process_w_aborted_deployment_request( @pytest.mark.parametrize( ('type_function_to_mock', 'done_tasks', 'tasks_w_errors', 'pending_tasks'), ( - (TaskTypesChoices.ppr_validation, 0, 1, 2), + (TaskTypesChoices.product_setup, 0, 1, 2), (TaskTypesChoices.apply_and_delegate, 1, 1, 1), (TaskTypesChoices.delegate_to_l2, 2, 1, 0), ), @@ -682,7 +681,7 @@ def test_main_process_ends_w_task_exception( dep = deployment_factory() ppr = ppr_version_factory(id='PPR-123', product_version=1, deployment=dep, version=1) dr = deployment_request_factory(deployment=dep, delegate_l2=True, ppr=ppr) - task_factory(deployment_request=dr, task_index='0001', type=TaskTypesChoices.ppr_validation) + task_factory(deployment_request=dr, task_index='0001', type=TaskTypesChoices.product_setup) task_factory(deployment_request=dr, task_index='0002', type=TaskTypesChoices.apply_and_delegate) task_factory(deployment_request=dr, task_index='0003', type=TaskTypesChoices.delegate_to_l2)