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

Allowing non-authenticated requests on the genesets endpoint #66

Conversation

bergsalex
Copy link
Collaborator

This PR allows for public requests to the Genesets endpoint by returning only Tier1-4 datasets when an unauthenticated request is made.

This also allows for all requests to specify some combination of Geneset tiers, instead of just a single one.

Copy link

github-actions bot commented May 14, 2024

Test Coverage Report

============================= test session starts ==============================
platform linux -- Python 3.11.9, pytest-8.2.0, pluggy-1.5.0
rootdir: /home/runner/work/geneweaver-api/geneweaver-api
configfile: pyproject.toml
plugins: asyncio-0.21.2, anyio-4.3.0, cov-4.1.0
asyncio: mode=Mode.STRICT
collected 248 items

tests/controllers/test_api_standards.py ................................ [ 12%]
...........................................sssssssssssssss               [ 36%]
tests/controllers/test_genes.py .............                            [ 41%]
tests/controllers/test_genesets.py ..................                    [ 48%]
tests/controllers/test_publications.py .......                           [ 51%]
tests/controllers/test_species.py ....                                   [ 53%]
tests/core/test_security.py ..........                                   [ 57%]
tests/services/io/test_read_file_contents.py ...............             [ 63%]
tests/services/test_gene.py ..............                               [ 68%]
tests/services/test_genset.py .......................................... [ 85%]
.......................                                                  [ 95%]
tests/services/test_publications.py .....                                [ 97%]
tests/services/test_species.py .......                                   [100%]

=============================== warnings summary ===============================
../../../../../opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/httpx/_client.py:680: 1 warning
tests/controllers/test_genes.py: 13 warnings
tests/controllers/test_genesets.py: 18 warnings
tests/controllers/test_publications.py: 7 warnings
tests/controllers/test_species.py: 4 warnings
  /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/httpx/_client.py:680: DeprecationWarning: The 'app' shortcut is now deprecated. Use the explicit style 'transport=WSGITransport(app=...)' instead.
    warnings.warn(message, DeprecationWarning)

