Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move fourfront from pytest 2.9 to 3.10 #1435

Draft
wants to merge 36 commits into
base: master
Choose a base branch
from
Draft

Conversation

netsettler
Copy link
Collaborator

@netsettler netsettler commented Feb 17, 2021

This PR has been superseded by fourfront PR #1437.

Substantive changes and bug fixes:

  • In src/encoded/authentication.py

    • From CGAP: Be explicit about encryption algorithms in JWT handling.
    • From CGAP: Remove special-case treatment of GET and HEAD methods.
  • pyproject.toml

    • Bump patch version.
    • Update pytest to version 3.10 and related libraries in some ways.
    • Update awscli, boto3, botocore, netaddr, boto3-stubs.
  • In src/encoded/schema_formats.py and src/encoded/server_defaults.py:

    • Use new ACCESSION_PREFIX variable to minimize number of places code diverges.
    • Add a TEST_PREFIX variable for symmetry. Compute the letter pairs needed for accession ids by looking at the schema files.
  • src/encoded/loadxl.py

    • From CGAP: Port the post_only= argument for load_all and load_all_gen.
  • src/encoded/renderers.py

    • From CGAP: Port mime type selection logic in should_transform.
    • From CGAP: Port best_mime_type.
  • src/encoded/tests/conftest.py

    • Change htmltestapp and anonhtmltestapp to pass HTTP_ACCEPT, which is more like what browsers would do, and which is needed for changes ported from CGAP.
    • Light PEP8.
    • Remove pytest_plugins setting, which is deprecated. This info is now in pytest.ini.
  • pytest.ini

    • Change to have markers in line with cgap-portal.
    • Specify testpaths rather than a --pyargs argument being added.
    • Use -p to handle plugins, in lieu of setting pytest_plugins.
  • src/encoded/tests/test_indexing.py

    • Change meta = MetaData(...); meta.reflect() to instead be meta = MetaData(..., reflect=True).
  • Makefile:

    • From CGAP: Port scripts/kibana-start and scripts/psql-start scripts to support targets kibana-start-test and psql-test, respectively.
    • Pin poetry 1.1.4
  • conftest.py

    • Set tempfile.tempdir to '/tmp'.
  • src/encoded/commands/purge_item_type.py

    • From CGAP: Change the way transaction commits work to be more incremental.
    • From CGAP: Use set(...) to remove duplicates.

Simple changes and small bug fixes (mostly found by better warnings):

  • Port new file src/encoded/tests/test_renderers.py from CGAP.

  • src/encoded/types/page.py

    • Suppress deprecation warnings we aren't going to fix right now.
  • src/encoded/tests/test_types_biosample.py

    • Unmark biosample_relation as a fixture. It's just a function.
  • Add support for rewriting "~1.2.3" in setup_eb.py. Add test cases in test_setup_eb.py.

  • src/encoded/commands/spreadsheet_to_json.py

    • Remove an internal import of argparse.
  • src/encoded/xlreader.py

    • Add a missing module prefix (zipfile.ZipFile).
    • Light refactoring.
  • Relock poetry.lock.

  • Rename src/encoded/utils.py back to src/encoded/util.py for alignment with cgap-portal, and with history. Bad idea to have renamed it in the first place.

    • Port various utilities that might not be used, just in case they're needed for other ports. We can clean this up later.

    • Update callers to import from util:

      • src/encoded/types/file.py
      • src/encoded/tests/test_search.py
      • src/encoded/tests/test_types_init_collections.py
      • src/encoded/tests/test_types_protocol.py
      • src/encoded/tests/test_util.py (was test_utils.py, but renamed as well)
      • src/encoded/tests/test_validation_errors.py
      • src/encoded/tests/test_aggregation.py
      • src/encoded/tests/test_batch_download.py

Cosmetic changes:

  • Change .encrypt to .hash in

    • src/encoded/tests/test_access_key.py
    • src/encoded/types/access_key.py
    • src/encoded/tests/test_edw_hash.py
  • Use dcicutils.misc_utils.TestApp instead of webtest.TestApp in:

    • `src/encoded/commands/add_date_created.py
    • src/encoded/commands/import_data.py
    • src/encoded/commands/load_access_keys.py
  • .ebextensions/13_run_npm.config

    • Add a newline so this compares clean with CGAP.
  • .gitignore

    • From CGAP: Add various ignorable files.
  • src/encoded/commands/configure_kibana_index.py

    • Backport a TODO comment about {'use_ssl': True}.
  • src/encoded/dev_servers.py

    • Add PEP8 hint for PyCharm.
  • Also misc PEP8 in various files, including:

    • src/encoded/root.py

…tilities level. (Many are unused but may back other code we want to port.) Rename src/encoded/utils.py to src/encoded/util.py so these filenames will align again. Adjust files that import the renamed file. Also adjust test_indexing.py to use meta = MetaData(...); meta.reflect() instead of meta = MetaData(..., reflect=True).
…kibana-start-test and use poetry 1.1.4 in Makefile.
…ile.ZipFile) from cgap-portal version of scr/encoded/xlreader.py
… beause they'd be complicated to fix right now.
…iverges. Add a TEST_PREFIX variable for symmetry. Compute the letter pairs needed for accession ids by looking at the schema files.
…CCEPT, which is more like what browsers would do and is needed for some ported changes from cgap-portal. Light PEP8. Remove pytest_plugins setting, which is deprecated; this info is now in pytest.ini. Change pytest.ini to have markers in line with cgap-portal, to use testpaths rather than a --pyargs setting, and to use -p to handle plugins.
…nge the way commits work to be more incremental.
@netsettler netsettler changed the title Upgrade to pytest 3.10 Move fourfront from pytest 2.9 to 3.10 Feb 17, 2021
@netsettler netsettler marked this pull request as draft February 25, 2021 15:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant