misc: remove pickle auto tests from admin_pages (#65241)
gitea-wip/wcs/pipeline/head Build started... Details

This commit is contained in:
Lauréline Guérin 2022-04-08 17:43:54 +02:00
parent 6bb9dc4dc8
commit c65d516a02
No known key found for this signature in database
GPG Key ID: 1FAB9B9B4F93D473
14 changed files with 120 additions and 132 deletions

View File

@ -8,14 +8,9 @@ from wcs.qommon.ident.password_accounts import PasswordAccount
from ..utilities import clean_temporary_pub, create_temporary_pub, get_app, login
def pytest_generate_tests(metafunc):
if 'pub' in metafunc.fixturenames:
metafunc.parametrize('pub', ['pickle', 'sql'], indirect=True)
@pytest.fixture
def pub(request):
pub = create_temporary_pub(sql_mode=bool('sql' in request.param))
pub = create_temporary_pub(sql_mode=True)
req = HTTPRequest(None, {'SCRIPT_NAME': '/', 'SERVER_NAME': 'example.net'})
pub.set_app_dir(req)

View File

@ -23,14 +23,9 @@ from ..utilities import clean_temporary_pub, create_temporary_pub, get_app, logi
from .test_all import create_superuser
def pytest_generate_tests(metafunc):
if 'pub' in metafunc.fixturenames:
metafunc.parametrize('pub', ['pickle', 'sql'], indirect=True)
@pytest.fixture
def pub(request):
pub = create_temporary_pub(sql_mode=bool('sql' in request.param))
pub = create_temporary_pub(sql_mode=True)
req = HTTPRequest(None, {'SCRIPT_NAME': '/', 'SERVER_NAME': 'example.net'})
pub.set_app_dir(req)

View File

@ -15,14 +15,9 @@ from ..utilities import clean_temporary_pub, create_temporary_pub, get_app, logi
from .test_all import create_role, create_superuser
def pytest_generate_tests(metafunc):
if 'pub' in metafunc.fixturenames:
metafunc.parametrize('pub', ['pickle', 'sql'], indirect=True)
@pytest.fixture
def pub(request):
pub = create_temporary_pub(sql_mode=bool('sql' in request.param))
pub = create_temporary_pub(sql_mode=True)
req = HTTPRequest(None, {'SCRIPT_NAME': '/', 'SERVER_NAME': 'example.net'})
pub.set_app_dir(req)

View File

@ -19,14 +19,8 @@ from ..utilities import clean_temporary_pub, create_temporary_pub, get_app, logi
from .test_all import create_superuser
def pytest_generate_tests(metafunc):
if 'pub' in metafunc.fixturenames:
metafunc.parametrize('pub', ['pickle', 'sql'], indirect=True)
@pytest.fixture
def pub(request):
pub = create_temporary_pub(sql_mode=bool('sql' in request.param))
def pub_fixture(**kwargs):
pub = create_temporary_pub(**kwargs)
req = HTTPRequest(None, {'SCRIPT_NAME': '/', 'SERVER_NAME': 'example.net'})
pub.set_app_dir(req)
@ -37,6 +31,16 @@ def pub(request):
return pub
@pytest.fixture
def pub(request, emails):
return pub_fixture(sql_mode=True)
@pytest.fixture
def nosql_pub(request, emails):
return pub_fixture()
def teardown_module(module):
clean_temporary_pub()
@ -141,11 +145,10 @@ def test_cards_delete(pub):
app = login(get_app(pub))
resp = app.get('http://example.net/backoffice/cards/1/')
resp = resp.click('Delete')
if pub.is_using_postgresql():
assert 'Deletion is not possible as there are cards.' in resp
carddef.data_class().wipe()
resp = app.get('http://example.net/backoffice/cards/1/')
resp = resp.click('Delete')
assert 'Deletion is not possible as there are cards.' in resp
carddef.data_class().wipe()
resp = app.get('http://example.net/backoffice/cards/1/')
resp = resp.click('Delete')
resp = resp.form.submit('submit')
assert CardDef.count() == 1
@ -157,6 +160,28 @@ def test_cards_delete(pub):
carddata.remove_self() # don't keep leftovers
def test_cards_delete_nosql(nosql_pub):
pub = nosql_pub
create_superuser(pub)
CardDef.wipe()
carddef = CardDef()
carddef.name = 'card title'
carddef.fields = []
carddef.store()
carddata = carddef.data_class()()
carddata.just_created()
carddata.data = {}
carddata.store()
app = login(get_app(pub))
resp = app.get('http://example.net/backoffice/cards/1/')
resp = resp.click('Delete')
assert 'Deletion is not possible as there are cards.' not in resp
assert 'delete-button' in resp.text
def test_cards_in_use_delete(pub):
CardDef.wipe()
carddef = CardDef()

View File

@ -9,14 +9,9 @@ from ..utilities import clean_temporary_pub, create_temporary_pub, get_app, logi
from .test_all import create_superuser
def pytest_generate_tests(metafunc):
if 'pub' in metafunc.fixturenames:
metafunc.parametrize('pub', ['pickle', 'sql'], indirect=True)
@pytest.fixture
def pub(request):
pub = create_temporary_pub(sql_mode=bool('sql' in request.param))
pub = create_temporary_pub(sql_mode=True)
req = HTTPRequest(None, {'SCRIPT_NAME': '/', 'SERVER_NAME': 'example.net'})
pub.set_app_dir(req)

View File

@ -8,14 +8,9 @@ from ..utilities import clean_temporary_pub, create_temporary_pub, get_app, logi
from .test_all import create_superuser
def pytest_generate_tests(metafunc):
if 'pub' in metafunc.fixturenames:
metafunc.parametrize('pub', ['pickle', 'sql'], indirect=True)
@pytest.fixture
def pub(request):
pub = create_temporary_pub(sql_mode=bool('sql' in request.param))
pub = create_temporary_pub(sql_mode=True)
req = HTTPRequest(None, {'SCRIPT_NAME': '/', 'SERVER_NAME': 'example.net'})
pub.set_app_dir(req)

View File

@ -21,11 +21,6 @@ from ..utilities import HttpRequestsMocking, clean_temporary_pub, create_tempora
from .test_all import create_superuser
def pytest_generate_tests(metafunc):
if 'pub' in metafunc.fixturenames:
metafunc.parametrize('pub', ['pickle', 'sql'], indirect=True)
def pub_fixture(**kwargs):
pub = create_temporary_pub(**kwargs)
@ -40,12 +35,12 @@ def pub_fixture(**kwargs):
@pytest.fixture
def pub(request, emails):
return pub_fixture(sql_mode=bool('sql' in request.param))
return pub_fixture(sql_mode=True)
@pytest.fixture
def sql_pub(request, emails):
return pub_fixture(sql_mode=True)
def nosql_pub(request, emails):
return pub_fixture()
def teardown_module(module):
@ -150,17 +145,24 @@ def test_data_sources_agenda(pub, chrono_url):
)
def test_data_sources_users(pub):
def test_data_sources_users_no_sql(nosql_pub):
pub = nosql_pub
create_superuser(pub)
NamedDataSource.wipe()
app = login(get_app(pub))
resp = app.get('/backoffice/settings/data-sources/')
if not pub.is_using_postgresql():
assert 'Users Data Sources' not in resp
assert 'new-users' not in resp
return
assert 'Users Data Sources' not in resp
assert 'new-users' not in resp
def test_data_sources_users(pub):
create_superuser(pub)
NamedDataSource.wipe()
app = login(get_app(pub))
resp = app.get('/backoffice/settings/data-sources/')
assert 'Users Data Sources' in resp
assert 'There are no users data sources defined.' in resp
@ -218,8 +220,7 @@ def test_data_sources_new(pub):
assert NamedDataSource.count() == 2
def test_data_sources_users_new(sql_pub):
pub = sql_pub
def test_data_sources_users_new(pub):
create_superuser(pub)
NamedDataSource.wipe()
DataSourceCategory.wipe()
@ -418,8 +419,7 @@ def test_data_sources_view(pub):
data_source.store()
resp = app.get('/backoffice/settings/data-sources/%s/' % data_source.id)
assert 'Preview' not in resp.text
if pub.is_using_postgresql():
assert pub.loggederror_class.count() == 0 # error not recorded
assert pub.loggederror_class.count() == 0 # error not recorded
# check geojson
geojson_file_path = os.path.join(pub.app_dir, 'test.geojson')

