"""Test get_report_presets handler.""" from oto import response from owsrequest import access from reporting.logic import presets def test_delete_report_presets_success(client, valid_get_headers, mocker): """Test successful retrieval of report presets.""" product_id = 1 mocker.patch.object( access, 'verify_grass_headers', return_value=response.Response(), autospec=True, ) mocker.patch.object( presets, 'delete_report_preset', return_value=response.Response(message='Presets are deletable!'), autospec=True, ) report_presets_response = client.delete( '/report/preset/{}'.format(product_id), headers=valid_get_headers ) access.verify_grass_headers.assert_called_once_with('vendor', '7123', True) presets.delete_report_preset.assert_called_once_with(1, 'vendor', '7123') assert report_presets_response.status_code == 200 assert report_presets_response.data.decode() == 'Presets are deletable!' def test_delete_report_presets_non_grass_failure( client, valid_get_headers, mocker ): """Test failure when non grass.""" product_id = 1 mocker.patch.object( access, 'verify_grass_headers', return_value=response.Response(status=400), autospec=True, ) mocker.patch.object(presets, 'delete_report_preset') invalid_get_headers = valid_get_headers invalid_get_headers.pop('Grass-Account-Type') report_presets_response = client.delete( '/report/preset/{}'.format(product_id), headers=valid_get_headers ) access.verify_grass_headers.assert_called_once_with(None, '7123', True) presets.delete_report_preset.assert_not_called() assert report_presets_response.status_code == 400 def test_delete_report_presets_logic_failure( client, valid_get_headers, mocker ): """Test failing logic.""" product_id = 1 mocker.patch.object( access, 'verify_grass_headers', return_value=response.Response(), autospec=True, ) mocker.patch.object( presets, 'delete_report_preset', return_value=response.Response(status=400), autospec=True, ) report_presets_response = client.delete( '/report/preset/{}'.format(product_id), headers=valid_get_headers ) access.verify_grass_headers.assert_called_once_with('vendor', '7123', True) presets.delete_report_preset.assert_called_once_with(1, 'vendor', '7123') assert report_presets_response.status_code == 400