From 9e07a4ede3d7d8d7de646482e4463df1e8ee7a75 Mon Sep 17 00:00:00 2001 From: Jochen Klar Date: Fri, 29 Nov 2024 14:58:09 +0100 Subject: [PATCH] Creative testing --- .github/workflows/ci.yml | 2 +- rdmo/projects/tests/test_utils.py | 93 ++++++++++++++++--------------- 2 files changed, 50 insertions(+), 45 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 133b78605..5f8571484 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -143,7 +143,7 @@ jobs: if: matrix.python-version == '3.12' && matrix.db-backend == 'postgres' - name: Run Tests run: | - pytest -p randomly -p no:cacheprovider --cov --reuse-db --numprocesses=auto --dist=loadscope rdmo/projects/tests/test_view_project_copy.py + pytest -s -p randomly -p no:cacheprovider --cov --reuse-db --numprocesses=auto --dist=loadscope rdmo/projects/tests/test_utils.py::test_copy_project env: GITHUB_DB_BACKEND: ${{ matrix.db-backend }} - name: Upload coverage data to coveralls.io diff --git a/rdmo/projects/tests/test_utils.py b/rdmo/projects/tests/test_utils.py index cbb2f4af0..45ffd1a15 100644 --- a/rdmo/projects/tests/test_utils.py +++ b/rdmo/projects/tests/test_utils.py @@ -70,53 +70,58 @@ def test_copy_project(db, files): assert snapshot_copy == snapshot # check the values - value_fields = ( - 'attribute', - 'set_prefix', - 'set_collection', - 'set_index', - 'collection_index', - 'text', - 'option', - 'value_type', - 'unit', - 'external_id' - ) + # value_fields = ( + # 'attribute', + # 'set_prefix', + # 'set_collection', + # 'set_index', + # 'collection_index', + # 'text', + # 'option', + # 'value_type', + # 'unit', + # 'external_id' + # ) ordering = ( 'attribute', 'set_prefix', 'set_index', 'collection_index' ) - for value_copy, value in zip( - project_copy.values.filter(snapshot=None).order_by(*ordering), - project.values.filter(snapshot=None).order_by(*ordering) - ): - for field in value_fields: - assert getattr(value_copy, field) == getattr(value, field), field - - if value_copy.file: - assert value_copy.file.path == value_copy.file.path.replace( - f'/projects/{project.id}/values/{value.id}/', - f'/projects/{project_copy.id}/values/{value_copy.id}/' - ) - assert value_copy.file.size == value_copy.file.size - else: - assert not value.file - - for snapshot_copy, snapshot in zip(project_copy.snapshots.all(), project.snapshots.all()): - for value_copy, value in zip( - project_copy.values.filter(snapshot=snapshot_copy).order_by(*ordering), - project.values.filter(snapshot=snapshot).order_by(*ordering) - ): - for field in value_fields: - assert getattr(value_copy, field) == getattr(value, field) - - if value_copy.file: - assert value_copy.file.path == value_copy.file.path.replace( - f'/projects/{project.id}/snapshot/{snapshot.id}/values/{value.id}/', - f'/projects/{project_copy.id}/snapshot/{snapshot.id}/values/{value_copy.id}/' - ) - assert value_copy.file.open('rb').read() == value_copy.file.open('rb').read() - else: - assert not value.file + + assert \ + project_copy.values.filter(snapshot=None).order_by(*ordering).count() == \ + project.values.filter(snapshot=None).order_by(*ordering).count() + + # for value_copy, value in zip( + # project_copy.values.filter(snapshot=None).order_by(*ordering), + # project.values.filter(snapshot=None).order_by(*ordering) + # ): + # for field in value_fields: + # assert getattr(value_copy, field) == getattr(value, field), field + + # if value_copy.file: + # assert value_copy.file.path == value_copy.file.path.replace( + # f'/projects/{project.id}/values/{value.id}/', + # f'/projects/{project_copy.id}/values/{value_copy.id}/' + # ) + # assert value_copy.file.size == value_copy.file.size + # else: + # assert not value.file + + # for snapshot_copy, snapshot in zip(project_copy.snapshots.all(), project.snapshots.all()): + # for value_copy, value in zip( + # project_copy.values.filter(snapshot=snapshot_copy).order_by(*ordering), + # project.values.filter(snapshot=snapshot).order_by(*ordering) + # ): + # for field in value_fields: + # assert getattr(value_copy, field) == getattr(value, field) + + # if value_copy.file: + # assert value_copy.file.path == value_copy.file.path.replace( + # f'/projects/{project.id}/snapshot/{snapshot.id}/values/{value.id}/', + # f'/projects/{project_copy.id}/snapshot/{snapshot.id}/values/{value_copy.id}/' + # ) + # assert value_copy.file.open('rb').read() == value_copy.file.open('rb').read() + # else: + # assert not value.file