View File

@ -23,14 +23,8 @@ from ..utilities import clean_temporary_pub, create_temporary_pub, get_app, logi
from .test_all import create_role, create_superuser
def pytest_generate_tests(metafunc):
if 'pub' in metafunc.fixturenames:
metafunc.parametrize('pub', ['pickle', 'sql'], indirect=True)
@pytest.fixture
def pub(request):
pub = create_temporary_pub(sql_mode=bool('sql' in request.param))
def pub_fixture(**kwargs):
pub = create_temporary_pub(**kwargs)
req = HTTPRequest(None, {'SCRIPT_NAME': '/', 'SERVER_NAME': 'example.net'})
pub.set_app_dir(req)
@ -41,6 +35,16 @@ def pub(request):
return pub
@pytest.fixture
def pub(request, emails):
return pub_fixture(sql_mode=True)
@pytest.fixture
def nosql_pub(request, emails):
return pub_fixture()
def teardown_module(module):
clean_temporary_pub()
@ -693,7 +697,7 @@ def test_form_workflow_link(pub):
assert '/backoffice/workflows/%s/' % workflow.id not in resp.text
def test_form_workflow_remapping(pub):
def _test_form_workflow_remapping(pub):
create_superuser(pub)
create_role(pub)
@ -781,6 +785,14 @@ def test_form_workflow_remapping(pub):
FormDef.get(formdef.id).data_class().select()
def test_form_workflow_remapping(pub):
_test_form_workflow_remapping(pub)
def test_form_workflow_remapping_nosql(nosql_pub):
_test_form_workflow_remapping(nosql_pub)
def test_form_submitter_roles(pub):
create_superuser(pub)
create_role(pub)
@ -1184,8 +1196,7 @@ def test_form_delete_with_data(pub):
resp = app.get('/backoffice/forms/%s/' % formdef.id)
resp = resp.click(href='delete')
if pub.is_using_postgresql():
assert 'Deletion is not possible' in resp
assert 'Deletion is not possible' in resp
formdata.status = 'draft'
formdata.store()
@ -1200,6 +1211,28 @@ def test_form_delete_with_data(pub):
assert 'Deletion is not possible' not in resp
def test_form_delete_with_data_nosql(nosql_pub):
pub = nosql_pub
create_superuser(pub)
create_role(pub)
FormDef.wipe()
formdef = FormDef()
formdef.name = 'form title'
formdef.fields = []
formdef.store()
formdata = formdef.data_class()()
formdata.just_created()
formdata.store()
app = login(get_app(pub))
resp = app.get('/backoffice/forms/%s/' % formdef.id)
resp = resp.click(href='delete')
assert 'Deletion is not possible' not in resp
def test_form_duplicate(pub):
create_superuser(pub)
create_role(pub)
@ -2094,8 +2127,7 @@ def test_form_edit_item_field_data_source(pub):
resp.form.submit('submit').follow()
resp = app.get('/backoffice/forms/1/')
assert FormDef.get(formdef.id).fields[0].data_source == {'type': 'foobar'}
if pub.is_using_postgresql():
assert pub.loggederror_class.count() == 0 # error not recorded
assert pub.loggederror_class.count() == 0 # error not recorded
carddef = CardDef()
carddef.name = 'Baz'
@ -2920,15 +2952,12 @@ def test_form_management_view(pub):
assert 'backoffice/management/form-title/' in resp
def test_form_archive(pub):
def test_form_archive(nosql_pub):
# this doesn't exist in SQL
pub = nosql_pub
create_superuser(pub)
create_role(pub)
if pub.is_using_postgresql():
# this doesn't exist in SQL
pytest.skip('no archive in SQL mode')
return
FormDef.wipe()
formdef = FormDef()
formdef.name = 'form title'
@ -3081,9 +3110,8 @@ def test_form_overwrite(pub):
# check existing data
data = FormDef.get(formdef_id).data_class().get(formdata.id).data
assert data.get('2') == 'bar'
if pub.is_using_postgresql():
# in SQL, check data with different type has been removed
assert data.get('3') is None
# in SQL, check data with different type has been removed
assert data.get('3') is None
def test_form_export_import_export_overwrite(pub):
@ -3230,8 +3258,7 @@ def test_form_comment_with_error_in_wscall(http_requests, pub):
app = login(get_app(pub))
resp = app.get('/backoffice/forms/%s/' % formdef.id)
assert 'x [webservice.xxx.foobar] x' in resp.text
if pub.is_using_postgresql():
assert pub.loggederror_class.count() == 0 # error not recorded
assert pub.loggederror_class.count() == 0 # error not recorded
def test_form_new_computed_field(pub):

View File

@ -7,14 +7,9 @@ from ..utilities import clean_temporary_pub, create_temporary_pub, get_app, logi
from .test_all import create_superuser
def pytest_generate_tests(metafunc):
if 'pub' in metafunc.fixturenames:
metafunc.parametrize('pub', ['pickle', 'sql'], indirect=True)
@pytest.fixture
def pub(request):
pub = create_temporary_pub(sql_mode=bool('sql' in request.param))
pub = create_temporary_pub(sql_mode=True)
req = HTTPRequest(None, {'SCRIPT_NAME': '/', 'SERVER_NAME': 'example.net'})
pub.set_app_dir(req)

View File

@ -31,14 +31,9 @@ from ..utilities import clean_temporary_pub, create_temporary_pub, get_app, logi
from .test_all import create_superuser
def pytest_generate_tests(metafunc):
if 'pub' in metafunc.fixturenames:
metafunc.parametrize('pub', ['pickle', 'sql'], indirect=True)
@pytest.fixture
def pub(request):
pub = create_temporary_pub(sql_mode=bool('sql' in request.param))
pub = create_temporary_pub(sql_mode=True)
req = HTTPRequest(None, {'SCRIPT_NAME': '/', 'SERVER_NAME': 'example.net'})
pub.set_app_dir(req)
@ -869,10 +864,6 @@ def test_settings_theme_download_upload(pub):
def test_postgresql_settings(pub):
if not pub.is_using_postgresql():
pytest.skip('this requires SQL')
return
create_superuser(pub)
database = pub.cfg['postgresql']['database']

