Started by timer Running as SYSTEM Building remotely on Ubuntu_18.04_bioeng49 (buildslave Testing) in workspace /home/cmiss/Jenkins/workspace/12-Labours-API [WS-CLEANUP] Deleting project workspace... [WS-CLEANUP] Deferred wipeout is used... [WS-CLEANUP] Done The recommended git tool is: NONE No credentials specified Cloning the remote Git repository Cloning repository https://github.com/ABI-Software/12-labours-api.git > git init /home/cmiss/Jenkins/workspace/12-Labours-API # timeout=10 Fetching upstream changes from https://github.com/ABI-Software/12-labours-api.git > git --version # timeout=10 > git --version # 'git version 2.25.1' > git fetch --tags --force --progress -- https://github.com/ABI-Software/12-labours-api.git +refs/heads/*:refs/remotes/origin/* # timeout=10 > git config remote.origin.url https://github.com/ABI-Software/12-labours-api.git # timeout=10 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10 Avoid second fetch > git rev-parse refs/remotes/origin/dev^{commit} # timeout=10 Checking out Revision a60644391d113696edba764f522c5b42ad254547 (refs/remotes/origin/dev) > git config core.sparsecheckout # timeout=10 > git checkout -f a60644391d113696edba764f522c5b42ad254547 # timeout=10 Commit message: "Merge pull request #14 from david-jianwei-yu/fix-testing" > git rev-list --no-walk a60644391d113696edba764f522c5b42ad254547 # timeout=10 [12-Labours-API] $ /bin/sh -xe /tmp/shiningpanda16951116712474775757.sh + pwd + export PYTHONPATH=/home/cmiss/Jenkins/workspace/12-Labours-API + pip install -r requirements.txt Requirement already satisfied: autopep8==1.6.0 in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from -r requirements.txt (line 1)) (1.6.0) Requirement already satisfied: fastapi==0.80.0 in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from -r requirements.txt (line 2)) (0.80.0) Requirement already satisfied: gen3==4.15.0 in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from -r requirements.txt (line 3)) (4.15.0) Requirement already satisfied: gunicorn==20.1.0 in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from -r requirements.txt (line 4)) (20.1.0) Requirement already satisfied: python-dotenv==0.20.0 in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from -r requirements.txt (line 5)) (0.20.0) Requirement already satisfied: python-irodsclient==1.1.4 in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from -r requirements.txt (line 6)) (1.1.4) Requirement already satisfied: sgqlc==16.0 in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from -r requirements.txt (line 7)) (16.0) Requirement already satisfied: uvicorn==0.18.2 in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from -r requirements.txt (line 8)) (0.18.2) Requirement already satisfied: pycodestyle>=2.8.0 in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from autopep8==1.6.0->-r requirements.txt (line 1)) (2.10.0) Requirement already satisfied: toml in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from autopep8==1.6.0->-r requirements.txt (line 1)) (0.10.2) Requirement already satisfied: pydantic!=1.7,!=1.7.1,!=1.7.2,!=1.7.3,!=1.8,!=1.8.1,<2.0.0,>=1.6.2 in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from fastapi==0.80.0->-r requirements.txt (line 2)) (1.10.4) Requirement already satisfied: starlette==0.19.1 in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from fastapi==0.80.0->-r requirements.txt (line 2)) (0.19.1) Requirement already satisfied: jsonschema in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from gen3==4.15.0->-r requirements.txt (line 3)) (3.2.0) Requirement already satisfied: aiofiles<0.9.0,>=0.8.0 in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from gen3==4.15.0->-r requirements.txt (line 3)) (0.8.0) Requirement already satisfied: drsclient<0.3.0,>=0.2.2 in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from gen3==4.15.0->-r requirements.txt (line 3)) (0.2.3) Requirement already satisfied: indexclient in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from gen3==4.15.0->-r requirements.txt (line 3)) (2.1.0) Requirement already satisfied: pypfb<1.0.0 in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from gen3==4.15.0->-r requirements.txt (line 3)) (0.5.21) Requirement already satisfied: pandas<2.0.0,>=1.4.2 in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from gen3==4.15.0->-r requirements.txt (line 3)) (1.5.3) Requirement already satisfied: python-dateutil in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from gen3==4.15.0->-r requirements.txt (line 3)) (2.8.2) Requirement already satisfied: cdislogging<2.0.0,>=1.1.0 in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from gen3==4.15.0->-r requirements.txt (line 3)) (1.1.1) Requirement already satisfied: backoff in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from gen3==4.15.0->-r requirements.txt (line 3)) (1.11.1) Requirement already satisfied: humanfriendly in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from gen3==4.15.0->-r requirements.txt (line 3)) (10.0) Requirement already satisfied: requests in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from gen3==4.15.0->-r requirements.txt (line 3)) (2.28.2) Requirement already satisfied: aiohttp in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from gen3==4.15.0->-r requirements.txt (line 3)) (3.8.3) Requirement already satisfied: httpx in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from gen3==4.15.0->-r requirements.txt (line 3)) (0.23.3) Requirement already satisfied: dataclasses-json in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from gen3==4.15.0->-r requirements.txt (line 3)) (0.5.7) Requirement already satisfied: click in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from gen3==4.15.0->-r requirements.txt (line 3)) (7.1.2) Requirement already satisfied: tqdm<5.0.0,>=4.61.2 in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from gen3==4.15.0->-r requirements.txt (line 3)) (4.64.1) Requirement already satisfied: setuptools>=3.0 in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from gunicorn==20.1.0->-r requirements.txt (line 4)) (66.1.1) Requirement already satisfied: PrettyTable>=0.7.2 in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from python-irodsclient==1.1.4->-r requirements.txt (line 6)) (3.6.0) Requirement already satisfied: defusedxml in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from python-irodsclient==1.1.4->-r requirements.txt (line 6)) (0.7.1) Requirement already satisfied: six>=1.10.0 in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from python-irodsclient==1.1.4->-r requirements.txt (line 6)) (1.16.0) Requirement already satisfied: graphql-core in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from sgqlc==16.0->-r requirements.txt (line 7)) (3.2.3) Requirement already satisfied: h11>=0.8 in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from uvicorn==0.18.2->-r requirements.txt (line 8)) (0.14.0) Requirement already satisfied: typing-extensions>=3.10.0 in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from starlette==0.19.1->fastapi==0.80.0->-r requirements.txt (line 2)) (4.4.0) Requirement already satisfied: anyio<5,>=3.4.0 in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from starlette==0.19.1->fastapi==0.80.0->-r requirements.txt (line 2)) (3.6.2) Requirement already satisfied: asyncio<4.0.0,>=3.4.3 in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from drsclient<0.3.0,>=0.2.2->gen3==4.15.0->-r requirements.txt (line 3)) (3.4.3) Requirement already satisfied: certifi in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from httpx->gen3==4.15.0->-r requirements.txt (line 3)) (2022.12.7) Requirement already satisfied: httpcore<0.17.0,>=0.15.0 in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from httpx->gen3==4.15.0->-r requirements.txt (line 3)) (0.16.3) Requirement already satisfied: rfc3986[idna2008]<2,>=1.3 in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from httpx->gen3==4.15.0->-r requirements.txt (line 3)) (1.5.0) Requirement already satisfied: sniffio in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from httpx->gen3==4.15.0->-r requirements.txt (line 3)) (1.3.0) Requirement already satisfied: pytz>=2020.1 in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from pandas<2.0.0,>=1.4.2->gen3==4.15.0->-r requirements.txt (line 3)) (2022.7.1) Requirement already satisfied: numpy>=1.20.3 in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from pandas<2.0.0,>=1.4.2->gen3==4.15.0->-r requirements.txt (line 3)) (1.24.1) Requirement already satisfied: wcwidth in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from PrettyTable>=0.7.2->python-irodsclient==1.1.4->-r requirements.txt (line 6)) (0.2.6) Requirement already satisfied: gdcdictionary<2.0.0,>=1.2.0 in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from pypfb<1.0.0->gen3==4.15.0->-r requirements.txt (line 3)) (1.2.0) Requirement already satisfied: python-json-logger<0.2.0,>=0.1.11 in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from pypfb<1.0.0->gen3==4.15.0->-r requirements.txt (line 3)) (0.1.11) Requirement already satisfied: fastavro<=1.4.1 in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from pypfb<1.0.0->gen3==4.15.0->-r requirements.txt (line 3)) (1.4.1) Requirement already satisfied: dictionaryutils<4.0.0,>=3.4.3 in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from pypfb<1.0.0->gen3==4.15.0->-r requirements.txt (line 3)) (3.4.4) Requirement already satisfied: importlib_metadata<2.0.0,>=1.3.0 in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from pypfb<1.0.0->gen3==4.15.0->-r requirements.txt (line 3)) (1.7.0) Requirement already satisfied: PyYAML<6.0.0,>=5.3.1 in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from pypfb<1.0.0->gen3==4.15.0->-r requirements.txt (line 3)) (5.4.1) Requirement already satisfied: multidict<7.0,>=4.5 in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from aiohttp->gen3==4.15.0->-r requirements.txt (line 3)) (6.0.4) Requirement already satisfied: yarl<2.0,>=1.0 in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from aiohttp->gen3==4.15.0->-r requirements.txt (line 3)) (1.8.2) Requirement already satisfied: aiosignal>=1.1.2 in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from aiohttp->gen3==4.15.0->-r requirements.txt (line 3)) (1.3.1) Requirement already satisfied: attrs>=17.3.0 in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from aiohttp->gen3==4.15.0->-r requirements.txt (line 3)) (22.2.0) Requirement already satisfied: charset-normalizer<3.0,>=2.0 in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from aiohttp->gen3==4.15.0->-r requirements.txt (line 3)) (2.1.1) Requirement already satisfied: frozenlist>=1.1.1 in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from aiohttp->gen3==4.15.0->-r requirements.txt (line 3)) (1.3.3) Requirement already satisfied: async-timeout<5.0,>=4.0.0a3 in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from aiohttp->gen3==4.15.0->-r requirements.txt (line 3)) (4.0.2) Requirement already satisfied: idna<4,>=2.5 in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from requests->gen3==4.15.0->-r requirements.txt (line 3)) (3.4) Requirement already satisfied: urllib3<1.27,>=1.21.1 in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from requests->gen3==4.15.0->-r requirements.txt (line 3)) (1.26.14) Requirement already satisfied: typing-inspect>=0.4.0 in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from dataclasses-json->gen3==4.15.0->-r requirements.txt (line 3)) (0.8.0) Requirement already satisfied: marshmallow-enum<2.0.0,>=1.5.1 in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from dataclasses-json->gen3==4.15.0->-r requirements.txt (line 3)) (1.5.1) Requirement already satisfied: marshmallow<4.0.0,>=3.3.0 in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from dataclasses-json->gen3==4.15.0->-r requirements.txt (line 3)) (3.19.0) Requirement already satisfied: pyrsistent>=0.14.0 in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from jsonschema->gen3==4.15.0->-r requirements.txt (line 3)) (0.19.3) Requirement already satisfied: zipp>=0.5 in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from importlib_metadata<2.0.0,>=1.3.0->pypfb<1.0.0->gen3==4.15.0->-r requirements.txt (line 3)) (3.11.0) Requirement already satisfied: packaging>=17.0 in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from marshmallow<4.0.0,>=3.3.0->dataclasses-json->gen3==4.15.0->-r requirements.txt (line 3)) (23.0) Requirement already satisfied: mypy-extensions>=0.3.0 in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from typing-inspect>=0.4.0->dataclasses-json->gen3==4.15.0->-r requirements.txt (line 3)) (0.4.3) [notice] A new release of pip available: 22.3.1 -> 23.0 [notice] To update, run: pip install --upgrade pip + pip install -r requirements-dev.txt Requirement already satisfied: pytest==7.1.2 in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from -r requirements-dev.txt (line 1)) (7.1.2) Requirement already satisfied: pluggy<2.0,>=0.12 in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from pytest==7.1.2->-r requirements-dev.txt (line 1)) (1.0.0) Requirement already satisfied: tomli>=1.0.0 in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from pytest==7.1.2->-r requirements-dev.txt (line 1)) (2.0.1) Requirement already satisfied: packaging in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from pytest==7.1.2->-r requirements-dev.txt (line 1)) (23.0) Requirement already satisfied: iniconfig in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from pytest==7.1.2->-r requirements-dev.txt (line 1)) (2.0.0) Requirement already satisfied: attrs>=19.2.0 in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from pytest==7.1.2->-r requirements-dev.txt (line 1)) (22.2.0) Requirement already satisfied: py>=1.8.2 in /home/cmiss/Jenkins/shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages (from pytest==7.1.2->-r requirements-dev.txt (line 1)) (1.11.0) [notice] A new release of pip available: 22.3.1 -> 23.0 [notice] To update, run: pip install --upgrade pip + pytest ============================= test session starts ============================== platform linux -- Python 3.9.16, pytest-7.1.2, pluggy-1.0.0 rootdir: /home/cmiss/Jenkins/workspace/12-Labours-API plugins: anyio-3.6.2 collected 12 items tests/test_api.py FFFFFFF.F... [100%] =================================== FAILURES =================================== ____________________________ test_get_gen3_program _____________________________ client = <starlette.testclient.TestClient object at 0x7f2b6bdd3bb0> def test_get_gen3_program(client): response = client.get("/program") result = response.json() > assert response.status_code == 200 E assert 404 == 200 E + where 404 = <Response [404]>.status_code tests/test_api.py:15: AssertionError ____________________________ test_get_gen3_project _____________________________ client = <starlette.testclient.TestClient object at 0x7f2b6bdd3d90> def test_get_gen3_project(client): response = client.get("/project/demo1") result = response.json() > assert response.status_code == 200 E assert 404 == 200 E + where 404 = <Response [404]>.status_code tests/test_api.py:23: AssertionError ___________________________ test_get_gen3_dictionary ___________________________ client = <starlette.testclient.TestClient object at 0x7f2b6b483cd0> def test_get_gen3_dictionary(client): pass_case = { "program": "demo1", "project": "12L", } response = client.post("/dictionary", json=pass_case) > assert response.status_code == 200 E assert 404 == 200 E + where 404 = <Response [404]>.status_code tests/test_api.py:37: AssertionError __________________________ test_get_gen3_node_records __________________________ client = <starlette.testclient.TestClient object at 0x7f2b6b489b50> def test_get_gen3_node_records(client): NODE_TYPE = "experiment" pass_case = { "program": "demo1", "project": "12L", } > response = client.post(f"/records/{NODE_TYPE}", json=pass_case) tests/test_api.py:62: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/requests/sessions.py:635: in post return self.request("POST", url, data=data, json=json, **kwargs) ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/starlette/testclient.py:476: in request return super().request( ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/requests/sessions.py:587: in request resp = self.send(prep, **send_kwargs) ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/requests/sessions.py:701: in send r = adapter.send(request, **kwargs) ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/starlette/testclient.py:270: in send raise exc ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/starlette/testclient.py:267: in send portal.call(self.app, scope, receive, send) ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/anyio/from_thread.py:283: in call return cast(T_Retval, self.start_task_soon(func, *args).result()) /usr/lib/python3.9/concurrent/futures/_base.py:446: in result return self.__get_result() /usr/lib/python3.9/concurrent/futures/_base.py:391: in __get_result raise self._exception ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/anyio/from_thread.py:219: in _call_func retval = await retval ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/fastapi/applications.py:269: in __call__ await super().__call__(scope, receive, send) ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/starlette/applications.py:124: in __call__ await self.middleware_stack(scope, receive, send) ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/starlette/middleware/errors.py:184: in __call__ raise exc ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/starlette/middleware/errors.py:162: in __call__ await self.app(scope, receive, _send) ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/starlette/middleware/cors.py:84: in __call__ await self.app(scope, receive, send) ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/starlette/exceptions.py:93: in __call__ raise exc ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/starlette/exceptions.py:82: in __call__ await self.app(scope, receive, sender) ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/fastapi/middleware/asyncexitstack.py:21: in __call__ raise e ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/fastapi/middleware/asyncexitstack.py:18: in __call__ await self.app(scope, receive, send) ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/starlette/routing.py:670: in __call__ await route.handle(scope, receive, send) ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/starlette/routing.py:266: in handle await self.app(scope, receive, send) ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/starlette/routing.py:65: in app response = await func(request) ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/fastapi/routing.py:227: in app raw_response = await run_endpoint_function( ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/fastapi/routing.py:160: in run_endpoint_function return await dependant.call(**values) app/main.py:234: in get_gen3_node_records node_record = SUBMISSION.export_node( ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/gen3/submission.py:384: in export_node output = requests.get(api_url, auth=self._auth_provider).text ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/requests/api.py:73: in get return request("get", url, params=params, **kwargs) ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/requests/api.py:59: in request return session.request(method=method, url=url, **kwargs) ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/requests/sessions.py:573: in request prep = self.prepare_request(req) ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/requests/sessions.py:484: in prepare_request p.prepare( ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/requests/models.py:372: in prepare self.prepare_auth(auth, url) ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/requests/models.py:603: in prepare_auth r = auth(self) ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/gen3/auth.py:266: in __call__ request.headers["Authorization"] = self._get_auth_value() ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/gen3/auth.py:378: in _get_auth_value return "bearer " + self.get_access_token() ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/gen3/auth.py:367: in get_access_token return self.refresh_access_token(endpoint) ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/gen3/auth.py:304: in refresh_access_token self._access_token = get_access_token_with_key(self._refresh_token) ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/gen3/auth.py:77: in get_access_token_with_key return _handle_access_token_response(resp, token_key) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ resp = <Response [401]>, token_key = 'access_token' def _handle_access_token_response(resp, token_key): """ Shared helper for both get_access_token_with_key and get_access_token_from_wts """ err_msg = "Failed to get an access token from {}:\n{}" if resp.status_code != 200: > raise Gen3AuthError(err_msg.format(resp.url, resp.text)) E gen3.auth.Gen3AuthError: Failed to get an access token from https://gen3.abi-ctt-ctp.cloud.edu.au/user/credentials/cdis/access_token: E <!doctype html> E E <html lang="en"> E <head> E <meta charset="utf-8"> E <title>401</title> E <link rel="stylesheet" href="/api/static/css/bootstrap.min.css"> E <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro' rel='stylesheet' type='text/css'> E <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> E <script src="/api/static/js/bootstrap.min.js"></script> E </head> E E <body> E <main> E <img class="error-page__logo" src="/user/static/img/logo.svg" /> E <div class="error-page"> E <div class="error-page__banner"> E <h1>Gen3 Data Commons</h1> E </div> E <div class="error-page__status-code"> E <div class="error-page__status-code-text"> E <h1>401</h1> E <h2>Unauthorized</h2> E </div> E <img class="error-page__picture" src="/user/static/img/404.svg" /> E </div> E <div class="error-page__information"> E <p class="body">Error Identifier:</p> E <p class="introduction">86641426-f601-462c-9e13-4951ad7e6e1a</p> E E <p class="body">Error Message:</p> E <p class="introduction">[401] - Authentication Error: Signature has expired</p> E E <div> E E <p class="body">Please try again!</p> E E </div> E </div> E </div> E </main> E </body> E <style type="text/css"> E E .body { E font-size: 16px; E color: #9b9b9b; E margin: 0; E } E E .introduction { E font-size: 18px; E font-weight: 500; E line-height: 18px; E letter-spacing: .03rem; E color: #000000; E display: inline-block; E margin: 13px 0 13px 0; E } E E .auth-data-logo { E width: 314px; E height: 116px; E display: block; E margin: auto; E margin-bottom: 15px; E } E E body { E margin: 30px 30px; E background-color: #F5F5F5; E font-family: 'Source Sans Pro', sans-serif; E } E E .error-page { E width: 100%; E display: flex; E flex-flow: column; E justify-content: center; E background-color: white; E border: 1px solid #9b9b9b; E border-radius: 8px; E } E E .error-page__logo { E width: 100%; E display: flex; E margin-bottom: 15px; E max-height: 116px; E justify-content: center; E } E E .error-page__banner { E min-height: 70px; E background-color: #3283C8; E text-align: center; E color: white; E border-radius: 8px 8px 0 0; E font-weight: lighter; E } E E .error-page__status-code { E display: flex; E justify-content: center; E align-items: center; E margin: 60px 0 25px 0; E text-align: center; E background-color: white; E } E E .error-page__status-code-text { E display: flex; E flex-flow: column; E margin-right: 20px; E } E E .error-page__status-code-text h1 { E font-size: 155px; E font-weight: lighter; E margin: 0; E line-height: 1em; E } E E .error-page__status-code-text h2 { E margin: 0; E } E E .error-page__picture { E height: 186px; E margin-left: 20px; E } E E .error-page__information { E margin: 0 30px 60px 30px; E border: 1px solid #9b9b9b; E border-radius: 4px; E background-color: #f5f5f5; E padding: 20px 20px; E } E E .error-page__information a { E color: #3283C8; E text-decoration: none; E } E E </style> E </html> ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/gen3/auth.py:58: Gen3AuthError _____________________________ test_get_gen3_record _____________________________ client = <starlette.testclient.TestClient object at 0x7f2b74a51fa0> def test_get_gen3_record(client): UUID = "fcf89c10-20ae-43a9-afb4-a7b107a2b541" pass_case = { "program": "demo1", "project": "12L", } > response = client.post(f"/record/{UUID}", json=pass_case) tests/test_api.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/requests/sessions.py:635: in post return self.request("POST", url, data=data, json=json, **kwargs) ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/starlette/testclient.py:476: in request return super().request( ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/requests/sessions.py:587: in request resp = self.send(prep, **send_kwargs) ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/requests/sessions.py:701: in send r = adapter.send(request, **kwargs) ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/starlette/testclient.py:270: in send raise exc ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/starlette/testclient.py:267: in send portal.call(self.app, scope, receive, send) ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/anyio/from_thread.py:283: in call return cast(T_Retval, self.start_task_soon(func, *args).result()) /usr/lib/python3.9/concurrent/futures/_base.py:446: in result return self.__get_result() /usr/lib/python3.9/concurrent/futures/_base.py:391: in __get_result raise self._exception ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/anyio/from_thread.py:219: in _call_func retval = await retval ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/fastapi/applications.py:269: in __call__ await super().__call__(scope, receive, send) ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/starlette/applications.py:124: in __call__ await self.middleware_stack(scope, receive, send) ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/starlette/middleware/errors.py:184: in __call__ raise exc ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/starlette/middleware/errors.py:162: in __call__ await self.app(scope, receive, _send) ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/starlette/middleware/cors.py:84: in __call__ await self.app(scope, receive, send) ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/starlette/exceptions.py:93: in __call__ raise exc ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/starlette/exceptions.py:82: in __call__ await self.app(scope, receive, sender) ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/fastapi/middleware/asyncexitstack.py:21: in __call__ raise e ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/fastapi/middleware/asyncexitstack.py:18: in __call__ await self.app(scope, receive, send) ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/starlette/routing.py:670: in __call__ await route.handle(scope, receive, send) ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/starlette/routing.py:266: in handle await self.app(scope, receive, send) ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/starlette/routing.py:65: in app response = await func(request) ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/fastapi/routing.py:227: in app raw_response = await run_endpoint_function( ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/fastapi/routing.py:160: in run_endpoint_function return await dependant.call(**values) app/main.py:261: in get_gen3_record record = SUBMISSION.export_record( ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/gen3/submission.py:348: in export_record output = requests.get(api_url, auth=self._auth_provider).text ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/requests/api.py:73: in get return request("get", url, params=params, **kwargs) ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/requests/api.py:59: in request return session.request(method=method, url=url, **kwargs) ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/requests/sessions.py:573: in request prep = self.prepare_request(req) ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/requests/sessions.py:484: in prepare_request p.prepare( ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/requests/models.py:372: in prepare self.prepare_auth(auth, url) ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/requests/models.py:603: in prepare_auth r = auth(self) ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/gen3/auth.py:266: in __call__ request.headers["Authorization"] = self._get_auth_value() ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/gen3/auth.py:378: in _get_auth_value return "bearer " + self.get_access_token() ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/gen3/auth.py:367: in get_access_token return self.refresh_access_token(endpoint) ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/gen3/auth.py:304: in refresh_access_token self._access_token = get_access_token_with_key(self._refresh_token) ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/gen3/auth.py:77: in get_access_token_with_key return _handle_access_token_response(resp, token_key) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ resp = <Response [401]>, token_key = 'access_token' def _handle_access_token_response(resp, token_key): """ Shared helper for both get_access_token_with_key and get_access_token_from_wts """ err_msg = "Failed to get an access token from {}:\n{}" if resp.status_code != 200: > raise Gen3AuthError(err_msg.format(resp.url, resp.text)) E gen3.auth.Gen3AuthError: Failed to get an access token from https://gen3.abi-ctt-ctp.cloud.edu.au/user/credentials/cdis/access_token: E <!doctype html> E E <html lang="en"> E <head> E <meta charset="utf-8"> E <title>401</title> E <link rel="stylesheet" href="/api/static/css/bootstrap.min.css"> E <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro' rel='stylesheet' type='text/css'> E <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> E <script src="/api/static/js/bootstrap.min.js"></script> E </head> E E <body> E <main> E <img class="error-page__logo" src="/user/static/img/logo.svg" /> E <div class="error-page"> E <div class="error-page__banner"> E <h1>Gen3 Data Commons</h1> E </div> E <div class="error-page__status-code"> E <div class="error-page__status-code-text"> E <h1>401</h1> E <h2>Unauthorized</h2> E </div> E <img class="error-page__picture" src="/user/static/img/404.svg" /> E </div> E <div class="error-page__information"> E <p class="body">Error Identifier:</p> E <p class="introduction">122a6021-319c-4be6-9eb4-14f79fae61fc</p> E E <p class="body">Error Message:</p> E <p class="introduction">[401] - Authentication Error: Signature has expired</p> E E <div> E E <p class="body">Please try again!</p> E E </div> E </div> E </div> E </main> E </body> E <style type="text/css"> E E .body { E font-size: 16px; E color: #9b9b9b; E margin: 0; E } E E .introduction { E font-size: 18px; E font-weight: 500; E line-height: 18px; E letter-spacing: .03rem; E color: #000000; E display: inline-block; E margin: 13px 0 13px 0; E } E E .auth-data-logo { E width: 314px; E height: 116px; E display: block; E margin: auto; E margin-bottom: 15px; E } E E body { E margin: 30px 30px; E background-color: #F5F5F5; E font-family: 'Source Sans Pro', sans-serif; E } E E .error-page { E width: 100%; E display: flex; E flex-flow: column; E justify-content: center; E background-color: white; E border: 1px solid #9b9b9b; E border-radius: 8px; E } E E .error-page__logo { E width: 100%; E display: flex; E margin-bottom: 15px; E max-height: 116px; E justify-content: center; E } E E .error-page__banner { E min-height: 70px; E background-color: #3283C8; E text-align: center; E color: white; E border-radius: 8px 8px 0 0; E font-weight: lighter; E } E E .error-page__status-code { E display: flex; E justify-content: center; E align-items: center; E margin: 60px 0 25px 0; E text-align: center; E background-color: white; E } E E .error-page__status-code-text { E display: flex; E flex-flow: column; E margin-right: 20px; E } E E .error-page__status-code-text h1 { E font-size: 155px; E font-weight: lighter; E margin: 0; E line-height: 1em; E } E E .error-page__status-code-text h2 { E margin: 0; E } E E .error-page__picture { E height: 186px; E margin-left: 20px; E } E E .error-page__information { E margin: 0 30px 60px 30px; E border: 1px solid #9b9b9b; E border-radius: 4px; E background-color: #f5f5f5; E padding: 20px 20px; E } E E .error-page__information a { E color: #3283C8; E text-decoration: none; E } E E </style> E </html> ../../shiningpanda/jobs/084398e7/virtualenvs/d41d8cd9/lib/python3.9/site-packages/gen3/auth.py:58: Gen3AuthError ______________________________ test_graphql_query ______________________________ client = <starlette.testclient.TestClient object at 0x7f2b6b120820> def test_graphql_query(client): DATASET_ID = "dataset-46-version-2-dataset_description" pass_case = { "node": "dataset_description", "filter": { "submitter_id": [DATASET_ID] }, "search": "" } response = client.post("/graphql/query", json=pass_case) result = response.json() > assert response.status_code == 200 E assert 404 == 200 E + where 404 = <Response [404]>.status_code tests/test_api.py:145: AssertionError ___________________________ test_graphql_pagination ____________________________ client = <starlette.testclient.TestClient object at 0x7f2b6ac84670> def test_graphql_pagination(client): filter_pass_case = { "node": "experiment", "filter": { "1": { "node": "manifest_filter", "filter": { "additional_types": [ "text/vnd.abi.plot+tab-separated-values", "text/vnd.abi.plot+csv" ] } }, "2": { "node": "case_filter", "filter": { "species": [ "Rattus norvegicus" ] } }, "3": { "node": "dataset_description_filter", "filter": { "study_organ_system": [ "stomach" ] } }, "4": { "node": "case_filter", "filter": { "sex": [ "Male" ] } } }, "relation": "and" } response = client.post("/graphql/pagination/", json=filter_pass_case) result = response.json() > assert response.status_code == 200 E assert 404 == 200 E + where 404 = <Response [404]>.status_code tests/test_api.py:197: AssertionError _______________________ test_download_gen3_metadata_file _______________________ client = <starlette.testclient.TestClient object at 0x7f2b6ae35550> def test_download_gen3_metadata_file(client): PROG_NAME = "demo1" PROJ_NAME = "12L" UUID = "fcf89c10-20ae-43a9-afb4-a7b107a2b541" FORM = "json" response = client.get( f"/metadata/download/{PROG_NAME}/{PROJ_NAME}/{UUID}/{FORM}") result = response.json() > assert response.status_code == 200 E assert 400 == 200 E + where 400 = <Response [400]>.status_code tests/test_api.py:309: AssertionError =============================== warnings summary =============================== app/sgqlc.py:23 /home/cmiss/Jenkins/workspace/12-Labours-API/app/sgqlc.py:23: DeprecationWarning: invalid escape sequence \{ '\'([_a-z]+)\'', r'\1', re.sub('\{([^{].*[^}])\}', r'\1', f'{item.filter}')) app/search.py:37 app/search.py:37 /home/cmiss/Jenkins/workspace/12-Labours-API/app/search.py:37: DeprecationWarning: invalid escape sequence \s f'(\s{keyword}|{keyword}\s)', result[DataObjectMeta.value]) -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info ============================ FAILED tests/test_api.py::test_get_gen3_program - assert 404 == 200 FAILED tests/test_api.py::test_get_gen3_project - assert 404 == 200 FAILED tests/test_api.py::test_get_gen3_dictionary - assert 404 == 200 FAILED tests/test_api.py::test_get_gen3_node_records - gen3.auth.Gen3AuthErro... FAILED tests/test_api.py::test_get_gen3_record - gen3.auth.Gen3AuthError: Fai... FAILED tests/test_api.py::test_graphql_query - assert 404 == 200 FAILED tests/test_api.py::test_graphql_pagination - assert 404 == 200 FAILED tests/test_api.py::test_download_gen3_metadata_file - assert 400 == 200 =================== 8 failed, 4 passed, 3 warnings in 4.35s ==================== Build step 'Virtualenv Builder' marked build as failure [Slack Notifications] found #78 as previous completed, non-aborted build [Slack Notifications] will send OnEveryFailureNotification because build matches and user preferences allow it Finished: FAILURE