tests/data/__init__.py:10
  /home/runner/work/geneweaver-api/geneweaver-api/tests/data/__init__.py:10: DeprecationWarning: read_text is deprecated. Use files() instead. Refer to https://importlib-resources.readthedocs.io/en/latest/using.html#migrating-from-legacy for migration advice.
    geneset_response_json = importlib.resources.read_text(

../../../../../opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/importlib/resources/_legacy.py:80
../../../../../opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/importlib/resources/_legacy.py:80
../../../../../opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/importlib/resources/_legacy.py:80
../../../../../opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/importlib/resources/_legacy.py:80
../../../../../opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/importlib/resources/_legacy.py:80
../../../../../opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/importlib/resources/_legacy.py:80
../../../../../opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/importlib/resources/_legacy.py:80
../../../../../opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/importlib/resources/_legacy.py:80
../../../../../opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/importlib/resources/_legacy.py:80
  /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/importlib/resources/_legacy.py:80: DeprecationWarning: open_text is deprecated. Use files() instead. Refer to https://importlib-resources.readthedocs.io/en/latest/using.html#migrating-from-legacy for migration advice.
    with open_text(package, resource, encoding, errors) as fp:

tests/data/__init__.py:13
  /home/runner/work/geneweaver-api/geneweaver-api/tests/data/__init__.py:13: DeprecationWarning: read_text is deprecated. Use files() instead. Refer to https://importlib-resources.readthedocs.io/en/latest/using.html#migrating-from-legacy for migration advice.
    geneset_w_gene_id_type_json = importlib.resources.read_text(

tests/data/__init__.py:17
  /home/runner/work/geneweaver-api/geneweaver-api/tests/data/__init__.py:17: DeprecationWarning: read_text is deprecated. Use files() instead. Refer to https://importlib-resources.readthedocs.io/en/latest/using.html#migrating-from-legacy for migration advice.
    geneset_list_response_json = importlib.resources.read_text("tests.data", "geneset.json")

tests/data/__init__.py:19
  /home/runner/work/geneweaver-api/geneweaver-api/tests/data/__init__.py:19: DeprecationWarning: read_text is deprecated. Use files() instead. Refer to https://importlib-resources.readthedocs.io/en/latest/using.html#migrating-from-legacy for migration advice.
    gene_homologus_ids_json = importlib.resources.read_text(

tests/data/__init__.py:23
  /home/runner/work/geneweaver-api/geneweaver-api/tests/data/__init__.py:23: DeprecationWarning: read_text is deprecated. Use files() instead. Refer to https://importlib-resources.readthedocs.io/en/latest/using.html#migrating-from-legacy for migration advice.
    gene_id_mapping_json = importlib.resources.read_text("tests.data", "gene_maping.json")

tests/data/__init__.py:25
  /home/runner/work/geneweaver-api/geneweaver-api/tests/data/__init__.py:25: DeprecationWarning: read_text is deprecated. Use files() instead. Refer to https://importlib-resources.readthedocs.io/en/latest/using.html#migrating-from-legacy for migration advice.
    publications_json = importlib.resources.read_text("tests.data", "publications.json")

tests/data/__init__.py:27
  /home/runner/work/geneweaver-api/geneweaver-api/tests/data/__init__.py:27: DeprecationWarning: read_text is deprecated. Use files() instead. Refer to https://importlib-resources.readthedocs.io/en/latest/using.html#migrating-from-legacy for migration advice.
    jwt_test_keys_json = importlib.resources.read_text(

tests/data/__init__.py:31
  /home/runner/work/geneweaver-api/geneweaver-api/tests/data/__init__.py:31: DeprecationWarning: read_text is deprecated. Use files() instead. Refer to https://importlib-resources.readthedocs.io/en/latest/using.html#migrating-from-legacy for migration advice.
    species_json = importlib.resources.read_text("tests.data", "species.json")

tests/data/__init__.py:33
  /home/runner/work/geneweaver-api/geneweaver-api/tests/data/__init__.py:33: DeprecationWarning: read_text is deprecated. Use files() instead. Refer to https://importlib-resources.readthedocs.io/en/latest/using.html#migrating-from-legacy for migration advice.
    genes_json = importlib.resources.read_text("tests.data", "genes.json")

tests/controllers/test_genes.py: 10 warnings
tests/controllers/test_genesets.py: 2 warnings
  /opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/httpx/_content.py:202: DeprecationWarning: Use 'content=<...>' to upload raw bytes/text content.
    warnings.warn(message, DeprecationWarning)

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html

---------- coverage: platform linux, python 3.11.9-final-0 -----------
Name                                            Stmts   Miss  Cover
-------------------------------------------------------------------
src/geneweaver/api/__init__.py                      5      2    60%
src/geneweaver/api/controller/__init__.py           0      0   100%
src/geneweaver/api/controller/api.py               12      0   100%
src/geneweaver/api/controller/genes.py             38      0   100%
src/geneweaver/api/controller/genesets.py          95      3    97%
src/geneweaver/api/controller/message.py           19      0   100%
src/geneweaver/api/controller/publications.py      30      0   100%
src/geneweaver/api/controller/search.py             0      0   100%
src/geneweaver/api/controller/species.py           17      0   100%
src/geneweaver/api/core/__init__.py                 0      0   100%
src/geneweaver/api/core/config.py                   2      0   100%
src/geneweaver/api/core/config_class.py            27      1    96%
src/geneweaver/api/core/exceptions.py              13      1    92%
src/geneweaver/api/core/security.py               118     20    83%
src/geneweaver/api/dependencies.py                 56     28    50%
src/geneweaver/api/main.py                          1      0   100%
src/geneweaver/api/schemas/__init__.py              0      0   100%
src/geneweaver/api/schemas/apimodels.py            44      0   100%
src/geneweaver/api/schemas/auth.py                 19      0   100%
src/geneweaver/api/schemas/messages.py             18     18     0%
src/geneweaver/api/schemas/score.py                13     13     0%
src/geneweaver/api/services/__init__.py             0      0   100%
src/geneweaver/api/services/genes.py               45      0   100%
src/geneweaver/api/services/geneset.py            119      3    97%
src/geneweaver/api/services/io.py                   4      0   100%
src/geneweaver/api/services/parse/__init__.py       0      0   100%
src/geneweaver/api/services/publications.py        39      0   100%
src/geneweaver/api/services/pubmeds.py              0      0   100%
src/geneweaver/api/services/species.py             18      3    83%
-------------------------------------------------------------------
TOTAL                                             752     92    88%
Coverage HTML written to dir htmlcov

Required test coverage of 60% reached. Total coverage: 87.77%
================= 233 passed, 15 skipped, 73 warnings in 3.21s =================

@bergsalex bergsalex temporarily deployed to jax-cluster-dev-10--dev May 14, 2024 20:55 — with GitHub Actions Inactive
@bergsalex bergsalex marked this pull request as ready for review May 14, 2024 21:40
@bergsalex bergsalex temporarily deployed to jax-cluster-dev-10--dev May 15, 2024 11:52 — with GitHub Actions Inactive
@bergsalex bergsalex merged commit 745049e into main May 15, 2024
7 checks passed
@bergsalex bergsalex mentioned this pull request May 17, 2024
@bergsalex bergsalex deleted the G3-240-update-the-geneset-endpoints-so-that-public-data-is-returned-for-requests-that-are-public branch September 27, 2024 19:09
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.

2 participants