View File

@ -17,11 +17,6 @@ from ..utilities import clean_temporary_pub, create_temporary_pub, get_app, logi
from .test_all import create_superuser
def pytest_generate_tests(metafunc):
if 'pub' in metafunc.fixturenames:
metafunc.parametrize('pub', ['pickle', 'sql'], indirect=True)
def pub_fixture(**kwargs):
pub = create_temporary_pub(**kwargs)
@ -36,7 +31,7 @@ def pub_fixture(**kwargs):
@pytest.fixture
def pub(request):
return pub_fixture(sql_mode=(request.param == 'sql'))
return pub_fixture(sql_mode=True)
@pytest.fixture

View File

@ -9,14 +9,9 @@ from ..utilities import clean_temporary_pub, create_temporary_pub, get_app, logi
from .test_all import create_role, create_superuser
def pytest_generate_tests(metafunc):
if 'pub' in metafunc.fixturenames:
metafunc.parametrize('pub', ['pickle', 'sql'], indirect=True)
@pytest.fixture
def pub(request):
pub = create_temporary_pub(sql_mode=bool('sql' in request.param))
pub = create_temporary_pub(sql_mode=True)
req = HTTPRequest(None, {'SCRIPT_NAME': '/', 'SERVER_NAME': 'example.net'})
pub.set_app_dir(req)

View File

@ -30,14 +30,9 @@ from ..utilities import clean_temporary_pub, create_temporary_pub, get_app, logi
from .test_all import create_superuser
def pytest_generate_tests(metafunc):
if 'pub' in metafunc.fixturenames:
metafunc.parametrize('pub', ['pickle', 'sql'], indirect=True)
@pytest.fixture
def pub(request):
pub = create_temporary_pub(sql_mode=bool('sql' in request.param))
pub = create_temporary_pub(sql_mode=True)
req = HTTPRequest(None, {'SCRIPT_NAME': '/', 'SERVER_NAME': 'example.net'})
pub.set_app_dir(req)
@ -1951,10 +1946,9 @@ def test_workflows_backoffice_fields(pub):
assert Workflow.get(1).backoffice_fields_formdef.fields[0].key == 'string'
assert Workflow.get(1).backoffice_fields_formdef.fields[0].label == 'foobar'
if pub.is_using_postgresql():
assert 'New backoffice field "foobar"' in [
x.comment for x in pub.snapshot_class.select_object_history(workflow)
]
assert 'New backoffice field "foobar"' in [
x.comment for x in pub.snapshot_class.select_object_history(workflow)
]
backoffice_field_id = Workflow.get(1).backoffice_fields_formdef.fields[0].id
formdef = FormDef.get(formdef.id)
@ -3135,10 +3129,6 @@ def test_workflows_wscall_options(pub, value):
def test_workflows_wscall_status_error(pub):
if not pub.is_using_postgresql():
pytest.skip('this requires SQL')
return
create_superuser(pub)
Workflow.wipe()

View File

@ -11,14 +11,9 @@ from ..utilities import clean_temporary_pub, create_temporary_pub, get_app, logi
from .test_all import create_superuser
def pytest_generate_tests(metafunc):
if 'pub' in metafunc.fixturenames:
metafunc.parametrize('pub', ['pickle', 'sql'], indirect=True)
@pytest.fixture
def pub(request):
pub = create_temporary_pub(sql_mode=bool('sql' in request.param))
pub = create_temporary_pub(sql_mode=True)
req = HTTPRequest(None, {'SCRIPT_NAME': '/', 'SERVER_NAME': 'example.net'})
pub.set_app_dir(req)