nci-cidc-api-modules 1.0.1__tar.gz → 1.0.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {nci_cidc_api_modules-1.0.1/nci_cidc_api_modules.egg-info → nci_cidc_api_modules-1.0.4}/PKG-INFO +11 -9
- {nci_cidc_api_modules-1.0.1 → nci_cidc_api_modules-1.0.4/nci_cidc_api_modules.egg-info}/PKG-INFO +11 -9
- {nci_cidc_api_modules-1.0.1 → nci_cidc_api_modules-1.0.4}/nci_cidc_api_modules.egg-info/requires.txt +10 -8
- nci_cidc_api_modules-1.0.4/pyproject.toml +67 -0
- nci_cidc_api_modules-1.0.4/requirements.modules.txt +19 -0
- {nci_cidc_api_modules-1.0.1 → nci_cidc_api_modules-1.0.4}/setup.py +1 -1
- {nci_cidc_api_modules-1.0.1 → nci_cidc_api_modules-1.0.4}/tests/test_api.py +8 -11
- nci_cidc_api_modules-1.0.1/pyproject.toml +0 -8
- nci_cidc_api_modules-1.0.1/requirements.modules.txt +0 -18
- {nci_cidc_api_modules-1.0.1 → nci_cidc_api_modules-1.0.4}/LICENSE +0 -0
- {nci_cidc_api_modules-1.0.1 → nci_cidc_api_modules-1.0.4}/MANIFEST.in +0 -0
- {nci_cidc_api_modules-1.0.1 → nci_cidc_api_modules-1.0.4}/README.md +0 -0
- {nci_cidc_api_modules-1.0.1 → nci_cidc_api_modules-1.0.4}/cidc_api/config/__init__.py +0 -0
- {nci_cidc_api_modules-1.0.1 → nci_cidc_api_modules-1.0.4}/cidc_api/config/db.py +0 -0
- {nci_cidc_api_modules-1.0.1 → nci_cidc_api_modules-1.0.4}/cidc_api/config/logging.py +0 -0
- {nci_cidc_api_modules-1.0.1 → nci_cidc_api_modules-1.0.4}/cidc_api/config/secrets.py +0 -0
- {nci_cidc_api_modules-1.0.1 → nci_cidc_api_modules-1.0.4}/cidc_api/config/settings.py +0 -0
- {nci_cidc_api_modules-1.0.1 → nci_cidc_api_modules-1.0.4}/cidc_api/csms/__init__.py +0 -0
- {nci_cidc_api_modules-1.0.1 → nci_cidc_api_modules-1.0.4}/cidc_api/csms/auth.py +0 -0
- {nci_cidc_api_modules-1.0.1 → nci_cidc_api_modules-1.0.4}/cidc_api/models/__init__.py +0 -0
- {nci_cidc_api_modules-1.0.1 → nci_cidc_api_modules-1.0.4}/cidc_api/models/csms_api.py +0 -0
- {nci_cidc_api_modules-1.0.1 → nci_cidc_api_modules-1.0.4}/cidc_api/models/files/__init__.py +0 -0
- {nci_cidc_api_modules-1.0.1 → nci_cidc_api_modules-1.0.4}/cidc_api/models/files/details.py +0 -0
- {nci_cidc_api_modules-1.0.1 → nci_cidc_api_modules-1.0.4}/cidc_api/models/files/facets.py +0 -0
- {nci_cidc_api_modules-1.0.1 → nci_cidc_api_modules-1.0.4}/cidc_api/models/migrations.py +0 -0
- {nci_cidc_api_modules-1.0.1 → nci_cidc_api_modules-1.0.4}/cidc_api/models/models.py +0 -0
- {nci_cidc_api_modules-1.0.1 → nci_cidc_api_modules-1.0.4}/cidc_api/models/schemas.py +0 -0
- {nci_cidc_api_modules-1.0.1 → nci_cidc_api_modules-1.0.4}/cidc_api/shared/__init__.py +0 -0
- {nci_cidc_api_modules-1.0.1 → nci_cidc_api_modules-1.0.4}/cidc_api/shared/auth.py +0 -0
- {nci_cidc_api_modules-1.0.1 → nci_cidc_api_modules-1.0.4}/cidc_api/shared/emails.py +0 -0
- {nci_cidc_api_modules-1.0.1 → nci_cidc_api_modules-1.0.4}/cidc_api/shared/gcloud_client.py +0 -0
- {nci_cidc_api_modules-1.0.1 → nci_cidc_api_modules-1.0.4}/cidc_api/shared/rest_utils.py +0 -0
- {nci_cidc_api_modules-1.0.1 → nci_cidc_api_modules-1.0.4}/nci_cidc_api_modules.egg-info/SOURCES.txt +0 -0
- {nci_cidc_api_modules-1.0.1 → nci_cidc_api_modules-1.0.4}/nci_cidc_api_modules.egg-info/dependency_links.txt +0 -0
- {nci_cidc_api_modules-1.0.1 → nci_cidc_api_modules-1.0.4}/nci_cidc_api_modules.egg-info/not-zip-safe +0 -0
- {nci_cidc_api_modules-1.0.1 → nci_cidc_api_modules-1.0.4}/nci_cidc_api_modules.egg-info/top_level.txt +0 -0
- {nci_cidc_api_modules-1.0.1 → nci_cidc_api_modules-1.0.4}/setup.cfg +0 -0
{nci_cidc_api_modules-1.0.1/nci_cidc_api_modules.egg-info → nci_cidc_api_modules-1.0.4}/PKG-INFO
RENAMED
@@ -1,29 +1,31 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: nci_cidc_api_modules
|
3
|
-
Version: 1.0.
|
3
|
+
Version: 1.0.4
|
4
4
|
Summary: SQLAlchemy data models and configuration tools used in the NCI CIDC API
|
5
5
|
Home-page: https://github.com/NCI-CIDC/cidc-api-gae
|
6
6
|
License: MIT license
|
7
7
|
Requires-Python: >=3.9
|
8
8
|
Description-Content-Type: text/markdown
|
9
9
|
License-File: LICENSE
|
10
|
-
Requires-Dist: werkzeug==2.
|
11
|
-
Requires-Dist: flask
|
10
|
+
Requires-Dist: werkzeug==2.3.8
|
11
|
+
Requires-Dist: flask==2.2.5
|
12
12
|
Requires-Dist: flask-migrate==2.5.2
|
13
|
-
Requires-Dist: flask-sqlalchemy
|
13
|
+
Requires-Dist: flask-sqlalchemy==2.5.1
|
14
14
|
Requires-Dist: sqlalchemy~=1.3.0
|
15
15
|
Requires-Dist: marshmallow==3.19.0
|
16
16
|
Requires-Dist: marshmallow-sqlalchemy==0.22.3
|
17
|
-
Requires-Dist: google-cloud-storage
|
17
|
+
Requires-Dist: google-cloud-storage==1.35.1
|
18
18
|
Requires-Dist: google-cloud-secret-manager==2.16.2
|
19
19
|
Requires-Dist: google-cloud-pubsub==0.43.0
|
20
|
-
Requires-Dist: google-cloud-bigquery==3.
|
20
|
+
Requires-Dist: google-cloud-bigquery==3.18.0
|
21
21
|
Requires-Dist: google-api-python-client==2.64.0
|
22
|
+
Requires-Dist: packaging>=20.0.0
|
23
|
+
Requires-Dist: pyarrow==14.0.1
|
22
24
|
Requires-Dist: pandas<2,>=1
|
23
25
|
Requires-Dist: python-dotenv==0.10.3
|
24
|
-
Requires-Dist: requests==2.
|
25
|
-
Requires-Dist: jinja2
|
26
|
-
Requires-Dist: nci-cidc-schemas
|
26
|
+
Requires-Dist: requests==2.31.0
|
27
|
+
Requires-Dist: jinja2==3.1.3
|
28
|
+
Requires-Dist: nci-cidc-schemas==0.26.29
|
27
29
|
|
28
30
|
# NCI CIDC API <!-- omit in TOC -->
|
29
31
|
|
{nci_cidc_api_modules-1.0.1 → nci_cidc_api_modules-1.0.4/nci_cidc_api_modules.egg-info}/PKG-INFO
RENAMED
@@ -1,29 +1,31 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: nci_cidc_api_modules
|
3
|
-
Version: 1.0.
|
3
|
+
Version: 1.0.4
|
4
4
|
Summary: SQLAlchemy data models and configuration tools used in the NCI CIDC API
|
5
5
|
Home-page: https://github.com/NCI-CIDC/cidc-api-gae
|
6
6
|
License: MIT license
|
7
7
|
Requires-Python: >=3.9
|
8
8
|
Description-Content-Type: text/markdown
|
9
9
|
License-File: LICENSE
|
10
|
-
Requires-Dist: werkzeug==2.
|
11
|
-
Requires-Dist: flask
|
10
|
+
Requires-Dist: werkzeug==2.3.8
|
11
|
+
Requires-Dist: flask==2.2.5
|
12
12
|
Requires-Dist: flask-migrate==2.5.2
|
13
|
-
Requires-Dist: flask-sqlalchemy
|
13
|
+
Requires-Dist: flask-sqlalchemy==2.5.1
|
14
14
|
Requires-Dist: sqlalchemy~=1.3.0
|
15
15
|
Requires-Dist: marshmallow==3.19.0
|
16
16
|
Requires-Dist: marshmallow-sqlalchemy==0.22.3
|
17
|
-
Requires-Dist: google-cloud-storage
|
17
|
+
Requires-Dist: google-cloud-storage==1.35.1
|
18
18
|
Requires-Dist: google-cloud-secret-manager==2.16.2
|
19
19
|
Requires-Dist: google-cloud-pubsub==0.43.0
|
20
|
-
Requires-Dist: google-cloud-bigquery==3.
|
20
|
+
Requires-Dist: google-cloud-bigquery==3.18.0
|
21
21
|
Requires-Dist: google-api-python-client==2.64.0
|
22
|
+
Requires-Dist: packaging>=20.0.0
|
23
|
+
Requires-Dist: pyarrow==14.0.1
|
22
24
|
Requires-Dist: pandas<2,>=1
|
23
25
|
Requires-Dist: python-dotenv==0.10.3
|
24
|
-
Requires-Dist: requests==2.
|
25
|
-
Requires-Dist: jinja2
|
26
|
-
Requires-Dist: nci-cidc-schemas
|
26
|
+
Requires-Dist: requests==2.31.0
|
27
|
+
Requires-Dist: jinja2==3.1.3
|
28
|
+
Requires-Dist: nci-cidc-schemas==0.26.29
|
27
29
|
|
28
30
|
# NCI CIDC API <!-- omit in TOC -->
|
29
31
|
|
{nci_cidc_api_modules-1.0.1 → nci_cidc_api_modules-1.0.4}/nci_cidc_api_modules.egg-info/requires.txt
RENAMED
@@ -1,17 +1,19 @@
|
|
1
|
-
werkzeug==2.
|
2
|
-
flask
|
1
|
+
werkzeug==2.3.8
|
2
|
+
flask==2.2.5
|
3
3
|
flask-migrate==2.5.2
|
4
|
-
flask-sqlalchemy
|
4
|
+
flask-sqlalchemy==2.5.1
|
5
5
|
sqlalchemy~=1.3.0
|
6
6
|
marshmallow==3.19.0
|
7
7
|
marshmallow-sqlalchemy==0.22.3
|
8
|
-
google-cloud-storage
|
8
|
+
google-cloud-storage==1.35.1
|
9
9
|
google-cloud-secret-manager==2.16.2
|
10
10
|
google-cloud-pubsub==0.43.0
|
11
|
-
google-cloud-bigquery==3.
|
11
|
+
google-cloud-bigquery==3.18.0
|
12
12
|
google-api-python-client==2.64.0
|
13
|
+
packaging>=20.0.0
|
14
|
+
pyarrow==14.0.1
|
13
15
|
pandas<2,>=1
|
14
16
|
python-dotenv==0.10.3
|
15
|
-
requests==2.
|
16
|
-
jinja2
|
17
|
-
nci-cidc-schemas
|
17
|
+
requests==2.31.0
|
18
|
+
jinja2==3.1.3
|
19
|
+
nci-cidc-schemas==0.26.29
|
@@ -0,0 +1,67 @@
|
|
1
|
+
[tool.black]
|
2
|
+
exclude = "migrations"
|
3
|
+
target-version = ["py36"]
|
4
|
+
|
5
|
+
[tool.pytest.ini_options]
|
6
|
+
minversion = "6.0"
|
7
|
+
# configure a webdriver for testing Dash dashboards
|
8
|
+
# addopts = "--webdriver Chrome --headless"
|
9
|
+
|
10
|
+
[tool.poetry]
|
11
|
+
name = "cidc-api-gae"
|
12
|
+
version = "1.0.2"
|
13
|
+
description = ""
|
14
|
+
authors = []
|
15
|
+
readme = "README.md"
|
16
|
+
|
17
|
+
[tool.poetry.dependencies]
|
18
|
+
python = ">=3.9,<3.10"
|
19
|
+
flask-cors = "3.0.9"
|
20
|
+
flask-cachecontrol = "0.3.0"
|
21
|
+
six = "1.13.0"
|
22
|
+
python-jose = "3.0.1"
|
23
|
+
psycopg2-binary = ">=2,<3"
|
24
|
+
packaging = "19.2"
|
25
|
+
protobuf = "3.20.3"
|
26
|
+
gunicorn = "^21.2.0"
|
27
|
+
gevent = "23.9.1"
|
28
|
+
psycogreen = "1.0.2"
|
29
|
+
webargs = "6.0.0"
|
30
|
+
dash = "2.15.0"
|
31
|
+
markupsafe = "2.1.5"
|
32
|
+
|
33
|
+
[tool.poetry.group.dev.dependencies]
|
34
|
+
pytest = ">=8.0.1,<8.1.0"
|
35
|
+
black = "22.3.0"
|
36
|
+
pre-commit = "2.9.2"
|
37
|
+
ipython = "8.13.0"
|
38
|
+
flask-shell-ipython = "0.5.1"
|
39
|
+
webdriver-manager = "^4.0.1"
|
40
|
+
percy = "2.0.2"
|
41
|
+
selenium = "3.141.0"
|
42
|
+
bs4 = "0.0.1"
|
43
|
+
|
44
|
+
|
45
|
+
[tool.poetry.group.modules.dependencies]
|
46
|
+
werkzeug = "2.3.8"
|
47
|
+
flask = "2.2.5"
|
48
|
+
flask-migrate = "2.5.2"
|
49
|
+
flask-sqlalchemy = "2.5.1"
|
50
|
+
sqlalchemy = ">=1.3.0,<1.4.0"
|
51
|
+
marshmallow = "3.19.0"
|
52
|
+
marshmallow-sqlalchemy = "0.22.3"
|
53
|
+
google-cloud-storage = ">=1.35.0,<1.36.0"
|
54
|
+
google-cloud-secret-manager = "2.16.2"
|
55
|
+
google-cloud-pubsub = "0.43.0"
|
56
|
+
google-cloud-bigquery = "3.3.5"
|
57
|
+
google-api-python-client = "2.64.0"
|
58
|
+
pandas = ">=1,<2"
|
59
|
+
python-dotenv = "0.10.3"
|
60
|
+
requests = "2.31.0"
|
61
|
+
jinja2 = "3.1.3"
|
62
|
+
nci-cidc-schemas = "0.26.29"
|
63
|
+
|
64
|
+
# keep the existing build step
|
65
|
+
# [build-system]
|
66
|
+
# requires = ["poetry-core"]
|
67
|
+
# build-backend = "poetry.core.masonry.api"
|
@@ -0,0 +1,19 @@
|
|
1
|
+
werkzeug==2.3.8
|
2
|
+
flask==2.2.5
|
3
|
+
flask-migrate==2.5.2
|
4
|
+
flask-sqlalchemy==2.5.1
|
5
|
+
sqlalchemy~=1.3.0
|
6
|
+
marshmallow==3.19.0
|
7
|
+
marshmallow-sqlalchemy==0.22.3
|
8
|
+
google-cloud-storage==1.35.1
|
9
|
+
google-cloud-secret-manager==2.16.2
|
10
|
+
google-cloud-pubsub==0.43.0
|
11
|
+
google-cloud-bigquery==3.18.0
|
12
|
+
google-api-python-client==2.64.0
|
13
|
+
packaging>=20.0.0
|
14
|
+
pyarrow==14.0.1
|
15
|
+
pandas>=1,<2
|
16
|
+
python-dotenv==0.10.3
|
17
|
+
requests==2.31.0
|
18
|
+
jinja2==3.1.3
|
19
|
+
nci-cidc-schemas==0.26.29
|
@@ -3,6 +3,7 @@
|
|
3
3
|
This file doesn't contain tests for methods that don't directly correspond
|
4
4
|
to data resources, like endpoints that handle upload-related functionality.
|
5
5
|
"""
|
6
|
+
|
6
7
|
import os
|
7
8
|
|
8
9
|
os.environ["TZ"] = "UTC"
|
@@ -246,7 +247,7 @@ def test_resource_post(resource, config, cidc_api, clean_db, monkeypatch):
|
|
246
247
|
item = config["model"].find_by_id(response.json["id"]).__dict__
|
247
248
|
assert_dict_contains(item, config["json"])
|
248
249
|
else:
|
249
|
-
assert response.status_code ==
|
250
|
+
assert response.status_code == 404
|
250
251
|
|
251
252
|
|
252
253
|
@pytest.mark.parametrize("resource, config", resource_requests.items())
|
@@ -454,6 +455,10 @@ def test_endpoint_urls(cidc_api):
|
|
454
455
|
"/users/data_access_report",
|
455
456
|
}
|
456
457
|
|
458
|
+
# TODO: remove extra_endpoints_for_tests
|
459
|
+
extra_endpoints_for_tests = {"/bad_request", "/key_error"}
|
460
|
+
expected_endpoints = expected_endpoints | extra_endpoints_for_tests
|
461
|
+
|
457
462
|
# Check that every endpoint included in the API is expected.
|
458
463
|
endpoints = set(
|
459
464
|
[
|
@@ -465,25 +470,17 @@ def test_endpoint_urls(cidc_api):
|
|
465
470
|
assert endpoints == expected_endpoints
|
466
471
|
|
467
472
|
|
473
|
+
# TODO: these tests should be triggered from regular routes
|
468
474
|
def test_exception_handler(clean_cidc_api):
|
469
475
|
"""
|
470
476
|
Ensure that the API handles HTTPExceptions in its routes as expected.
|
471
477
|
"""
|
472
|
-
message = "uh oh!"
|
473
|
-
|
474
|
-
@clean_cidc_api.route("/bad_request")
|
475
|
-
def raise_bad_request():
|
476
|
-
raise BadRequest(message)
|
477
|
-
|
478
|
-
@clean_cidc_api.route("/key_error")
|
479
|
-
def raise_key_error():
|
480
|
-
raise KeyError(message)
|
481
478
|
|
482
479
|
client = clean_cidc_api.test_client()
|
483
480
|
|
484
481
|
res = client.get("/bad_request")
|
485
482
|
assert res.status_code == 400
|
486
|
-
assert res.json == {"_status": "ERR", "_error": {"message":
|
483
|
+
assert res.json == {"_status": "ERR", "_error": {"message": "bad_request"}}
|
487
484
|
|
488
485
|
res = client.get("/key_error")
|
489
486
|
assert res.status_code == 500
|
@@ -1,18 +0,0 @@
|
|
1
|
-
werkzeug==2.0.3
|
2
|
-
flask~=2.0.3
|
3
|
-
flask-migrate==2.5.2
|
4
|
-
flask-sqlalchemy~=2.4.0
|
5
|
-
sqlalchemy~=1.3.0
|
6
|
-
marshmallow==3.19.0
|
7
|
-
marshmallow-sqlalchemy==0.22.3
|
8
|
-
google-cloud-storage~=1.35.0
|
9
|
-
google-cloud-secret-manager==2.16.2
|
10
|
-
google-cloud-pubsub==0.43.0
|
11
|
-
google-cloud-bigquery==3.3.5
|
12
|
-
google-api-python-client==2.64.0
|
13
|
-
pandas>=1,<2
|
14
|
-
python-dotenv==0.10.3
|
15
|
-
requests==2.22.0
|
16
|
-
# pin jinja version to resolve cidc-schemas dependency issue
|
17
|
-
jinja2~=3.0.3
|
18
|
-
nci-cidc-schemas~=0.26.28
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{nci_cidc_api_modules-1.0.1 → nci_cidc_api_modules-1.0.4}/nci_cidc_api_modules.egg-info/SOURCES.txt
RENAMED
File without changes
|
File without changes
|
{nci_cidc_api_modules-1.0.1 → nci_cidc_api_modules-1.0.4}/nci_cidc_api_modules.egg-info/not-zip-safe
RENAMED
File without changes
|
File without changes
|
File without changes
|