diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index a4b80f68..f5041a08 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -14,7 +14,7 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Set environment based on branch run: | @@ -35,7 +35,7 @@ jobs: fi - name: Configure AWS credentials - uses: aws-actions/configure-aws-credentials@v4 + uses: aws-actions/configure-aws-credentials@v5 with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} diff --git a/.gitignore b/.gitignore index f4d56c62..74c73507 100755 --- a/.gitignore +++ b/.gitignore @@ -114,3 +114,4 @@ build_deploy.sh output.txt .yarn/ +tasks/ \ No newline at end of file diff --git a/app.js b/app.js index 7f8a16d8..46157233 100755 --- a/app.js +++ b/app.js @@ -38,16 +38,14 @@ const limiter = rateLimiter({ app.engine('html', require('ejs').renderFile); const {optionalAuth} = require('./v2.0/helpers/validation/sessionauth'); -const allowedOrigins = env === 'production' - ? ['https://data.neotomadb.org', 'https://apps.neotomadb.org'] - : [ 'http://localhost:5173', 'http://127.0.0.1:5173', - 'http://localhost:3305', 'http://127.0.0.1:3305' - ]; +const allowedOrigins = ['https://data.neotomadb.org', 'https://apps.neotomadb.org']; +const localhostRe = /^https?:\/\/(localhost|127\.0\.0\.1)(:\d+)?$/; const corsOptions = { origin: function(origin, callback) { if (!origin) return callback(null, true); // server-to-server, curl, R package if (allowedOrigins.includes(origin)) return callback(null, true); + if (env !== 'production' && localhostRe.test(origin)) return callback(null, true); return callback(new Error(`CORS: origin ${origin} not allowed`)); }, credentials: true, diff --git a/openapi.yaml b/openapi.yaml index 5e744ca9..fe64fa54 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -3125,6 +3125,43 @@ paths: tags: - Contact metadata - v2.0 + /v2.0/data/contacts/{contactid}/publications: + get: + description: Returns publications authored by a specific contact. + parameters: + - $ref: '#/components/parameters/contactidPath' + responses: + '200': + content: + application/json: + schema: + type: object + properties: + status: + type: string + example: success + data: + type: array + items: + type: object + properties: + publicationid: + type: integer + citation: + type: string + year: + type: integer + doi: + type: string + nullable: true + message: + type: string + description: An array of publications associated with the contact. + summary: Publications by a contact. + tags: + - Contact metadata + - Publication metadata + - v2.0 /v2.0/data/contacts/{contactid}/sites: get: description: Returns the set of sites associated with an individual (or individuals). @@ -3946,6 +3983,111 @@ paths: tags: - Occurrence metadata - v2.0 + /v2.0/data/aedna/sequences/{datasetid}: + get: + description: >- + Returns aeDNA sequences for a given dataset, grouped by taxon. Includes the taxonomic hierarchy chain, model + information, primer name, and publication DOI. Only returns the most recent (non-superseded) model assignments. + parameters: + - $ref: '#/components/parameters/datasetidPath' + responses: + '200': + content: + application/json: + schema: + type: object + properties: + status: + type: string + example: success + data: + type: object + properties: + datasetid: + type: integer + sequences: + type: array + items: + type: object + properties: + taxonid: + type: integer + taxonname: + type: string + taxonchain: + type: array + items: + type: string + description: Taxonomic hierarchy from highest rank to the taxon itself. + sequences: + type: array + items: + type: object + properties: + sequenceid: + type: integer + sequence: + type: string + description: The DNA sequence string. + model: + type: string + description: The bioinformatics model used for taxonomic assignment (e.g. DADA2). + primername: + type: string + nullable: true + publicationdoi: + type: string + nullable: true + message: + type: string + description: aeDNA sequences grouped by taxon for the dataset. + summary: aeDNA sequences for a dataset. + tags: + - aeDNA + - v2.0 + /v2.0/data/aedna/taxa/{taxonid}/sequences: + get: + description: >- + Returns all aeDNA sequences associated with a given taxon. Only returns the most recent (non-superseded) model + assignments. + parameters: + - $ref: '#/components/parameters/taxonidPath' + responses: + '200': + content: + application/json: + schema: + type: object + properties: + status: + type: string + example: success + data: + type: array + items: + type: object + properties: + sequenceid: + type: integer + sequence: + type: string + description: The DNA sequence string. + model: + type: string + description: The bioinformatics model used for taxonomic assignment. + primername: + type: string + nullable: true + publicationdoi: + type: string + nullable: true + message: + type: string + description: An array of aeDNA sequences for the taxon. + summary: aeDNA sequences for a taxon. + tags: + - aeDNA + - v2.0 tags: - description: |- Endpoints that access tables from Neotoma verbatim. Documentation for the database can be found in diff --git a/openapi/paths/v20/data.yml b/openapi/paths/v20/data.yml index 153912b3..8cb881a4 100644 --- a/openapi/paths/v20/data.yml +++ b/openapi/paths/v20/data.yml @@ -113,6 +113,43 @@ tags: - Contact metadata - v2.0 +/v2.0/data/contacts/{contactid}/publications: + get: + description: Returns publications authored by a specific contact. + parameters: + - $ref: '#/components/parameters/contactidPath' + responses: + '200': + content: + application/json: + schema: + type: object + properties: + status: + type: string + example: success + data: + type: array + items: + type: object + properties: + publicationid: + type: integer + citation: + type: string + year: + type: integer + doi: + type: string + nullable: true + message: + type: string + description: An array of publications associated with the contact. + summary: Publications by a contact. + tags: + - Contact metadata + - Publication metadata + - v2.0 /v2.0/data/contacts/{contactid}/sites: get: description: Returns the set of sites associated with an individual (or individuals). @@ -949,3 +986,104 @@ tags: - Occurrence metadata - v2.0 +/v2.0/data/aedna/sequences/{datasetid}: + get: + description: Returns aeDNA sequences for a given dataset, grouped by taxon. Includes the taxonomic hierarchy chain, model information, primer name, and publication DOI. Only returns the most recent (non-superseded) model assignments. + parameters: + - $ref: '#/components/parameters/datasetidPath' + responses: + '200': + content: + application/json: + schema: + type: object + properties: + status: + type: string + example: success + data: + type: object + properties: + datasetid: + type: integer + sequences: + type: array + items: + type: object + properties: + taxonid: + type: integer + taxonname: + type: string + taxonchain: + type: array + items: + type: string + description: Taxonomic hierarchy from highest rank to the taxon itself. + sequences: + type: array + items: + type: object + properties: + sequenceid: + type: integer + sequence: + type: string + description: The DNA sequence string. + model: + type: string + description: The bioinformatics model used for taxonomic assignment (e.g. DADA2). + primername: + type: string + nullable: true + publicationdoi: + type: string + nullable: true + message: + type: string + description: aeDNA sequences grouped by taxon for the dataset. + summary: aeDNA sequences for a dataset. + tags: + - aeDNA + - v2.0 +/v2.0/data/aedna/taxa/{taxonid}/sequences: + get: + description: Returns all aeDNA sequences associated with a given taxon. Only returns the most recent (non-superseded) model assignments. + parameters: + - $ref: '#/components/parameters/taxonidPath' + responses: + '200': + content: + application/json: + schema: + type: object + properties: + status: + type: string + example: success + data: + type: array + items: + type: object + properties: + sequenceid: + type: integer + sequence: + type: string + description: The DNA sequence string. + model: + type: string + description: The bioinformatics model used for taxonomic assignment. + primername: + type: string + nullable: true + publicationdoi: + type: string + nullable: true + message: + type: string + description: An array of aeDNA sequences for the taxon. + summary: aeDNA sequences for a taxon. + tags: + - aeDNA + - v2.0 diff --git a/public/tests.html b/public/tests.html index 62559d50..1b4fc9b3 100644 --- a/public/tests.html +++ b/public/tests.html @@ -1,2 +1,2 @@ -Mochawesome Report
\ No newline at end of file +Mochawesome Report
\ No newline at end of file diff --git a/public/tests.json b/public/tests.json index 995e2d27..1e848ffb 100644 --- a/public/tests.json +++ b/public/tests.json @@ -1,16 +1,16 @@ { "stats": { - "suites": 157, - "tests": 146, - "passes": 145, + "suites": 163, + "tests": 149, + "passes": 14, "pending": 1, - "failures": 0, - "start": "2026-05-13T21:31:33.627Z", - "end": "2026-05-13T21:33:17.425Z", - "duration": 103798, - "testsRegistered": 146, - "passPercent": 100, - "pendingPercent": 0.684931506849315, + "failures": 134, + "start": "2026-06-03T20:20:49.245Z", + "end": "2026-06-03T20:20:49.516Z", + "duration": 271, + "testsRegistered": 149, + "passPercent": 9.45945945945946, + "pendingPercent": 0.6711409395973155, "other": 0, "hasOther": false, "skipped": 0, @@ -18,7 +18,7 @@ }, "results": [ { - "uuid": "ccba6456-5fe6-4a3b-a66a-251379d151e3", + "uuid": "aa055bd4-5737-4bf7-9f79-189e0936f7dc", "title": "", "fullFile": "", "file": "", @@ -37,8 +37,8 @@ "context": null, "code": "checkForUnfulfilledExpectations.call(this);\nrecordedExpects = [];", "err": {}, - "uuid": "cc4fec91-94b9-4998-87bc-48b71d183492", - "parentUUID": "ccba6456-5fe6-4a3b-a66a-251379d151e3", + "uuid": "f8201ce6-d0a4-43eb-89bc-0db2d3481a94", + "parentUUID": "aa055bd4-5737-4bf7-9f79-189e0936f7dc", "isHook": true, "skipped": false } @@ -46,49 +46,53 @@ "tests": [], "suites": [ { - "uuid": "ec6870f9-d7fc-47eb-98fb-00f2125203f0", - "title": "tests for /v2.0/apps/taxaindatasets", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-apps-taxaindatasets-test.js", - "file": "/test/v2.0-apps-taxaindatasets-test.js", + "uuid": "e6f109d0-0bc1-4df2-9a8e-2bfce04a7aa1", + "title": "tests for /v2.0/data/sites/{siteid}/datasets_elc", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-sites-{siteid}-datasets_elc-test.js", + "file": "/test/v2.0-data-sites-{siteid}-datasets_elc-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "795460c2-97ae-43be-a29b-e4da218f47d0", + "uuid": "c11c94d8-9eef-4005-a490-d93793cab12e", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-apps-taxaindatasets-test.js", - "file": "/test/v2.0-apps-taxaindatasets-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-sites-{siteid}-datasets_elc-test.js", + "file": "/test/v2.0-data-sites-{siteid}-datasets_elc-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"A list of all taxa in neotoma and the datasets in which they are found.\"", - "fullTitle": "tests for /v2.0/apps/taxaindatasets tests for get should respond 200 for \"A list of all taxa in neotoma and the datasets in which they are found.\"", + "title": "should respond 200 for \"An array of datasets.\"", + "fullTitle": "tests for /v2.0/data/sites/{siteid}/datasets_elc tests for get should respond 200 for \"An array of datasets.\"", "timedOut": false, - "duration": 2988, - "state": "passed", - "speed": "slow", - "pass": true, - "fail": false, + "duration": 28, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/apps/taxaindatasets', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "1a5eaaf9-daec-447e-93f7-f5a9974260cd", - "parentUUID": "795460c2-97ae-43be-a29b-e4da218f47d0", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/sites/500/datasets_elc', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "82ae46cb-3a62-4243-ad0a-84623225a9e6", + "parentUUID": "c11c94d8-9eef-4005-a490-d93793cab12e", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "1a5eaaf9-daec-447e-93f7-f5a9974260cd" + "passes": [], + "failures": [ + "82ae46cb-3a62-4243-ad0a-84623225a9e6" ], - "failures": [], "pending": [], "skipped": [], - "duration": 2988, + "duration": 28, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -104,49 +108,53 @@ "_timeout": 900000 }, { - "uuid": "306e31ce-4390-4851-99f0-6ba38ab8e270", - "title": "tests for /v1.5/data/sites/{siteid}", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v1.5-data-sites-{siteid}-test.js", - "file": "/test/v1.5-data-sites-{siteid}-test.js", + "uuid": "f1c1b7e7-f52d-4eac-b596-4334fb6f70c5", + "title": "tests for /v2.0/data/datasets/{datasetid}/doi", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-datasets-{datasetid}-doi-test.js", + "file": "/test/v2.0-data-datasets-{datasetid}-doi-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "03ee7e46-3fa5-499c-950e-f32c5e0730b1", + "uuid": "06ffa1a2-97c3-4559-9acf-cf13d32d30f2", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v1.5-data-sites-{siteid}-test.js", - "file": "/test/v1.5-data-sites-{siteid}-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-datasets-{datasetid}-doi-test.js", + "file": "/test/v2.0-data-datasets-{datasetid}-doi-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"An array of site elements.\"", - "fullTitle": "tests for /v1.5/data/sites/{siteid} tests for get should respond 200 for \"An array of site elements.\"", + "title": "should respond 200 for \"DOI\"", + "fullTitle": "tests for /v2.0/data/datasets/{datasetid}/doi tests for get should respond 200 for \"DOI\"", "timedOut": false, - "duration": 79, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 2, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v1.5/data/sites/500', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "bff6de9e-5981-4838-9f3d-50adf64dfee2", - "parentUUID": "03ee7e46-3fa5-499c-950e-f32c5e0730b1", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/datasets/500/doi', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "685e80da-b451-46cb-9fb5-5839a7a493ae", + "parentUUID": "06ffa1a2-97c3-4559-9acf-cf13d32d30f2", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "bff6de9e-5981-4838-9f3d-50adf64dfee2" + "passes": [], + "failures": [ + "685e80da-b451-46cb-9fb5-5839a7a493ae" ], - "failures": [], "pending": [], "skipped": [], - "duration": 79, + "duration": 2, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -162,49 +170,53 @@ "_timeout": 900000 }, { - "uuid": "eac580c2-d969-4a7e-bbef-7196fad43d49", - "title": "tests for /v2.0/data/taxa", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-taxa-test.js", - "file": "/test/v2.0-data-taxa-test.js", + "uuid": "5b6d05c0-139f-495e-a6a2-b8fced117858", + "title": "tests for /v1.5/data/datasets/{datasetid}", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v1.5-data-datasets-{datasetid}-test.js", + "file": "/test/v1.5-data-datasets-{datasetid}-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "3ef0b65c-c2cd-4186-b33e-b0bb1de73624", + "uuid": "b743e9bd-6ea2-42f1-ae58-a9fb6e0a0656", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-taxa-test.js", - "file": "/test/v2.0-data-taxa-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v1.5-data-datasets-{datasetid}-test.js", + "file": "/test/v1.5-data-datasets-{datasetid}-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"A taxon or array of taxa.\"", - "fullTitle": "tests for /v2.0/data/taxa tests for get should respond 200 for \"A taxon or array of taxa.\"", + "title": "should respond 200 for \"An array of datasets.\"", + "fullTitle": "tests for /v1.5/data/datasets/{datasetid} tests for get should respond 200 for \"An array of datasets.\"", "timedOut": false, - "duration": 171, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 2, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/taxa', { \n 'qs': {\"taxonname\":\"do exercitation magna officia cupidatat\",\"taxagroup\":\"sit commodo\",\"ecolgroup\":\"laboris elit\",\"status\":0,\"limit\": 10,\"offset\": 0},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "756a77f6-74c7-4f0d-bcb6-2aed659a5ed7", - "parentUUID": "3ef0b65c-c2cd-4186-b33e-b0bb1de73624", + "code": "var response = request('get', 'http://localhost:3001/v1.5/data/datasets/500', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "41ecd6db-0451-4422-89dc-192fee927fce", + "parentUUID": "b743e9bd-6ea2-42f1-ae58-a9fb6e0a0656", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "756a77f6-74c7-4f0d-bcb6-2aed659a5ed7" + "passes": [], + "failures": [ + "41ecd6db-0451-4422-89dc-192fee927fce" ], - "failures": [], "pending": [], "skipped": [], - "duration": 171, + "duration": 2, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -220,49 +232,53 @@ "_timeout": 900000 }, { - "uuid": "71ca106e-0b17-4536-8fbf-73d74e2c2727", - "title": "tests for /v2.0/data/pollen/{id}", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-pollen-{id}-test.js", - "file": "/test/v2.0-data-pollen-{id}-test.js", + "uuid": "7beeee6f-1e6b-4ed9-881c-5c1f9447abf4", + "title": "tests for /v2.0/data/datasets/{datasetid}/lithology", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-datasets-{datasetid}-lithology-test.js", + "file": "/test/v2.0-data-datasets-{datasetid}-lithology-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "92cb5f3d-90a3-4899-832b-567097bc326b", + "uuid": "978d2ffa-c1af-41fa-8b21-9afc042155b7", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-pollen-{id}-test.js", - "file": "/test/v2.0-data-pollen-{id}-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-datasets-{datasetid}-lithology-test.js", + "file": "/test/v2.0-data-datasets-{datasetid}-lithology-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"A record of all pollen samples in time/space for a particular taxon.\"", - "fullTitle": "tests for /v2.0/data/pollen/{id} tests for get should respond 200 for \"A record of all pollen samples in time/space for a particular taxon.\"", + "title": "should respond 200 for \"Lithology\"", + "fullTitle": "tests for /v2.0/data/datasets/{datasetid}/lithology tests for get should respond 200 for \"Lithology\"", "timedOut": false, - "duration": 5, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/pollen/500', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "ca2898b0-0659-483e-a2ab-54b3039fa454", - "parentUUID": "92cb5f3d-90a3-4899-832b-567097bc326b", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/datasets/500/lithology', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "42aa59ba-e370-409e-b9a3-3ec3966bef10", + "parentUUID": "978d2ffa-c1af-41fa-8b21-9afc042155b7", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "ca2898b0-0659-483e-a2ab-54b3039fa454" + "passes": [], + "failures": [ + "42aa59ba-e370-409e-b9a3-3ec3966bef10" ], - "failures": [], "pending": [], "skipped": [], - "duration": 5, + "duration": 1, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -278,49 +294,53 @@ "_timeout": 900000 }, { - "uuid": "5f735c16-c403-414d-834f-d6bfc0edbde4", - "title": "tests for /v2.0/data/contacts/{contactid}", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-contacts-{contactid}-test.js", - "file": "/test/v2.0-data-contacts-{contactid}-test.js", + "uuid": "d87ac3c3-7393-4e6d-855d-0d09279e88cb", + "title": "tests for /v2.0/data/spatial/lakes", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-spatial-lakes-test.js", + "file": "/test/v2.0-data-spatial-lakes-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "df9f4eee-2e7d-4ecb-bc7d-180b70ce1e02", + "uuid": "af6b8dda-1124-4967-ba91-ae40c601708b", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-contacts-{contactid}-test.js", - "file": "/test/v2.0-data-contacts-{contactid}-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-spatial-lakes-test.js", + "file": "/test/v2.0-data-spatial-lakes-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"A Neotoma contacts object.\"", - "fullTitle": "tests for /v2.0/data/contacts/{contactid} tests for get should respond 200 for \"A Neotoma contacts object.\"", + "title": "should respond 200 for \"An object containing all matched lakes within some buffer distance of a site. Data derived from the [HydroLakes database](https://www.hydrosheds.org/products/hydrolakes):
* Messager, M.L., Lehner, B., Grill, G., Nedeva, I., Schmitt, O. (2016). Estimating the volume and age of water stored in global lakes using a geo-statistical approach. *Nature Communications*, 7: 13603. doi: [10.1038/ncomms13603](https://doi.org/10.1038/ncomms13603) \"", + "fullTitle": "tests for /v2.0/data/spatial/lakes tests for get should respond 200 for \"An object containing all matched lakes within some buffer distance of a site. Data derived from the [HydroLakes database](https://www.hydrosheds.org/products/hydrolakes):
* Messager, M.L., Lehner, B., Grill, G., Nedeva, I., Schmitt, O. (2016). Estimating the volume and age of water stored in global lakes using a geo-statistical approach. *Nature Communications*, 7: 13603. doi: [10.1038/ncomms13603](https://doi.org/10.1038/ncomms13603) \"", "timedOut": false, - "duration": 71, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 2, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/contacts/1231', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "dd25704a-6629-4270-befa-9e9d9f2055c9", - "parentUUID": "df9f4eee-2e7d-4ecb-bc7d-180b70ce1e02", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/spatial/lakes', { \n 'qs': {\"siteid\":33458,\"buffer\":2042,\"prec\": 1000,\"proj\": 4326},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "3e62415c-8711-419b-a3cf-4e3cfe2ccd79", + "parentUUID": "af6b8dda-1124-4967-ba91-ae40c601708b", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "dd25704a-6629-4270-befa-9e9d9f2055c9" + "passes": [], + "failures": [ + "3e62415c-8711-419b-a3cf-4e3cfe2ccd79" ], - "failures": [], "pending": [], "skipped": [], - "duration": 71, + "duration": 2, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -336,49 +356,53 @@ "_timeout": 900000 }, { - "uuid": "d89a361d-ce79-4268-947e-51bcb5e905f5", - "title": "tests for /v1.5/apps/DatasetTypes", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v1.5-apps-DatasetTypes-test.js", - "file": "/test/v1.5-apps-DatasetTypes-test.js", + "uuid": "d43f766d-9759-47a4-9e62-28d8dec11693", + "title": "tests for /v2.0/data/sites/{siteid}/contacts", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-sites-{siteid}-contacts-test.js", + "file": "/test/v2.0-data-sites-{siteid}-contacts-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "4b0b9bc0-f776-4bf0-ae98-5f3b5adbfffb", + "uuid": "b55db584-8efe-43bd-8a46-5885ebab071c", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v1.5-apps-DatasetTypes-test.js", - "file": "/test/v1.5-apps-DatasetTypes-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-sites-{siteid}-contacts-test.js", + "file": "/test/v2.0-data-sites-{siteid}-contacts-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"Returns the set of dataset types supported by Neotoma.\"", - "fullTitle": "tests for /v1.5/apps/DatasetTypes tests for get should respond 200 for \"Returns the set of dataset types supported by Neotoma.\"", + "title": "should respond 200 for \"contact\"", + "fullTitle": "tests for /v2.0/data/sites/{siteid}/contacts tests for get should respond 200 for \"contact\"", "timedOut": false, - "duration": 104, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 2, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v1.5/apps/DatasetTypes', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "858c96e5-7f5f-4506-b8fb-98eb3fe697d7", - "parentUUID": "4b0b9bc0-f776-4bf0-ae98-5f3b5adbfffb", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/sites/500/contacts', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "83d4731e-3469-40df-8824-21604bd49bd3", + "parentUUID": "b55db584-8efe-43bd-8a46-5885ebab071c", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "858c96e5-7f5f-4506-b8fb-98eb3fe697d7" + "passes": [], + "failures": [ + "83d4731e-3469-40df-8824-21604bd49bd3" ], - "failures": [], "pending": [], "skipped": [], - "duration": 104, + "duration": 2, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -394,49 +418,53 @@ "_timeout": 900000 }, { - "uuid": "35481936-02fe-4416-8631-00ffa61fab53", - "title": "tests for /v2.0/data/datasets/{datasetid}/sites", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-datasets-{datasetid}-sites-test.js", - "file": "/test/v2.0-data-datasets-{datasetid}-sites-test.js", + "uuid": "27850dcb-f3f0-4520-9cee-723889a7c34b", + "title": "tests for /v2.0/data/sites/{siteid}", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-sites-{siteid}-test.js", + "file": "/test/v2.0-data-sites-{siteid}-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "0f60d08b-dd3d-47fa-bbd9-f6ff636ebc2a", + "uuid": "241e9b75-69f3-4d1b-b8ca-73fbb614c142", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-datasets-{datasetid}-sites-test.js", - "file": "/test/v2.0-data-datasets-{datasetid}-sites-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-sites-{siteid}-test.js", + "file": "/test/v2.0-data-sites-{siteid}-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"Site\"", - "fullTitle": "tests for /v2.0/data/datasets/{datasetid}/sites tests for get should respond 200 for \"Site\"", + "title": "should respond 200 for \"An array of sites.\"", + "fullTitle": "tests for /v2.0/data/sites/{siteid} tests for get should respond 200 for \"An array of sites.\"", "timedOut": false, - "duration": 93, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 2, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/datasets/500/sites', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "0d02d4a9-5728-4e16-b3d1-bd4ac4179564", - "parentUUID": "0f60d08b-dd3d-47fa-bbd9-f6ff636ebc2a", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/sites/500', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "fadc5c24-ecfc-4131-ac4a-42fb1258d2d6", + "parentUUID": "241e9b75-69f3-4d1b-b8ca-73fbb614c142", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "0d02d4a9-5728-4e16-b3d1-bd4ac4179564" + "passes": [], + "failures": [ + "fadc5c24-ecfc-4131-ac4a-42fb1258d2d6" ], - "failures": [], "pending": [], "skipped": [], - "duration": 93, + "duration": 2, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -452,49 +480,257 @@ "_timeout": 900000 }, { - "uuid": "3b95cac1-397d-4740-a59c-112a0f9db788", - "title": "tests for /v2.0/data/datasets/{datasetid}/chronologies", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-datasets-{datasetid}-chronologies-test.js", - "file": "/test/v2.0-data-datasets-{datasetid}-chronologies-test.js", + "uuid": "bdbd82e8-6ec3-41ca-8dd2-d8bdf2c525ed", + "title": "Get taxon data:", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/taxa.js", + "file": "/test/taxa.js", + "beforeHooks": [], + "afterHooks": [], + "tests": [ + { + "title": "v2.0: An empty query returns the first 25 taxa.", + "fullTitle": "Get taxon data: v2.0: An empty query returns the first 25 taxa.", + "timedOut": false, + "duration": 3, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, + "pending": false, + "context": null, + "code": "api.get('v2.0/data/taxa/')\n .set('Accept', 'application/json')\n .expect(200, done);", + "err": { + "message": "AggregateError [ECONNREFUSED]: ", + "estack": "AggregateError [ECONNREFUSED]: \n at internalConnectMultiple (node:net:1139:18)\n at afterConnectMultiple (node:net:1712:7)", + "diff": null + }, + "uuid": "456a3e2e-f61a-425a-8f0f-f546cd13c811", + "parentUUID": "bdbd82e8-6ec3-41ca-8dd2-d8bdf2c525ed", + "isHook": false, + "skipped": false + }, + { + "title": "v2.0: A single taxon should be returned by id:", + "fullTitle": "Get taxon data: v2.0: A single taxon should be returned by id:", + "timedOut": false, + "duration": 2, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, + "pending": false, + "context": null, + "code": "api.get('v2.0/data/taxa/12')\n .set('Accept', 'application/json')\n .end(function(err, res) {\n assert.strictEqual(res.body.data[0]['taxonid'], 12);\n done();\n if (err) {\n console.log(err.message);\n };\n });", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'body')", + "estack": "TypeError: Cannot read properties of undefined (reading 'body')\n at Test. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/taxa.js:33:32)\n at Test.assert (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/supertest/lib/test.js:204:10)\n at localAssert (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/supertest/lib/test.js:138:14)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/supertest/lib/test.js:156:7\n at Request.callback (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/supertest/node_modules/superagent/lib/node/index.js:857:3)\n at ClientRequest. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/supertest/node_modules/superagent/lib/node/index.js:780:10)\n at ClientRequest.emit (node:events:507:28)\n at emitErrorEvent (node:_http_client:104:11)\n at Socket.socketErrorListener (node:_http_client:518:5)\n at Socket.emit (node:events:507:28)\n at emitErrorNT (node:internal/streams/destroy:170:8)\n at emitErrorCloseNT (node:internal/streams/destroy:129:3)\n at process.processTicksAndRejections (node:internal/process/task_queues:90:21)", + "diff": null + }, + "uuid": "b55c2f98-8914-4939-9f35-f8fd2edc71aa", + "parentUUID": "bdbd82e8-6ec3-41ca-8dd2-d8bdf2c525ed", + "isHook": false, + "skipped": false + }, + { + "title": "v2.0: Taxon queries should be case insensitive:", + "fullTitle": "Get taxon data: v2.0: Taxon queries should be case insensitive:", + "timedOut": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, + "pending": false, + "context": null, + "code": "api.get('v2.0/data/taxa/?taxonname=abies')\n .set('Accept', 'application/json')\n .end(function(err, res) {\n assert.strictEqual(res.body.data[0]['taxonid'], 1);\n done();\n if (err) {\n console.log(err.message);\n };\n });", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'body')", + "estack": "TypeError: Cannot read properties of undefined (reading 'body')\n at Test. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/taxa.js:45:32)\n at Test.assert (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/supertest/lib/test.js:204:10)\n at localAssert (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/supertest/lib/test.js:138:14)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/supertest/lib/test.js:156:7\n at Request.callback (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/supertest/node_modules/superagent/lib/node/index.js:857:3)\n at ClientRequest. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/supertest/node_modules/superagent/lib/node/index.js:780:10)\n at ClientRequest.emit (node:events:507:28)\n at emitErrorEvent (node:_http_client:104:11)\n at Socket.socketErrorListener (node:_http_client:518:5)\n at Socket.emit (node:events:507:28)\n at emitErrorNT (node:internal/streams/destroy:170:8)\n at emitErrorCloseNT (node:internal/streams/destroy:129:3)\n at process.processTicksAndRejections (node:internal/process/task_queues:90:21)", + "diff": null + }, + "uuid": "019cb0ff-1dd7-41d4-9961-b30a705c8a42", + "parentUUID": "bdbd82e8-6ec3-41ca-8dd2-d8bdf2c525ed", + "isHook": false, + "skipped": false + }, + { + "title": "v2.0: Taxon queries should accept comma separated lists:", + "fullTitle": "Get taxon data: v2.0: Taxon queries should accept comma separated lists:", + "timedOut": false, + "duration": 2, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, + "pending": false, + "context": null, + "code": "api.get('v2.0/data/taxa/?taxonname=abies,picea')\n .set('Accept', 'application/json')\n .end(function(err, res) {\n assert.strictEqual(res.body.data[0]['taxonid'], 1);\n done();\n if (err) {\n console.log(err.message);\n };\n });", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'body')", + "estack": "TypeError: Cannot read properties of undefined (reading 'body')\n at Test. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/taxa.js:58:34)\n at Test.assert (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/supertest/lib/test.js:204:10)\n at localAssert (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/supertest/lib/test.js:138:14)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/supertest/lib/test.js:156:7\n at Request.callback (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/supertest/node_modules/superagent/lib/node/index.js:857:3)\n at ClientRequest. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/supertest/node_modules/superagent/lib/node/index.js:780:10)\n at ClientRequest.emit (node:events:507:28)\n at emitErrorEvent (node:_http_client:104:11)\n at Socket.socketErrorListener (node:_http_client:518:5)\n at Socket.emit (node:events:507:28)\n at emitErrorNT (node:internal/streams/destroy:170:8)\n at emitErrorCloseNT (node:internal/streams/destroy:129:3)\n at process.processTicksAndRejections (node:internal/process/task_queues:90:21)", + "diff": null + }, + "uuid": "d29aba27-e935-43cf-a76e-926f61cdc3b2", + "parentUUID": "bdbd82e8-6ec3-41ca-8dd2-d8bdf2c525ed", + "isHook": false, + "skipped": false + }, + { + "title": "v2.0: Hierarchical taxon queries should accept comma separated lists:", + "fullTitle": "Get taxon data: v2.0: Hierarchical taxon queries should accept comma separated lists:", + "timedOut": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, + "pending": false, + "context": null, + "code": "api.get('v2.0/data/taxa/?taxonname=abies,picea&lower=true')\n .set('Accept', 'application/json')\n .end(function(err, res) {\n const data = res.body.data;\n const higher = [...new Set(data.map((x) => x.highertaxonid))];\n /* There should be four unique higher taxon IDs:\n * One for `Abies`\n * One for `Picea`\n * The rest pointing to Abies & Picea.\n */\n assert.strictEqual(higher.length, 4);\n done();\n if (err) {\n console.log(err.message);\n };\n });", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'body')", + "estack": "TypeError: Cannot read properties of undefined (reading 'body')\n at Test. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/taxa.js:71:28)\n at Test.assert (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/supertest/lib/test.js:204:10)\n at localAssert (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/supertest/lib/test.js:138:14)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/supertest/lib/test.js:156:7\n at Request.callback (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/supertest/node_modules/superagent/lib/node/index.js:857:3)\n at ClientRequest. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/supertest/node_modules/superagent/lib/node/index.js:780:10)\n at ClientRequest.emit (node:events:507:28)\n at emitErrorEvent (node:_http_client:104:11)\n at Socket.socketErrorListener (node:_http_client:518:5)\n at Socket.emit (node:events:507:28)\n at emitErrorNT (node:internal/streams/destroy:170:8)\n at emitErrorCloseNT (node:internal/streams/destroy:129:3)\n at process.processTicksAndRejections (node:internal/process/task_queues:90:21)", + "diff": null + }, + "uuid": "630ea7bf-f2ef-44f7-8cf0-bbc36470f77b", + "parentUUID": "bdbd82e8-6ec3-41ca-8dd2-d8bdf2c525ed", + "isHook": false, + "skipped": false + }, + { + "title": "v2.0: Taxon queries should accept `*` as a wildcard:", + "fullTitle": "Get taxon data: v2.0: Taxon queries should accept `*` as a wildcard:", + "timedOut": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, + "pending": false, + "context": null, + "code": "api.get('v2.0/data/taxa/?taxonname=abie*')\n .set('Accept', 'application/json')\n .end(function(err, res) {\n assert.strictEqual(res.body.data[0]['taxonid'], 1);\n done();\n if (err) {\n console.log(err.message);\n };\n });", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'body')", + "estack": "TypeError: Cannot read properties of undefined (reading 'body')\n at Test. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/taxa.js:90:32)\n at Test.assert (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/supertest/lib/test.js:204:10)\n at localAssert (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/supertest/lib/test.js:138:14)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/supertest/lib/test.js:156:7\n at Request.callback (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/supertest/node_modules/superagent/lib/node/index.js:857:3)\n at ClientRequest. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/supertest/node_modules/superagent/lib/node/index.js:780:10)\n at ClientRequest.emit (node:events:507:28)\n at emitErrorEvent (node:_http_client:104:11)\n at Socket.socketErrorListener (node:_http_client:518:5)\n at Socket.emit (node:events:507:28)\n at emitErrorNT (node:internal/streams/destroy:170:8)\n at emitErrorCloseNT (node:internal/streams/destroy:129:3)\n at process.processTicksAndRejections (node:internal/process/task_queues:90:21)", + "diff": null + }, + "uuid": "0b6e976f-0eee-4652-9865-8be36cded2ef", + "parentUUID": "bdbd82e8-6ec3-41ca-8dd2-d8bdf2c525ed", + "isHook": false, + "skipped": false + }, + { + "title": "v2.0: The default limit of 25 should be reached for taxon data:", + "fullTitle": "Get taxon data: v2.0: The default limit of 25 should be reached for taxon data:", + "timedOut": false, + "duration": 2, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, + "pending": false, + "context": null, + "code": "api.get('v2.0/data/taxa/?taxonname=a*')\n .set('Accept', 'application/json')\n .end(function(err, res) {\n assert.strictEqual(res.body.data.length, 25);\n done();\n if (err) {\n console.log(err.message);\n };\n });", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'body')", + "estack": "TypeError: Cannot read properties of undefined (reading 'body')\n at Test. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/taxa.js:103:34)\n at Test.assert (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/supertest/lib/test.js:204:10)\n at localAssert (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/supertest/lib/test.js:138:14)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/supertest/lib/test.js:156:7\n at Request.callback (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/supertest/node_modules/superagent/lib/node/index.js:857:3)\n at ClientRequest. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/supertest/node_modules/superagent/lib/node/index.js:780:10)\n at ClientRequest.emit (node:events:507:28)\n at emitErrorEvent (node:_http_client:104:11)\n at Socket.socketErrorListener (node:_http_client:518:5)\n at Socket.emit (node:events:507:28)\n at emitErrorNT (node:internal/streams/destroy:170:8)\n at emitErrorCloseNT (node:internal/streams/destroy:129:3)\n at process.processTicksAndRejections (node:internal/process/task_queues:90:21)", + "diff": null + }, + "uuid": "cf8c955a-513e-473b-b64b-b9d2ecfc49cf", + "parentUUID": "bdbd82e8-6ec3-41ca-8dd2-d8bdf2c525ed", + "isHook": false, + "skipped": false + }, + { + "title": "v2.0: Changing the limit should change the number of taxa retrieved:", + "fullTitle": "Get taxon data: v2.0: Changing the limit should change the number of taxa retrieved:", + "timedOut": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, + "pending": false, + "context": null, + "code": "api.get('v2.0/data/taxa/?taxonname=a*&limit=30')\n .set('Accept', 'application/json')\n .end(function(err, res) {\n assert.strictEqual(res.body.data.length, 30);\n done();\n if (err) {\n console.log(err.message);\n };\n });", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'body')", + "estack": "TypeError: Cannot read properties of undefined (reading 'body')\n at Test. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/taxa.js:116:34)\n at Test.assert (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/supertest/lib/test.js:204:10)\n at localAssert (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/supertest/lib/test.js:138:14)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/supertest/lib/test.js:156:7\n at Request.callback (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/supertest/node_modules/superagent/lib/node/index.js:857:3)\n at ClientRequest. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/supertest/node_modules/superagent/lib/node/index.js:780:10)\n at ClientRequest.emit (node:events:507:28)\n at emitErrorEvent (node:_http_client:104:11)\n at Socket.socketErrorListener (node:_http_client:518:5)\n at Socket.emit (node:events:507:28)\n at emitErrorNT (node:internal/streams/destroy:170:8)\n at emitErrorCloseNT (node:internal/streams/destroy:129:3)\n at process.processTicksAndRejections (node:internal/process/task_queues:90:21)", + "diff": null + }, + "uuid": "ee4a4ca1-c5df-4e84-bc7d-721079747335", + "parentUUID": "bdbd82e8-6ec3-41ca-8dd2-d8bdf2c525ed", + "isHook": false, + "skipped": false + } + ], + "suites": [], + "passes": [], + "failures": [ + "456a3e2e-f61a-425a-8f0f-f546cd13c811", + "b55c2f98-8914-4939-9f35-f8fd2edc71aa", + "019cb0ff-1dd7-41d4-9961-b30a705c8a42", + "d29aba27-e935-43cf-a76e-926f61cdc3b2", + "630ea7bf-f2ef-44f7-8cf0-bbc36470f77b", + "0b6e976f-0eee-4652-9865-8be36cded2ef", + "cf8c955a-513e-473b-b64b-b9d2ecfc49cf", + "ee4a4ca1-c5df-4e84-bc7d-721079747335" + ], + "pending": [], + "skipped": [], + "duration": 13, + "root": false, + "rootEmpty": false, + "_timeout": 900000 + }, + { + "uuid": "28d6caec-d89d-4766-89e6-66a50639fcba", + "title": "tests for /v2.0/data/downloads/{datasetid}", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-downloads-{datasetid}-test.js", + "file": "/test/v2.0-data-downloads-{datasetid}-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "04752d37-7500-4cec-a266-b728192b6ff8", + "uuid": "68a0d54b-13f5-485c-bd37-484e776da9bc", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-datasets-{datasetid}-chronologies-test.js", - "file": "/test/v2.0-data-datasets-{datasetid}-chronologies-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-downloads-{datasetid}-test.js", + "file": "/test/v2.0-data-downloads-{datasetid}-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"chronology\"", - "fullTitle": "tests for /v2.0/data/datasets/{datasetid}/chronologies tests for get should respond 200 for \"chronology\"", + "title": "should respond 200 for \"Returned download object.\"", + "fullTitle": "tests for /v2.0/data/downloads/{datasetid} tests for get should respond 200 for \"Returned download object.\"", "timedOut": false, - "duration": 107, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 2, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/datasets/500/chronologies', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "f40d5595-1e1d-44a1-af9c-e13d8a2b255d", - "parentUUID": "04752d37-7500-4cec-a266-b728192b6ff8", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/downloads/500', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "610dbfee-b60f-48d3-9272-cece9bc935a7", + "parentUUID": "68a0d54b-13f5-485c-bd37-484e776da9bc", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "f40d5595-1e1d-44a1-af9c-e13d8a2b255d" + "passes": [], + "failures": [ + "610dbfee-b60f-48d3-9272-cece9bc935a7" ], - "failures": [], "pending": [], "skipped": [], - "duration": 107, + "duration": 2, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -510,7 +746,7 @@ "_timeout": 900000 }, { - "uuid": "e2207fd9-b55f-48a2-ab71-2590ff8b599f", + "uuid": "9da93a4a-98ce-4fb2-af1b-c52838ac06ae", "title": "tests for /v2.0/apps/constdb/datasetuploads", "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-apps-constdb-datasetuploads-test.js", "file": "/test/v2.0-apps-constdb-datasetuploads-test.js", @@ -519,7 +755,7 @@ "tests": [], "suites": [ { - "uuid": "0e2c7c9e-dab5-4a1e-a6e7-b418d04fd28b", + "uuid": "86c277c5-d701-4267-abac-0fda8acb3ff3", "title": "tests for get", "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-apps-constdb-datasetuploads-test.js", "file": "/test/v2.0-apps-constdb-datasetuploads-test.js", @@ -530,29 +766,33 @@ "title": "should respond 200 for \"Returns an ordered array (from earliest to latest) of upload counts by month (YYYY/MM/DD; all days as 01). Months with no uploads are excluded. \"", "fullTitle": "tests for /v2.0/apps/constdb/datasetuploads tests for get should respond 200 for \"Returns an ordered array (from earliest to latest) of upload counts by month (YYYY/MM/DD; all days as 01). Months with no uploads are excluded. \"", "timedOut": false, - "duration": 79, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 2, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/apps/constdb/datasetuploads', { \n 'qs': {\"dbid\":16},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "39aa4265-bc36-4234-ad59-a065c39960e5", - "parentUUID": "0e2c7c9e-dab5-4a1e-a6e7-b418d04fd28b", + "code": "var response = request('get', 'http://localhost:3001/v2.0/apps/constdb/datasetuploads', { \n 'qs': {\"dbid\":9},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "9d6bf462-2108-476c-b578-f8b0fa9c67ed", + "parentUUID": "86c277c5-d701-4267-abac-0fda8acb3ff3", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "39aa4265-bc36-4234-ad59-a065c39960e5" + "passes": [], + "failures": [ + "9d6bf462-2108-476c-b578-f8b0fa9c67ed" ], - "failures": [], "pending": [], "skipped": [], - "duration": 79, + "duration": 2, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -568,49 +808,165 @@ "_timeout": 900000 }, { - "uuid": "fbc6d4fc-3a5b-41c2-a043-a5b892038d7d", - "title": "tests for /v2.0/data/datasets", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-datasets-test.js", - "file": "/test/v2.0-data-datasets-test.js", + "uuid": "01dcbbe9-616d-4845-8b86-4ad7a1fba150", + "title": "Get geopolitical data:", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/geopolitical.js", + "file": "/test/geopolitical.js", + "beforeHooks": [], + "afterHooks": [], + "tests": [ + { + "title": "An empty query returns a valid response.", + "fullTitle": "Get geopolitical data: An empty query returns a valid response.", + "timedOut": false, + "duration": 2, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, + "pending": false, + "context": null, + "code": "api.get('v2.0/data/geopoliticalunits/')\n .set('Accept', 'application/json')\n .expect(200, done);", + "err": { + "message": "AggregateError [ECONNREFUSED]: ", + "estack": "AggregateError [ECONNREFUSED]: \n at internalConnectMultiple (node:net:1139:18)\n at afterConnectMultiple (node:net:1712:7)", + "diff": null + }, + "uuid": "d189486a-6d40-4862-8a9f-98f35f91854c", + "parentUUID": "01dcbbe9-616d-4845-8b86-4ad7a1fba150", + "isHook": false, + "skipped": false + }, + { + "title": "The default limit of 25 should be reached for country level data:", + "fullTitle": "Get geopolitical data: The default limit of 25 should be reached for country level data:", + "timedOut": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, + "pending": false, + "context": null, + "code": "api.get('v2.0/data/geopoliticalunits/?rank=1')\n .set('Accept', 'application/json')\n .end(function(err, res) {\n assert.equal(res.body.data.length, 25);\n done();\n });", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'body')", + "estack": "TypeError: Cannot read properties of undefined (reading 'body')\n at Test. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/geopolitical.js:34:26)\n at Test.assert (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/supertest/lib/test.js:204:10)\n at localAssert (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/supertest/lib/test.js:138:14)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/supertest/lib/test.js:156:7\n at Request.callback (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/supertest/node_modules/superagent/lib/node/index.js:857:3)\n at ClientRequest. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/supertest/node_modules/superagent/lib/node/index.js:780:10)\n at ClientRequest.emit (node:events:507:28)\n at emitErrorEvent (node:_http_client:104:11)\n at Socket.socketErrorListener (node:_http_client:518:5)\n at Socket.emit (node:events:507:28)\n at emitErrorNT (node:internal/streams/destroy:170:8)\n at emitErrorCloseNT (node:internal/streams/destroy:129:3)\n at process.processTicksAndRejections (node:internal/process/task_queues:90:21)", + "diff": null + }, + "uuid": "d8dd0c77-e3e0-425a-984a-53a56b50d450", + "parentUUID": "01dcbbe9-616d-4845-8b86-4ad7a1fba150", + "isHook": false, + "skipped": false + }, + { + "title": "Changing the limit should change the number of countries retrieved:", + "fullTitle": "Get geopolitical data: Changing the limit should change the number of countries retrieved:", + "timedOut": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, + "pending": false, + "context": null, + "code": "api.get('v2.0/data/geopoliticalunits/?rank=1&limit=30')\n .set('Accept', 'application/json')\n .end(function(err, res) {\n assert.equal(res.body.data.length, 30);\n done();\n });", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'body')", + "estack": "TypeError: Cannot read properties of undefined (reading 'body')\n at Test. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/geopolitical.js:43:26)\n at Test.assert (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/supertest/lib/test.js:204:10)\n at localAssert (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/supertest/lib/test.js:138:14)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/supertest/lib/test.js:156:7\n at Request.callback (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/supertest/node_modules/superagent/lib/node/index.js:857:3)\n at ClientRequest. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/supertest/node_modules/superagent/lib/node/index.js:780:10)\n at ClientRequest.emit (node:events:507:28)\n at emitErrorEvent (node:_http_client:104:11)\n at Socket.socketErrorListener (node:_http_client:518:5)\n at Socket.emit (node:events:507:28)\n at emitErrorNT (node:internal/streams/destroy:170:8)\n at emitErrorCloseNT (node:internal/streams/destroy:129:3)\n at process.processTicksAndRejections (node:internal/process/task_queues:90:21)", + "diff": null + }, + "uuid": "4dcf1a61-593b-46a2-929f-92a9412a28e7", + "parentUUID": "01dcbbe9-616d-4845-8b86-4ad7a1fba150", + "isHook": false, + "skipped": false + }, + { + "title": "A single geopolitical unit (12) should be returned.", + "fullTitle": "Get geopolitical data: A single geopolitical unit (12) should be returned.", + "timedOut": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, + "pending": false, + "context": null, + "code": "api.get('v2.0/data/geopoliticalunits/12')\n .set('Accept', 'application/json')\n .end(function(err, res) {\n assert.equal(res.body.data[0]['geopoliticalid'], 12);\n done();\n });", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'body')", + "estack": "TypeError: Cannot read properties of undefined (reading 'body')\n at Test. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/geopolitical.js:52:26)\n at Test.assert (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/supertest/lib/test.js:204:10)\n at localAssert (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/supertest/lib/test.js:138:14)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/supertest/lib/test.js:156:7\n at Request.callback (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/supertest/node_modules/superagent/lib/node/index.js:857:3)\n at ClientRequest. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/supertest/node_modules/superagent/lib/node/index.js:780:10)\n at ClientRequest.emit (node:events:507:28)\n at emitErrorEvent (node:_http_client:104:11)\n at Socket.socketErrorListener (node:_http_client:518:5)\n at Socket.emit (node:events:507:28)\n at emitErrorNT (node:internal/streams/destroy:170:8)\n at emitErrorCloseNT (node:internal/streams/destroy:129:3)\n at process.processTicksAndRejections (node:internal/process/task_queues:90:21)", + "diff": null + }, + "uuid": "ec9ff073-d448-4c8d-9111-3880d68acc21", + "parentUUID": "01dcbbe9-616d-4845-8b86-4ad7a1fba150", + "isHook": false, + "skipped": false + } + ], + "suites": [], + "passes": [], + "failures": [ + "d189486a-6d40-4862-8a9f-98f35f91854c", + "d8dd0c77-e3e0-425a-984a-53a56b50d450", + "4dcf1a61-593b-46a2-929f-92a9412a28e7", + "ec9ff073-d448-4c8d-9111-3880d68acc21" + ], + "pending": [], + "skipped": [], + "duration": 5, + "root": false, + "rootEmpty": false, + "_timeout": 5000 + }, + { + "uuid": "64df68ce-e3ee-4684-bd77-e66b4889fe0c", + "title": "tests for /v2.0/apps/collectiontypes", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-apps-collectiontypes-test.js", + "file": "/test/v2.0-apps-collectiontypes-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "68c055b6-36c1-45f9-a472-1689c9e88709", + "uuid": "01e8c944-354a-47e8-91e1-f368a085b899", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-datasets-test.js", - "file": "/test/v2.0-data-datasets-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-apps-collectiontypes-test.js", + "file": "/test/v2.0-apps-collectiontypes-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"An array of datasets.\"", - "fullTitle": "tests for /v2.0/data/datasets tests for get should respond 200 for \"An array of datasets.\"", + "title": "should respond 200 for \"A table of Neotoma collection types.\"", + "fullTitle": "tests for /v2.0/apps/collectiontypes tests for get should respond 200 for \"A table of Neotoma collection types.\"", "timedOut": false, - "duration": 161, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/datasets', { \n 'qs': {\"sitename\":\"Excepteur sint anim sed do\",\"database\":\"Canadian Pollen Database\",\"datasettype\":\"charcoal surface sample\",\"altmin\": 10,\"altmax\": 100,\"loc\":\"{\\\"type\\\":\\\"Polygon\\\",\\\"crs\\\":{\\\"type\\\":\\\"name\\\",\\\"properties\\\":{\\\"name\\\":\\\"EPSG:4326\\\"}},\\\"coordinates\\\":[[[13.4,55.92],[13.5,55.92],[13.5,55.95],[13.4,55.95],[13.4,55.92]]]}\",\"siteid\":45345,\"datasetid\":12116711,\"doi\":\"10d91690/6YEIVB\",\"gpid\":5392,\"keyword\":\"modern\",\"contactid\":14536,\"taxa\":\"dolore elit\",\"ageyoung\": 1000,\"ageold\": 10000,\"ageof\":13721899,\"limit\": 10,\"offset\": 0},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "27a39509-d249-4c2c-9f43-18fe73b60643", - "parentUUID": "68c055b6-36c1-45f9-a472-1689c9e88709", + "code": "var response = request('get', 'http://localhost:3001/v2.0/apps/collectiontypes', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "036238fc-5e2a-4056-80bc-f4a2b304a6f8", + "parentUUID": "01e8c944-354a-47e8-91e1-f368a085b899", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "27a39509-d249-4c2c-9f43-18fe73b60643" + "passes": [], + "failures": [ + "036238fc-5e2a-4056-80bc-f4a2b304a6f8" ], - "failures": [], "pending": [], "skipped": [], - "duration": 161, + "duration": 1, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -626,49 +982,53 @@ "_timeout": 900000 }, { - "uuid": "61110c03-7c94-4a2b-a542-6993bb820f49", - "title": "tests for /v2.0/apps/constdb/datasetages", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-apps-constdb-datasetages-test.js", - "file": "/test/v2.0-apps-constdb-datasetages-test.js", + "uuid": "924fb96b-6dac-4842-abdc-16976c6c95a5", + "title": "tests for /v2.0/data/geopoliticalunits/{gpid}/datasets", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-geopoliticalunits-{gpid}-datasets-test.js", + "file": "/test/v2.0-data-geopoliticalunits-{gpid}-datasets-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "c1fc4b5b-3ce7-4d3a-b7b4-f097636fdbf8", + "uuid": "f0183510-ff9d-4f59-95ad-e8e94077af52", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-apps-constdb-datasetages-test.js", - "file": "/test/v2.0-apps-constdb-datasetages-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-geopoliticalunits-{gpid}-datasets-test.js", + "file": "/test/v2.0-data-geopoliticalunits-{gpid}-datasets-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"Returns an ordered array (from earliest to latest) of upload counts by month (YYYY/MM/DD; all days as 01). Months with no uploads are excluded. \"", - "fullTitle": "tests for /v2.0/apps/constdb/datasetages tests for get should respond 200 for \"Returns an ordered array (from earliest to latest) of upload counts by month (YYYY/MM/DD; all days as 01). Months with no uploads are excluded. \"", + "title": "should respond 200 for \"An array of datasets.\"", + "fullTitle": "tests for /v2.0/data/geopoliticalunits/{gpid}/datasets tests for get should respond 200 for \"An array of datasets.\"", "timedOut": false, - "duration": 15589, - "state": "passed", - "speed": "slow", - "pass": true, - "fail": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/apps/constdb/datasetages', { \n 'qs': {\"dbid\":25},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "119b3384-9f86-4c3b-abc1-82a074993b4c", - "parentUUID": "c1fc4b5b-3ce7-4d3a-b7b4-f097636fdbf8", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/geopoliticalunits/500/datasets', { \n 'qs': {\"limit\": 10,\"offset\": 0},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "84e309ab-1bfc-4afd-a493-4493d4070343", + "parentUUID": "f0183510-ff9d-4f59-95ad-e8e94077af52", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "119b3384-9f86-4c3b-abc1-82a074993b4c" + "passes": [], + "failures": [ + "84e309ab-1bfc-4afd-a493-4493d4070343" ], - "failures": [], "pending": [], "skipped": [], - "duration": 15589, + "duration": 1, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -684,316 +1044,177 @@ "_timeout": 900000 }, { - "uuid": "e0b21655-5b8c-4ec7-b016-792972a54b98", - "title": "Get occurrence data any number of ways:", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/occurrence.js", - "file": "/test/occurrence.js", + "uuid": "6d552adc-b81f-4cd9-b8bf-70204099b625", + "title": "tests for /v1.5/apps/collectionTypes", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v1.5-apps-collectionTypes-test.js", + "file": "/test/v1.5-apps-collectionTypes-test.js", "beforeHooks": [], "afterHooks": [], - "tests": [ - { - "title": "Get occurrence by singular id & return same id:", - "fullTitle": "Get occurrence data any number of ways: Get occurrence by singular id & return same id:", - "timedOut": false, - "duration": 2, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "pending": false, - "context": null, - "code": "api.get('v2.0/data/occurrences/12')\n .set('Accept', 'application/json')\n .expect(function(res) {\n return Object.keys(res.body['data'][0]).length > 0;\n })\n .expect(function(res) {\n return res.body['data'][0]['occurrence'] === 12;\n })\n .expect(200);\ndone();", - "err": {}, - "uuid": "3a4e2957-c1f0-43af-a149-824c41f5aa70", - "parentUUID": "e0b21655-5b8c-4ec7-b016-792972a54b98", - "isHook": false, - "skipped": false - }, - { - "title": "Get the Flyover test call:", - "fullTitle": "Get occurrence data any number of ways: Get the Flyover test call:", - "timedOut": false, - "duration": 0, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "pending": false, - "context": null, - "code": "api.get('v2.0/data/occurrences?taxonname=rhinocerotidae,megacerops,moeritherium,ceratogaulus,gomphotherium,deinotherium,condylarthra,paraceratherium,mesonychia,pantodonta,hyaenodon,thylacosmilus,glyptodon,castoroides,toxodon,megatherium,arctodus,smilodon,mammuthus,mammut,coelodonta,megaloceras,gigantopithecus,phlegethontia,temnospondyli,lepospondyli,ichthyosauria,sauropterygia,mosasauroidea,pterosauromorpha,titanoboa,megalania,placodus,tanystropheidae,hyperodapedon,stagonolepis,scutosaurus,pareiasauria,archelon,stupendemys,protostega,placodermi,leedsichthys,onychodontiformes,acanthostega,ichthyostega,crassigyrinus,ornithosuchus,erpetosuchidae,protosuchus,dakosaurus,geosaurus,deinosuchus&lower=true&limit=999999&loc=POLYGON((-122.56 39.94,-115.21 41.96,-107.99 43.42,-100.51 44.41,-92.85 44.91,-83.49 44.84,-74.25 44.02,-70.19 43.38,-69.36 42.75,-69.02 41.76,-69.13 41.07,-69.5 40.47,-70.07 40.06,-70.75 39.9,-78.36 40.86,-85.79 41.33,-93.27 41.3,-100.68 40.78,-105.86 40.12,-111.42 39.12,-116.79 37.86,-122.28 36.29,-122.98 36.35,-123.61 36.67,-124.06 37.21,-124.27 37.88,-124.21 38.58,-123.89 39.2,-123.35 39.65,-122.56 39.94))')\n .set('Accept', 'application/json')\n .expect(function(res) {\n return Object.keys(res.body['data'][0]).length > 0;\n })\n .expect(200);\ndone();", - "err": {}, - "uuid": "7be429bd-c20d-4275-8bae-2e892d8def6e", - "parentUUID": "e0b21655-5b8c-4ec7-b016-792972a54b98", - "isHook": false, - "skipped": false - }, - { - "title": "Failing Canis test works:", - "fullTitle": "Get occurrence data any number of ways: Failing Canis test works:", - "timedOut": false, - "duration": 0, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "pending": false, - "context": null, - "code": "// This casuses timeout fails for some reason. It's frustrating.\napi.get('v2.0/data/occurrences?taxonname=Canis&lower=true&limit=999999')\n .set('Accept', 'application/json')\n .expect(function(res) {\n return Object.keys(res.body['data'][0]).length > 0;\n })\n .expect(200);\ndone();", - "err": {}, - "uuid": "2fd6ff3f-da92-49ba-a5df-fc5b4e68b09d", - "parentUUID": "e0b21655-5b8c-4ec7-b016-792972a54b98", - "isHook": false, - "skipped": false - }, + "tests": [], + "suites": [ { - "title": "Get occurrence by taxon:", - "fullTitle": "Get occurrence data any number of ways: Get occurrence by taxon:", - "timedOut": false, + "uuid": "28135823-1cf1-42b0-a25f-81d26aa8e42d", + "title": "tests for get", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v1.5-apps-collectionTypes-test.js", + "file": "/test/v1.5-apps-collectionTypes-test.js", + "beforeHooks": [], + "afterHooks": [], + "tests": [ + { + "title": "should respond 200 for \"Returns the set of collectiontypes recorded in Neotoma.\"", + "fullTitle": "tests for /v1.5/apps/collectionTypes tests for get should respond 200 for \"Returns the set of collectiontypes recorded in Neotoma.\"", + "timedOut": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, + "pending": false, + "context": null, + "code": "var response = request('get', 'http://localhost:3001/v1.5/apps/collectionTypes', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "6a369476-9ba4-4bfe-be54-092cd7c397c5", + "parentUUID": "28135823-1cf1-42b0-a25f-81d26aa8e42d", + "isHook": false, + "skipped": false + } + ], + "suites": [], + "passes": [], + "failures": [ + "6a369476-9ba4-4bfe-be54-092cd7c397c5" + ], + "pending": [], + "skipped": [], "duration": 1, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "pending": false, - "context": null, - "code": "api.get('v2.0/data/taxa/12/occurrences')\n .set('Accept', 'application/json')\n .expect(function(res) {\n return Object.keys(res.body['data'][0]).length > 0;\n })\n .expect(200);\ndone();", - "err": {}, - "uuid": "79f27fd7-0359-474d-8ec2-1dc7df0a1b2a", - "parentUUID": "e0b21655-5b8c-4ec7-b016-792972a54b98", - "isHook": false, - "skipped": false - }, - { - "title": "Break occurrences by flipping altitudes:", - "fullTitle": "Get occurrence data any number of ways: Break occurrences by flipping altitudes:", - "timedOut": false, - "duration": 0, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "pending": false, - "context": null, - "code": "api.get('v2.0/data/occurrences/?altmax=3000&altmin=5000')\n .set('Accept', 'application/json')\n .expect(500);\ndone();", - "err": {}, - "uuid": "84340dd3-9180-4477-8c17-ad9c6caa5654", - "parentUUID": "e0b21655-5b8c-4ec7-b016-792972a54b98", - "isHook": false, - "skipped": false - }, - { - "title": "Break occurrences by flipping ages:", - "fullTitle": "Get occurrence data any number of ways: Break occurrences by flipping ages:", - "timedOut": false, - "duration": 0, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "pending": false, - "context": null, - "code": "api.get('v2.0/data/occurrences/?ageyoung=5000&ageold=3000')\n .set('Accept', 'application/json')\n .expect(500);\ndone();", - "err": {}, - "uuid": "068a1593-a137-467c-8a50-9a7c4a31ec24", - "parentUUID": "e0b21655-5b8c-4ec7-b016-792972a54b98", - "isHook": false, - "skipped": false - }, + "root": false, + "rootEmpty": false, + "_timeout": 900000 + } + ], + "passes": [], + "failures": [], + "pending": [], + "skipped": [], + "duration": 0, + "root": false, + "rootEmpty": false, + "_timeout": 900000 + }, + { + "uuid": "7188d17b-80db-4dc5-82a1-5f208e8b9643", + "title": "tests for /v2.0/data/geopoliticalunits/{gpid}", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-geopoliticalunits-{gpid}-test.js", + "file": "/test/v2.0-data-geopoliticalunits-{gpid}-test.js", + "beforeHooks": [], + "afterHooks": [], + "tests": [], + "suites": [ { - "title": "Occurrences filter by age:", - "fullTitle": "Get occurrence data any number of ways: Occurrences filter by age:", - "timedOut": false, - "duration": 0, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "pending": false, - "context": null, - "code": "api.get('v2.0/data/occurrences/?ageyoung=3000&ageold=5000')\n .set('Accept', 'application/json')\n .expect(function(res) {\n })\n .expect(200);\ndone();", - "err": {}, - "uuid": "cdb51c1b-587c-47b9-ab73-ad07205d8b63", - "parentUUID": "e0b21655-5b8c-4ec7-b016-792972a54b98", - "isHook": false, - "skipped": false - }, - { - "title": "Get occurrences with comma separated fields:", - "fullTitle": "Get occurrence data any number of ways: Get occurrences with comma separated fields:", - "timedOut": false, - "duration": 0, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "pending": false, - "context": null, - "code": "api.get('v2.0/data/occurrences/' +\n '?siteid=12,13,14,15&taxonname=Betula&limit=200')\n .set('Accept', 'application/json')\n .expect(function(res) {\n const allSite = res.body['data'];\n const siteids = [];\n for (let i = 0; i < allSite.length; i++) {\n siteids.push(allSite[i]['site']['siteid']);\n };\n const uniqueSites = Array.from(new Set(siteids)).sort(function(a, b) {\n return a - b;\n });\n return (uniqueSites.every((item) => [12, 13, 14, 15].includes(item)));\n })\n .expect(200);\ndone();", - "err": {}, - "uuid": "f808db8a-1d73-4bc5-945b-afacaf86dc81", - "parentUUID": "e0b21655-5b8c-4ec7-b016-792972a54b98", - "isHook": false, - "skipped": false - }, - { - "title": "Get occurrences with comma separated taxa:", - "fullTitle": "Get occurrence data any number of ways: Get occurrences with comma separated taxa:", - "timedOut": false, - "duration": 0, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "pending": false, - "context": null, - "code": "api.get('v2.0/data/occurrences/?taxonname=Picea,Abies&limit=25')\n .set('Accept', 'application/json')\n .expect(function(res) {\n return (res.body.data.length > 0);\n })\n .expect(200);\ndone();", - "err": {}, - "uuid": "2407d71d-a9c7-4ee3-bcd5-73b14de08679", - "parentUUID": "e0b21655-5b8c-4ec7-b016-792972a54b98", - "isHook": false, - "skipped": false - }, - { - "title": "Get hierarchical occurrences with comma separated taxa:", - "fullTitle": "Get occurrence data any number of ways: Get hierarchical occurrences with comma separated taxa:", - "timedOut": false, - "duration": 0, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "pending": false, - "context": null, - "code": "api.get('v2.0/data/occurrences/?taxonname=Picea,Abies&limit=25&lower=true')\n .set('Accept', 'application/json')\n .expect(function(res) {\n return (res.body.data.length > 0);\n })\n .expect(200);\ndone();", - "err": {}, - "uuid": "d34d6f19-a9a7-43c6-87c1-a6e8fdf1b488", - "parentUUID": "e0b21655-5b8c-4ec7-b016-792972a54b98", - "isHook": false, - "skipped": false - }, - { - "title": "Get occurrences returns lower taxa:", - "fullTitle": "Get occurrence data any number of ways: Get occurrences returns lower taxa:", - "timedOut": false, - "duration": 0, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "pending": false, - "context": null, - "code": "api.get('v2.0/data/occurrences/?taxonname=Myrica&lower=true&limit=200')\n .set('Accept', 'application/json')\n .expect(function(res) {\n const allTaxa = res.body['data'];\n const taxaids = [];\n for (let i = 0; i < allTaxa.length; i++) {\n taxaids.push(allTaxa[i]['sample']['taxonname']);\n };\n const uniqueTaxa = Array.from(new Set(taxaids)).sort();\n return uniqueTaxa.length > 1;\n })\n .expect(200);\ndone();", - "err": {}, - "uuid": "e7aba902-7e54-4c7d-95ad-16d8d99fdb7e", - "parentUUID": "e0b21655-5b8c-4ec7-b016-792972a54b98", - "isHook": false, - "skipped": false - }, - { - "title": "Get occurrences with mammals and lower taxa works:", - "fullTitle": "Get occurrence data any number of ways: Get occurrences with mammals and lower taxa works:", - "timedOut": false, - "duration": 0, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "pending": false, - "context": null, - "code": "api.get('v2.0/data/occurrences/?taxonname=Homo&lower=true&limit=25')\n .set('Accept', 'application/json')\n .expect(function(res) {\n const allTaxa = res.body['data'];\n const taxaids = [];\n for (let i = 0; i < allTaxa.length; i++) {\n taxaids.push(allTaxa[i]['sample']['taxonname']);\n };\n const uniqueTaxa = Array.from(new Set(taxaids)).sort();\n return uniqueTaxa.length > 1 & allTaxa.length > 0;\n })\n .expect(200);\ndone();", - "err": {}, - "uuid": "2913bd17-899b-4294-8f3d-ae7613f1774b", - "parentUUID": "e0b21655-5b8c-4ec7-b016-792972a54b98", - "isHook": false, - "skipped": false - }, - { - "title": "Get occurrences using taxon and age bounds:", - "fullTitle": "Get occurrence data any number of ways: Get occurrences using taxon and age bounds:", - "timedOut": false, + "uuid": "f881c411-984e-4273-8578-f0944ca280ef", + "title": "tests for get", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-geopoliticalunits-{gpid}-test.js", + "file": "/test/v2.0-data-geopoliticalunits-{gpid}-test.js", + "beforeHooks": [], + "afterHooks": [], + "tests": [ + { + "title": "should respond 200 for \"An array of geopolitical units.\"", + "fullTitle": "tests for /v2.0/data/geopoliticalunits/{gpid} tests for get should respond 200 for \"An array of geopolitical units.\"", + "timedOut": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, + "pending": false, + "context": null, + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/geopoliticalunits/4172', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "e0054e50-e0d3-406c-9ecb-7f19651e06d1", + "parentUUID": "f881c411-984e-4273-8578-f0944ca280ef", + "isHook": false, + "skipped": false + } + ], + "suites": [], + "passes": [], + "failures": [ + "e0054e50-e0d3-406c-9ecb-7f19651e06d1" + ], + "pending": [], + "skipped": [], "duration": 1, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "pending": false, - "context": null, - "code": "api.get('v2.0/data/occurrences/?ageyoung=2000&ageold=3000&taxonname=Pinus')\n .set('Accept', 'application/json')\n .expect(function(res) {\n return Object.keys(res.body['data'][0]).length > 0;\n })\n .expect(200);\ndone();", - "err": {}, - "uuid": "24c84a9f-cb0d-48f6-8046-0a38290dad50", - "parentUUID": "e0b21655-5b8c-4ec7-b016-792972a54b98", - "isHook": false, - "skipped": false + "root": false, + "rootEmpty": false, + "_timeout": 900000 } ], - "suites": [], - "passes": [ - "3a4e2957-c1f0-43af-a149-824c41f5aa70", - "7be429bd-c20d-4275-8bae-2e892d8def6e", - "2fd6ff3f-da92-49ba-a5df-fc5b4e68b09d", - "79f27fd7-0359-474d-8ec2-1dc7df0a1b2a", - "84340dd3-9180-4477-8c17-ad9c6caa5654", - "068a1593-a137-467c-8a50-9a7c4a31ec24", - "cdb51c1b-587c-47b9-ab73-ad07205d8b63", - "f808db8a-1d73-4bc5-945b-afacaf86dc81", - "2407d71d-a9c7-4ee3-bcd5-73b14de08679", - "d34d6f19-a9a7-43c6-87c1-a6e8fdf1b488", - "e7aba902-7e54-4c7d-95ad-16d8d99fdb7e", - "2913bd17-899b-4294-8f3d-ae7613f1774b", - "24c84a9f-cb0d-48f6-8046-0a38290dad50" - ], + "passes": [], "failures": [], "pending": [], "skipped": [], - "duration": 4, + "duration": 0, "root": false, "rootEmpty": false, - "_timeout": 30000 + "_timeout": 900000 }, { - "uuid": "12810d0c-7c7e-487a-8337-d1bf5555ffb5", - "title": "tests for /v1.5/dbtables/{table}", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v1.5-dbtables-{table}-test.js", - "file": "/test/v1.5-dbtables-{table}-test.js", + "uuid": "2c806a41-3d01-4c02-8e25-ff0e87253ed9", + "title": "tests for /v2.0/data/chronologies/{chronid}", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-chronologies-{chronid}-test.js", + "file": "/test/v2.0-data-chronologies-{chronid}-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "d6f1e7b1-f56a-4755-920a-686fdde654f8", + "uuid": "19f82d3f-d5e8-4593-a470-6cc0c0edec16", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v1.5-dbtables-{table}-test.js", - "file": "/test/v1.5-dbtables-{table}-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-chronologies-{chronid}-test.js", + "file": "/test/v2.0-data-chronologies-{chronid}-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"Returned table.\"", - "fullTitle": "tests for /v1.5/dbtables/{table} tests for get should respond 200 for \"Returned table.\"", + "title": "should respond 200 for \"A Neotoma chronology object.\"", + "fullTitle": "tests for /v2.0/data/chronologies/{chronid} tests for get should respond 200 for \"A Neotoma chronology object.\"", "timedOut": false, - "duration": 71, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 2, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v1.5/dbtables/geochrontypes', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "a0eebf15-1453-4e0a-9ef4-45f9843c8173", - "parentUUID": "d6f1e7b1-f56a-4755-920a-686fdde654f8", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/chronologies/500', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "46d73e94-d82b-49ea-9a50-57656970eb03", + "parentUUID": "19f82d3f-d5e8-4593-a470-6cc0c0edec16", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "a0eebf15-1453-4e0a-9ef4-45f9843c8173" + "passes": [], + "failures": [ + "46d73e94-d82b-49ea-9a50-57656970eb03" ], - "failures": [], "pending": [], "skipped": [], - "duration": 71, + "duration": 2, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -1009,88 +1230,115 @@ "_timeout": 900000 }, { - "uuid": "dab4f0fd-1832-44cd-aa9d-e00217595943", - "title": "Get chronology data by datasetid:", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/chronologies.js", - "file": "/test/chronologies.js", + "uuid": "baae8c11-80f0-4b25-a287-b07441da7d66", + "title": "tests for /v2.0/data/publications/{publicationid}", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-publications-{publicationid}-test.js", + "file": "/test/v2.0-data-publications-{publicationid}-test.js", "beforeHooks": [], "afterHooks": [], - "tests": [ + "tests": [], + "suites": [ { - "title": "A call to two datasets returns two datasets of data:", - "fullTitle": "Get chronology data by datasetid: A call to two datasets returns two datasets of data:", - "timedOut": false, - "duration": 0, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "pending": false, - "context": null, - "code": "api.get('v2.0/data/datasets/684,1001/chronologies')\n .set('Accept', 'application/json')\n .expect(function(res) {\n return res.body['data'].length === 4;\n })\n .expect(200, done());", - "err": {}, - "uuid": "24bec95b-4ba8-4ced-9ea4-2a104d7604a2", - "parentUUID": "dab4f0fd-1832-44cd-aa9d-e00217595943", - "isHook": false, - "skipped": false + "uuid": "a71d78c4-af64-4881-9863-64bfa39195ee", + "title": "tests for get", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-publications-{publicationid}-test.js", + "file": "/test/v2.0-data-publications-{publicationid}-test.js", + "beforeHooks": [], + "afterHooks": [], + "tests": [ + { + "title": "should respond 200 for \"A list of publications.\"", + "fullTitle": "tests for /v2.0/data/publications/{publicationid} tests for get should respond 200 for \"A list of publications.\"", + "timedOut": false, + "duration": 2, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, + "pending": false, + "context": null, + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/publications/500', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "c8be4d82-c5c0-4771-ad83-51cac2670e84", + "parentUUID": "a71d78c4-af64-4881-9863-64bfa39195ee", + "isHook": false, + "skipped": false + } + ], + "suites": [], + "passes": [], + "failures": [ + "c8be4d82-c5c0-4771-ad83-51cac2670e84" + ], + "pending": [], + "skipped": [], + "duration": 2, + "root": false, + "rootEmpty": false, + "_timeout": 900000 } ], - "suites": [], - "passes": [ - "24bec95b-4ba8-4ced-9ea4-2a104d7604a2" - ], + "passes": [], "failures": [], "pending": [], "skipped": [], "duration": 0, "root": false, "rootEmpty": false, - "_timeout": 5000 + "_timeout": 900000 }, { - "uuid": "6f41ede5-a72b-467b-bef9-8c12d2cee292", - "title": "tests for /v2.0/data/datasets/{datasetid}/taxa", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-datasets-{datasetid}-taxa-test.js", - "file": "/test/v2.0-data-datasets-{datasetid}-taxa-test.js", + "uuid": "9876f972-fbc3-490f-bf9f-cdf07681f65e", + "title": "tests for /v2.0/apps/taxaindatasets", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-apps-taxaindatasets-test.js", + "file": "/test/v2.0-apps-taxaindatasets-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "52fcf11d-8fe6-4ca7-932c-30338a851eef", + "uuid": "384b293c-dfbd-4c59-9395-214d5c6d4f20", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-datasets-{datasetid}-taxa-test.js", - "file": "/test/v2.0-data-datasets-{datasetid}-taxa-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-apps-taxaindatasets-test.js", + "file": "/test/v2.0-apps-taxaindatasets-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"Taxa\"", - "fullTitle": "tests for /v2.0/data/datasets/{datasetid}/taxa tests for get should respond 200 for \"Taxa\"", + "title": "should respond 200 for \"A list of all taxa in neotoma and the datasets in which they are found.\"", + "fullTitle": "tests for /v2.0/apps/taxaindatasets tests for get should respond 200 for \"A list of all taxa in neotoma and the datasets in which they are found.\"", "timedOut": false, - "duration": 141, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 2, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/datasets/500/taxa', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "285268b2-bbda-4948-b5d6-7beacaba934b", - "parentUUID": "52fcf11d-8fe6-4ca7-932c-30338a851eef", + "code": "var response = request('get', 'http://localhost:3001/v2.0/apps/taxaindatasets', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "15602417-9650-4eeb-980d-69a9d3a81478", + "parentUUID": "384b293c-dfbd-4c59-9395-214d5c6d4f20", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "285268b2-bbda-4948-b5d6-7beacaba934b" + "passes": [], + "failures": [ + "15602417-9650-4eeb-980d-69a9d3a81478" ], - "failures": [], "pending": [], "skipped": [], - "duration": 141, + "duration": 2, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -1106,49 +1354,53 @@ "_timeout": 900000 }, { - "uuid": "bf35b4a4-0719-462c-acae-3913469860fd", - "title": "tests for /v2.0/data/taxa/{taxonid}/occurrences", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-taxa-{taxonid}-occurrences-test.js", - "file": "/test/v2.0-data-taxa-{taxonid}-occurrences-test.js", + "uuid": "dca12f7d-65e5-489a-b1b3-beb1b9b24228", + "title": "tests for /v2.0/data/sites", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-sites-test.js", + "file": "/test/v2.0-data-sites-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "4a8f1d66-d366-44ac-8769-d9eb4a963800", + "uuid": "d7f374a1-edb5-4b3f-b31e-3e9631556cd6", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-taxa-{taxonid}-occurrences-test.js", - "file": "/test/v2.0-data-taxa-{taxonid}-occurrences-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-sites-test.js", + "file": "/test/v2.0-data-sites-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"occurrence\"", - "fullTitle": "tests for /v2.0/data/taxa/{taxonid}/occurrences tests for get should respond 200 for \"occurrence\"", + "title": "should respond 200 for \"An array of sites.\"", + "fullTitle": "tests for /v2.0/data/sites tests for get should respond 200 for \"An array of sites.\"", "timedOut": false, - "duration": 5, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 2, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/taxa/500/occurrences', { \n 'qs': {\"limit\": 10,\"offset\": 0},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "4d723455-90c4-4906-8276-244cd55549de", - "parentUUID": "4a8f1d66-d366-44ac-8769-d9eb4a963800", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/sites', { \n 'qs': {\"sitename\":\"quis Excepteur amet\",\"database\":\"Deep-Time Palynology Database\",\"datasettype\":\"insect modern\",\"altmin\": 10,\"altmax\": 100,\"loc\":\"{\\\"type\\\":\\\"Polygon\\\",\\\"crs\\\":{\\\"type\\\":\\\"name\\\",\\\"properties\\\":{\\\"name\\\":\\\"EPSG:4326\\\"}},\\\"coordinates\\\":[[[13.4,55.92],[13.5,55.92],[13.5,55.95],[13.4,55.95],[13.4,55.92]]]}\",\"siteid\":34430,\"datasetid\":42272129,\"doi\":\"10Y477123391/WKQNJ\",\"gpid\":5392,\"keyword\":\"beyond radiocarbon\",\"contactid\":1822,\"taxa\":\"nulla proident nisi\",\"ageyoung\": 1000,\"ageold\": 10000,\"ageof\":18302961,\"limit\": 10,\"offset\": 0},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "0bb20537-312f-4806-ad91-63db2bec1759", + "parentUUID": "d7f374a1-edb5-4b3f-b31e-3e9631556cd6", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "4d723455-90c4-4906-8276-244cd55549de" + "passes": [], + "failures": [ + "0bb20537-312f-4806-ad91-63db2bec1759" ], - "failures": [], "pending": [], "skipped": [], - "duration": 5, + "duration": 2, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -1164,222 +1416,115 @@ "_timeout": 900000 }, { - "uuid": "c02be42b-bdca-4410-a3f8-6386e3a7f22c", - "title": "Get Neotoma data with geoJSON extents:", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/spatial.js", - "file": "/test/spatial.js", + "uuid": "264a7b23-9533-4129-a0f6-911643726eed", + "title": "tests for /v1.5/apps/DatasetTypes", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v1.5-apps-DatasetTypes-test.js", + "file": "/test/v1.5-apps-DatasetTypes-test.js", "beforeHooks": [], "afterHooks": [], - "tests": [ + "tests": [], + "suites": [ { - "title": "Get occurrence data using a simple geoJSON:", - "fullTitle": "Get Neotoma data with geoJSON extents: Get occurrence data using a simple geoJSON:", - "timedOut": false, - "duration": 331, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "pending": false, - "context": null, - "code": "api.get('v2.0/data/occurrences?loc={\"type\":\"Polygon\",\"coordinates\":[[[-104.053249,41.001406],[-103.497447,41.001635],[-102.865784,41.001988],[-102.556789,41.002219],[-102.051614,41.002377],[-102.051725,40.537839],[-102.051744,40.003078],[-102.050422,39.646048],[-102.048449,39.303138],[-102.045388,38.813392],[-102.045324,38.453647],[-102.044644,38.045532],[-102.041574,37.680436],[-102.041974,37.352613],[-102.04224,36.993083],[-102.698142,36.995149],[-102.814616,37.000783],[-103.002199,37.000104],[-103.733247,36.998016],[-104.338833,36.993535],[-105.000554,36.993264],[-105.1208,36.995428],[-105.62747,36.995679],[-106.201469,36.994122],[-106.869796,36.992426],[-106.877292,37.000139],[-107.420913,37.000005],[-108.000623,37.000001],[-108.249358,36.999015],[-108.620309,36.999287],[-109.045223,36.999084],[-109.04581,37.374993],[-109.041865,37.530726],[-109.041058,37.907236],[-109.041762,38.16469],[-109.060062,38.275489],[-109.059541,38.719888],[-109.054189,38.874984],[-109.051512,39.126095],[-109.051363,39.497674],[-109.050615,39.87497],[-109.050946,40.444368],[-109.048044,40.619231],[-109.050076,41.000659],[-108.884138,41.000094],[-108.250649,41.000114],[-107.625624,41.002124],[-106.857773,41.002663],[-106.453859,41.002057],[-106.217573,40.997734],[-105.730421,40.996886],[-105.277138,40.998173],[-104.855273,40.998048],[-104.675999,41.000957],[-104.053249,41.001406]]]}')\n .set('Accept', 'application/json')\n .expect(function(res) {\n return Object.keys(res.body['data'][0]).length > 0;\n })\n .expect(function(res) {\n return res.body['data'][0]['occurrence'] === 12;\n })\n .expect(200, done);", - "err": {}, - "uuid": "031ef58e-d58b-465a-a92d-b511c7fdc1a3", - "parentUUID": "c02be42b-bdca-4410-a3f8-6386e3a7f22c", - "isHook": false, - "skipped": false - }, - { - "title": "Get site data using a simple geoJSON:", - "fullTitle": "Get Neotoma data with geoJSON extents: Get site data using a simple geoJSON:", - "timedOut": false, - "duration": 3742, - "state": "passed", - "speed": "slow", - "pass": true, - "fail": false, - "pending": false, - "context": null, - "code": "api.get('v2.0/data/sites?loc={\"type\":\"Polygon\",\"coordinates\":[[[-104.053249,41.001406],[-103.497447,41.001635],[-102.865784,41.001988],[-102.556789,41.002219],[-102.051614,41.002377],[-102.051725,40.537839],[-102.051744,40.003078],[-102.050422,39.646048],[-102.048449,39.303138],[-102.045388,38.813392],[-102.045324,38.453647],[-102.044644,38.045532],[-102.041574,37.680436],[-102.041974,37.352613],[-102.04224,36.993083],[-102.698142,36.995149],[-102.814616,37.000783],[-103.002199,37.000104],[-103.733247,36.998016],[-104.338833,36.993535],[-105.000554,36.993264],[-105.1208,36.995428],[-105.62747,36.995679],[-106.201469,36.994122],[-106.869796,36.992426],[-106.877292,37.000139],[-107.420913,37.000005],[-108.000623,37.000001],[-108.249358,36.999015],[-108.620309,36.999287],[-109.045223,36.999084],[-109.04581,37.374993],[-109.041865,37.530726],[-109.041058,37.907236],[-109.041762,38.16469],[-109.060062,38.275489],[-109.059541,38.719888],[-109.054189,38.874984],[-109.051512,39.126095],[-109.051363,39.497674],[-109.050615,39.87497],[-109.050946,40.444368],[-109.048044,40.619231],[-109.050076,41.000659],[-108.884138,41.000094],[-108.250649,41.000114],[-107.625624,41.002124],[-106.857773,41.002663],[-106.453859,41.002057],[-106.217573,40.997734],[-105.730421,40.996886],[-105.277138,40.998173],[-104.855273,40.998048],[-104.675999,41.000957],[-104.053249,41.001406]]]}')\n .set('Accept', 'application/json')\n .expect(function(res) {\n return Object.keys(res.body['data'][0]).length > 0;\n })\n .expect(function(res) {\n return res.body['data'][0]['occurrence'] === 12;\n })\n .expect(200, done);", - "err": {}, - "uuid": "ed1eda04-67db-486d-bd2f-e42a5872180d", - "parentUUID": "c02be42b-bdca-4410-a3f8-6386e3a7f22c", - "isHook": false, - "skipped": false - }, - { - "title": "Get dataset data using a simple geoJSON:", - "fullTitle": "Get Neotoma data with geoJSON extents: Get dataset data using a simple geoJSON:", - "timedOut": false, - "duration": 1396, - "state": "passed", - "speed": "slow", - "pass": true, - "fail": false, - "pending": false, - "context": null, - "code": "api.get('v2.0/data/datasets?loc={\"type\":\"Polygon\",\"coordinates\":[[[-104.053249,41.001406],[-103.497447,41.001635],[-102.865784,41.001988],[-102.556789,41.002219],[-102.051614,41.002377],[-102.051725,40.537839],[-102.051744,40.003078],[-102.050422,39.646048],[-102.048449,39.303138],[-102.045388,38.813392],[-102.045324,38.453647],[-102.044644,38.045532],[-102.041574,37.680436],[-102.041974,37.352613],[-102.04224,36.993083],[-102.698142,36.995149],[-102.814616,37.000783],[-103.002199,37.000104],[-103.733247,36.998016],[-104.338833,36.993535],[-105.000554,36.993264],[-105.1208,36.995428],[-105.62747,36.995679],[-106.201469,36.994122],[-106.869796,36.992426],[-106.877292,37.000139],[-107.420913,37.000005],[-108.000623,37.000001],[-108.249358,36.999015],[-108.620309,36.999287],[-109.045223,36.999084],[-109.04581,37.374993],[-109.041865,37.530726],[-109.041058,37.907236],[-109.041762,38.16469],[-109.060062,38.275489],[-109.059541,38.719888],[-109.054189,38.874984],[-109.051512,39.126095],[-109.051363,39.497674],[-109.050615,39.87497],[-109.050946,40.444368],[-109.048044,40.619231],[-109.050076,41.000659],[-108.884138,41.000094],[-108.250649,41.000114],[-107.625624,41.002124],[-106.857773,41.002663],[-106.453859,41.002057],[-106.217573,40.997734],[-105.730421,40.996886],[-105.277138,40.998173],[-104.855273,40.998048],[-104.675999,41.000957],[-104.053249,41.001406]]]}')\n .set('Accept', 'application/json')\n .expect(function(res) {\n return Object.keys(res.body['data'][0]).length > 0;\n })\n .expect(function(res) {\n return res.body['data'][0]['occurrence'] === 12;\n })\n .expect(200, done);", - "err": {}, - "uuid": "e8dc3316-568f-4383-857c-28ca0081ceba", - "parentUUID": "c02be42b-bdca-4410-a3f8-6386e3a7f22c", - "isHook": false, - "skipped": false - } - ], - "suites": [], - "passes": [ - "031ef58e-d58b-465a-a92d-b511c7fdc1a3", - "ed1eda04-67db-486d-bd2f-e42a5872180d", - "e8dc3316-568f-4383-857c-28ca0081ceba" - ], - "failures": [], - "pending": [], - "skipped": [], - "duration": 5469, - "root": false, - "rootEmpty": false, - "_timeout": 15000 - }, - { - "uuid": "68ef889b-f06f-4806-8560-0a4564f51bda", - "title": "Get Neotoma data with WKT extents:", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/spatial.js", - "file": "/test/spatial.js", - "beforeHooks": [], - "afterHooks": [], - "tests": [ - { - "title": "Get occurrence data using a simple WKT:", - "fullTitle": "Get Neotoma data with WKT extents: Get occurrence data using a simple WKT:", - "timedOut": false, - "duration": 240, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "pending": false, - "context": null, - "code": "api.get('v2.0/data/occurrences?loc=POLYGON((-104.053249 41.001406,-103.497447 41.001635,-102.865784 41.001988,-102.556789 41.002219,-102.051614 41.002377,-102.051725 40.537839,-102.051744 40.003078,-102.050422 39.646048,-102.048449 39.303138,-102.045388 38.813392,-102.045324 38.453647,-102.044644 38.045532,-102.041574 37.680436,-102.041974 37.352613,-102.04224 36.993083,-102.698142 36.995149,-102.814616 37.000783,-103.002199 37.000104,-103.733247 36.998016,-104.338833 36.993535,-105.000554 36.993264,-105.1208 36.995428,-105.62747 36.995679,-106.201469 36.994122,-106.869796 36.992426,-106.877292 37.000139,-107.420913 37.000005,-108.000623 37.000001,-108.249358 36.999015,-108.620309 36.999287,-109.045223 36.999084,-109.04581 37.374993,-109.041865 37.530726,-109.041058 37.907236,-109.041762 38.16469,-109.060062 38.275489,-109.059541 38.719888,-109.054189 38.874984,-109.051512 39.126095,-109.051363 39.497674,-109.050615 39.87497,-109.050946 40.444368,-109.048044 40.619231,-109.050076 41.000659,-108.884138 41.000094,-108.250649 41.000114,-107.625624 41.002124,-106.857773 41.002663,-106.453859 41.002057,-106.217573 40.997734,-105.730421 40.996886,-105.277138 40.998173,-104.855273 40.998048,-104.675999 41.000957,-104.053249 41.001406))')\n .set('Accept', 'application/json')\n .expect(function(res) {\n return Object.keys(res.body['data'][0]).length > 0;\n })\n .expect(function(res) {\n return res.body['data'][0]['occurrence'] === 12;\n })\n .expect(200, done);", - "err": {}, - "uuid": "51466f61-f55c-4e47-95a7-34307dc6c5f4", - "parentUUID": "68ef889b-f06f-4806-8560-0a4564f51bda", - "isHook": false, - "skipped": false - }, - { - "title": "Get site data using a simple WKT:", - "fullTitle": "Get Neotoma data with WKT extents: Get site data using a simple WKT:", - "timedOut": false, - "duration": 205, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "pending": false, - "context": null, - "code": "api.get('v2.0/data/sites?loc=POLYGON((-104.053249 41.001406,-103.497447 41.001635,-102.865784 41.001988,-102.556789 41.002219,-102.051614 41.002377,-102.051725 40.537839,-102.051744 40.003078,-102.050422 39.646048,-102.048449 39.303138,-102.045388 38.813392,-102.045324 38.453647,-102.044644 38.045532,-102.041574 37.680436,-102.041974 37.352613,-102.04224 36.993083,-102.698142 36.995149,-102.814616 37.000783,-103.002199 37.000104,-103.733247 36.998016,-104.338833 36.993535,-105.000554 36.993264,-105.1208 36.995428,-105.62747 36.995679,-106.201469 36.994122,-106.869796 36.992426,-106.877292 37.000139,-107.420913 37.000005,-108.000623 37.000001,-108.249358 36.999015,-108.620309 36.999287,-109.045223 36.999084,-109.04581 37.374993,-109.041865 37.530726,-109.041058 37.907236,-109.041762 38.16469,-109.060062 38.275489,-109.059541 38.719888,-109.054189 38.874984,-109.051512 39.126095,-109.051363 39.497674,-109.050615 39.87497,-109.050946 40.444368,-109.048044 40.619231,-109.050076 41.000659,-108.884138 41.000094,-108.250649 41.000114,-107.625624 41.002124,-106.857773 41.002663,-106.453859 41.002057,-106.217573 40.997734,-105.730421 40.996886,-105.277138 40.998173,-104.855273 40.998048,-104.675999 41.000957,-104.053249 41.001406))')\n .set('Accept', 'application/json')\n .expect(function(res) {\n return Object.keys(res.body['data'][0]).length > 0;\n })\n .expect(function(res) {\n return res.body['data'][0]['occurrence'] === 12;\n })\n .expect(200, done);", - "err": {}, - "uuid": "307c587e-75cb-4dad-8a95-af9f93a488c0", - "parentUUID": "68ef889b-f06f-4806-8560-0a4564f51bda", - "isHook": false, - "skipped": false - }, - { - "title": "Get dataset data using a simple WKT:", - "fullTitle": "Get Neotoma data with WKT extents: Get dataset data using a simple WKT:", - "timedOut": false, - "duration": 182, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "pending": false, - "context": null, - "code": "api.get('v2.0/data/datasets?loc=POLYGON((-104.053249 41.001406,-103.497447 41.001635,-102.865784 41.001988,-102.556789 41.002219,-102.051614 41.002377,-102.051725 40.537839,-102.051744 40.003078,-102.050422 39.646048,-102.048449 39.303138,-102.045388 38.813392,-102.045324 38.453647,-102.044644 38.045532,-102.041574 37.680436,-102.041974 37.352613,-102.04224 36.993083,-102.698142 36.995149,-102.814616 37.000783,-103.002199 37.000104,-103.733247 36.998016,-104.338833 36.993535,-105.000554 36.993264,-105.1208 36.995428,-105.62747 36.995679,-106.201469 36.994122,-106.869796 36.992426,-106.877292 37.000139,-107.420913 37.000005,-108.000623 37.000001,-108.249358 36.999015,-108.620309 36.999287,-109.045223 36.999084,-109.04581 37.374993,-109.041865 37.530726,-109.041058 37.907236,-109.041762 38.16469,-109.060062 38.275489,-109.059541 38.719888,-109.054189 38.874984,-109.051512 39.126095,-109.051363 39.497674,-109.050615 39.87497,-109.050946 40.444368,-109.048044 40.619231,-109.050076 41.000659,-108.884138 41.000094,-108.250649 41.000114,-107.625624 41.002124,-106.857773 41.002663,-106.453859 41.002057,-106.217573 40.997734,-105.730421 40.996886,-105.277138 40.998173,-104.855273 40.998048,-104.675999 41.000957,-104.053249 41.001406))')\n .set('Accept', 'application/json')\n .expect(function(res) {\n return Object.keys(res.body['data'][0]).length > 0;\n })\n .expect(function(res) {\n return res.body['data'][0]['occurrence'] === 12;\n })\n .expect(200, done);", - "err": {}, - "uuid": "d10e5bef-5ef5-4d97-9050-e6dcdb8b0775", - "parentUUID": "68ef889b-f06f-4806-8560-0a4564f51bda", - "isHook": false, - "skipped": false - }, - { - "title": "Get dataset data using a simple WKT:", - "fullTitle": "Get Neotoma data with WKT extents: Get dataset data using a simple WKT:", - "timedOut": false, - "duration": 175, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "pending": false, - "context": null, - "code": "api.get('v2.0/data/datasets?loc=POLYGON((139.8%20-33.7,%20150.1%20-33.7,%20150.1%20-39.1,%20139.8%20-39.1,%20139.8%20-33.7))')\n .set('Accept', 'application/json')\n .expect(function(res) {\n return Object.keys(res.body['data'][0]).length > 0;\n })\n .expect(function(res) {\n return res.body['data'][0]['occurrence'] === 12;\n })\n .expect(200, done);", - "err": {}, - "uuid": "e685f0d6-ee22-4acd-a570-05fa5a265445", - "parentUUID": "68ef889b-f06f-4806-8560-0a4564f51bda", - "isHook": false, - "skipped": false + "uuid": "df834536-0e1f-410a-8213-add78f756693", + "title": "tests for get", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v1.5-apps-DatasetTypes-test.js", + "file": "/test/v1.5-apps-DatasetTypes-test.js", + "beforeHooks": [], + "afterHooks": [], + "tests": [ + { + "title": "should respond 200 for \"Returns the set of dataset types supported by Neotoma.\"", + "fullTitle": "tests for /v1.5/apps/DatasetTypes tests for get should respond 200 for \"Returns the set of dataset types supported by Neotoma.\"", + "timedOut": false, + "duration": 2, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, + "pending": false, + "context": null, + "code": "var response = request('get', 'http://localhost:3001/v1.5/apps/DatasetTypes', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "3d7896b4-907a-4c82-bea3-85a433e384da", + "parentUUID": "df834536-0e1f-410a-8213-add78f756693", + "isHook": false, + "skipped": false + } + ], + "suites": [], + "passes": [], + "failures": [ + "3d7896b4-907a-4c82-bea3-85a433e384da" + ], + "pending": [], + "skipped": [], + "duration": 2, + "root": false, + "rootEmpty": false, + "_timeout": 900000 } ], - "suites": [], - "passes": [ - "51466f61-f55c-4e47-95a7-34307dc6c5f4", - "307c587e-75cb-4dad-8a95-af9f93a488c0", - "d10e5bef-5ef5-4d97-9050-e6dcdb8b0775", - "e685f0d6-ee22-4acd-a570-05fa5a265445" - ], + "passes": [], "failures": [], "pending": [], "skipped": [], - "duration": 802, + "duration": 0, "root": false, "rootEmpty": false, - "_timeout": 15000 + "_timeout": 900000 }, { - "uuid": "746725af-2a67-4efd-a29b-4e1a1a78cddd", - "title": "tests for /v2.0/data/summary/rawbymonth", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-summary-rawbymonth-test.js", - "file": "/test/v2.0-data-summary-rawbymonth-test.js", + "uuid": "b5e61448-7566-4edd-ad3c-96c4ef1f5725", + "title": "tests for /v1.5/data/occurrence/{occurrenceid}", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v1.5-data-occurrence-{occurrenceid}-test.js", + "file": "/test/v1.5-data-occurrence-{occurrenceid}-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "7b785d6f-ea53-4799-94e4-e80f0aa77825", + "uuid": "ba8d681f-e14a-4772-8bc4-ea082bcba9b8", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-summary-rawbymonth-test.js", - "file": "/test/v2.0-data-summary-rawbymonth-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v1.5-data-occurrence-{occurrenceid}-test.js", + "file": "/test/v1.5-data-occurrence-{occurrenceid}-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"A count of the data objects added to Neotoma.\"", - "fullTitle": "tests for /v2.0/data/summary/rawbymonth tests for get should respond 200 for \"A count of the data objects added to Neotoma.\"", + "title": "should respond 200 for \"A single occurrence object.\"", + "fullTitle": "tests for /v1.5/data/occurrence/{occurrenceid} tests for get should respond 200 for \"A single occurrence object.\"", "timedOut": false, - "duration": 12125, - "state": "passed", - "speed": "slow", - "pass": true, - "fail": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/summary/rawbymonth', { \n 'qs': {\"start\": 1,\"end\": 10},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "c89cf0e7-8e51-4f84-b12b-1374a06ca4c3", - "parentUUID": "7b785d6f-ea53-4799-94e4-e80f0aa77825", + "code": "var response = request('get', 'http://localhost:3001/v1.5/data/occurrence/500', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "d940f470-e763-4ef4-bf00-2a6bf24f3744", + "parentUUID": "ba8d681f-e14a-4772-8bc4-ea082bcba9b8", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "c89cf0e7-8e51-4f84-b12b-1374a06ca4c3" + "passes": [], + "failures": [ + "d940f470-e763-4ef4-bf00-2a6bf24f3744" ], - "failures": [], "pending": [], "skipped": [], - "duration": 12125, + "duration": 1, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -1395,49 +1540,53 @@ "_timeout": 900000 }, { - "uuid": "96ea762f-4759-4e3e-b7ee-355e710e600b", - "title": "tests for /v2.0/data/geopoliticalunits", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-geopoliticalunits-test.js", - "file": "/test/v2.0-data-geopoliticalunits-test.js", + "uuid": "482a4e91-15aa-488e-96d9-3ca64c017f8e", + "title": "tests for /v2.0/apps/constdb/datasets", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-apps-constdb-datasets-test.js", + "file": "/test/v2.0-apps-constdb-datasets-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "e6d7b9db-15ad-44eb-9d83-f07bf9f26e69", + "uuid": "709e7d7e-57f4-496b-b196-b66148795878", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-geopoliticalunits-test.js", - "file": "/test/v2.0-data-geopoliticalunits-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-apps-constdb-datasets-test.js", + "file": "/test/v2.0-apps-constdb-datasets-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"An array of geopolitical units.\"", - "fullTitle": "tests for /v2.0/data/geopoliticalunits tests for get should respond 200 for \"An array of geopolitical units.\"", + "title": "should respond 200 for \"Returns the set of datasets contained within a constituent database, identified by the constituent database identifier. Used for quick landing page generation. \"", + "fullTitle": "tests for /v2.0/apps/constdb/datasets tests for get should respond 200 for \"Returns the set of datasets contained within a constituent database, identified by the constituent database identifier. Used for quick landing page generation. \"", "timedOut": false, - "duration": 73, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/geopoliticalunits', { \n 'qs': {\"gpid\":5392,\"gpname\":\"Canada\",\"rank\":4,\"lower\":true},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "8d6568b7-ee20-47f6-bbb1-f6164a654f77", - "parentUUID": "e6d7b9db-15ad-44eb-9d83-f07bf9f26e69", + "code": "var response = request('get', 'http://localhost:3001/v2.0/apps/constdb/datasets', { \n 'qs': {\"dbid\":32},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "e4a547f1-1f35-4b50-ad77-6bc63efa68c5", + "parentUUID": "709e7d7e-57f4-496b-b196-b66148795878", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "8d6568b7-ee20-47f6-bbb1-f6164a654f77" + "passes": [], + "failures": [ + "e4a547f1-1f35-4b50-ad77-6bc63efa68c5" ], - "failures": [], "pending": [], "skipped": [], - "duration": 73, + "duration": 1, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -1453,49 +1602,53 @@ "_timeout": 900000 }, { - "uuid": "ee3d1add-f392-4135-adf8-b15e6636af5a", - "title": "tests for /v2.0/apps/depositionalenvironments/root", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-apps-depositionalenvironments-root-test.js", - "file": "/test/v2.0-apps-depositionalenvironments-root-test.js", + "uuid": "84aada66-da3a-4a13-98cb-42061654eb3f", + "title": "tests for /v2.0/data/datasets/{datasetid}", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-datasets-{datasetid}-test.js", + "file": "/test/v2.0-data-datasets-{datasetid}-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "ef1d125a-656e-4c88-90c2-e09855a6012f", + "uuid": "2a014ed1-b718-41a8-bc64-95c118c0405e", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-apps-depositionalenvironments-root-test.js", - "file": "/test/v2.0-apps-depositionalenvironments-root-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-datasets-{datasetid}-test.js", + "file": "/test/v2.0-data-datasets-{datasetid}-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"A table of Neotoma collection types.\"", - "fullTitle": "tests for /v2.0/apps/depositionalenvironments/root tests for get should respond 200 for \"A table of Neotoma collection types.\"", + "title": "should respond 200 for \"An array of datasets.\"", + "fullTitle": "tests for /v2.0/data/datasets/{datasetid} tests for get should respond 200 for \"An array of datasets.\"", "timedOut": false, - "duration": 80, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 2, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/apps/depositionalenvironments/root', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "5508e00e-d935-43e6-b6df-6376af26bead", - "parentUUID": "ef1d125a-656e-4c88-90c2-e09855a6012f", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/datasets/500', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "70fb6ed9-eb06-42bc-a8d6-590ffc5b1f7d", + "parentUUID": "2a014ed1-b718-41a8-bc64-95c118c0405e", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "5508e00e-d935-43e6-b6df-6376af26bead" + "passes": [], + "failures": [ + "70fb6ed9-eb06-42bc-a8d6-590ffc5b1f7d" ], - "failures": [], "pending": [], "skipped": [], - "duration": 80, + "duration": 2, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -1511,49 +1664,53 @@ "_timeout": 900000 }, { - "uuid": "33817810-d4e9-46e2-bfa3-30da81e620d7", - "title": "tests for /v2.0/data/geopoliticalunits/{gpid}/datasets", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-geopoliticalunits-{gpid}-datasets-test.js", - "file": "/test/v2.0-data-geopoliticalunits-{gpid}-datasets-test.js", + "uuid": "5149deb0-a30e-4340-8dba-5c185c9e689e", + "title": "tests for /v2.0/data/datasets/{datasetid}/contacts", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-datasets-{datasetid}-contacts-test.js", + "file": "/test/v2.0-data-datasets-{datasetid}-contacts-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "b11c68f9-8883-4003-8e45-153ac2712d8a", + "uuid": "9365aaf6-a787-430f-a564-b35d082dfbc3", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-geopoliticalunits-{gpid}-datasets-test.js", - "file": "/test/v2.0-data-geopoliticalunits-{gpid}-datasets-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-datasets-{datasetid}-contacts-test.js", + "file": "/test/v2.0-data-datasets-{datasetid}-contacts-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"An array of datasets.\"", - "fullTitle": "tests for /v2.0/data/geopoliticalunits/{gpid}/datasets tests for get should respond 200 for \"An array of datasets.\"", + "title": "should respond 200 for \"contact\"", + "fullTitle": "tests for /v2.0/data/datasets/{datasetid}/contacts tests for get should respond 200 for \"contact\"", "timedOut": false, - "duration": 102, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 2, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/geopoliticalunits/4013/datasets', { \n 'qs': {\"limit\": 10,\"offset\": 0},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "efb76184-054b-4482-ae06-1c44fa1d9b1d", - "parentUUID": "b11c68f9-8883-4003-8e45-153ac2712d8a", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/datasets/500/contacts', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "76dbc6b7-bf4a-4e27-9e54-6fae2d4443d4", + "parentUUID": "9365aaf6-a787-430f-a564-b35d082dfbc3", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "efb76184-054b-4482-ae06-1c44fa1d9b1d" + "passes": [], + "failures": [ + "76dbc6b7-bf4a-4e27-9e54-6fae2d4443d4" ], - "failures": [], "pending": [], "skipped": [], - "duration": 102, + "duration": 2, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -1569,49 +1726,53 @@ "_timeout": 900000 }, { - "uuid": "19a0e332-ce92-481a-ac30-d4f1367066ee", - "title": "tests for /v2.0/data/contacts/{contactid}/sites", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-contacts-{contactid}-sites-test.js", - "file": "/test/v2.0-data-contacts-{contactid}-sites-test.js", + "uuid": "94983776-0100-4fd6-8927-d9f8e711ecc2", + "title": "tests for /v2.0/data/datasets_elc/{datasetid}", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-datasets_elc-{datasetid}-test.js", + "file": "/test/v2.0-data-datasets_elc-{datasetid}-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "169076c8-e454-4df7-9957-a8da5303aed0", + "uuid": "44f2040c-7bc2-4cf1-8b46-10cb81ad9ff3", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-contacts-{contactid}-sites-test.js", - "file": "/test/v2.0-data-contacts-{contactid}-sites-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-datasets_elc-{datasetid}-test.js", + "file": "/test/v2.0-data-datasets_elc-{datasetid}-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"A Neotoma sites object.\"", - "fullTitle": "tests for /v2.0/data/contacts/{contactid}/sites tests for get should respond 200 for \"A Neotoma sites object.\"", + "title": "should respond 200 for \"A Neotoma datasets object suitable for the EarthLife Consortium API.\"", + "fullTitle": "tests for /v2.0/data/datasets_elc/{datasetid} tests for get should respond 200 for \"A Neotoma datasets object suitable for the EarthLife Consortium API.\"", "timedOut": false, - "duration": 5, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 2, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/contacts/500/sites', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "9e78d93e-756d-4658-b203-239113da1d2a", - "parentUUID": "169076c8-e454-4df7-9957-a8da5303aed0", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/datasets_elc/500', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "64d1d9a1-ba65-4547-bdb9-3c530eda5d5a", + "parentUUID": "44f2040c-7bc2-4cf1-8b46-10cb81ad9ff3", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "9e78d93e-756d-4658-b203-239113da1d2a" + "passes": [], + "failures": [ + "64d1d9a1-ba65-4547-bdb9-3c530eda5d5a" ], - "failures": [], "pending": [], "skipped": [], - "duration": 5, + "duration": 2, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -1627,49 +1788,53 @@ "_timeout": 900000 }, { - "uuid": "dd405005-2069-4d42-a55a-3cba71c2187f", - "title": "tests for /v2.0/data/sites/{siteid}/geopoliticalunits", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-sites-{siteid}-geopoliticalunits-test.js", - "file": "/test/v2.0-data-sites-{siteid}-geopoliticalunits-test.js", + "uuid": "d950cc80-528e-4bea-abfe-88f302ad0fa3", + "title": "tests for /v2.0/apps/depositionalenvironments/root", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-apps-depositionalenvironments-root-test.js", + "file": "/test/v2.0-apps-depositionalenvironments-root-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "f4771b40-27c3-4aa4-bf52-180180ca835a", + "uuid": "ba810e13-dfd7-4cbd-88db-57e345129edd", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-sites-{siteid}-geopoliticalunits-test.js", - "file": "/test/v2.0-data-sites-{siteid}-geopoliticalunits-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-apps-depositionalenvironments-root-test.js", + "file": "/test/v2.0-apps-depositionalenvironments-root-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"An array of geopolitical units.\"", - "fullTitle": "tests for /v2.0/data/sites/{siteid}/geopoliticalunits tests for get should respond 200 for \"An array of geopolitical units.\"", + "title": "should respond 200 for \"A table of Neotoma collection types.\"", + "fullTitle": "tests for /v2.0/apps/depositionalenvironments/root tests for get should respond 200 for \"A table of Neotoma collection types.\"", "timedOut": false, - "duration": 74, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/sites/500/geopoliticalunits', { \n 'qs': {\"limit\": 10,\"offset\": 0},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "e0adddba-9ff6-42c1-ad79-da3c47365db4", - "parentUUID": "f4771b40-27c3-4aa4-bf52-180180ca835a", + "code": "var response = request('get', 'http://localhost:3001/v2.0/apps/depositionalenvironments/root', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "fed7bd9a-6e98-48d1-957e-40542f290a73", + "parentUUID": "ba810e13-dfd7-4cbd-88db-57e345129edd", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "e0adddba-9ff6-42c1-ad79-da3c47365db4" + "passes": [], + "failures": [ + "fed7bd9a-6e98-48d1-957e-40542f290a73" ], - "failures": [], "pending": [], "skipped": [], - "duration": 74, + "duration": 1, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -1685,393 +1850,53 @@ "_timeout": 900000 }, { - "uuid": "11ef54ba-fea9-4524-8475-efca26898268", - "title": "Tests for Explorer App Services", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/explorerCalls.js", - "file": "/test/explorerCalls.js", + "uuid": "1f11dd82-adb9-4060-981f-70e7a973a51b", + "title": "tests for /v1.5/data/geopoliticalunits", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v1.5-data-geopoliticalunits-test.js", + "file": "/test/v1.5-data-geopoliticalunits-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "9c441d08-391e-498d-a995-42fea15ecdaa", + "uuid": "d9abd3ff-9325-4eb6-ab97-e6ae03d94a60", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/explorerCalls.js", - "file": "/test/explorerCalls.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v1.5-data-geopoliticalunits-test.js", + "file": "/test/v1.5-data-geopoliticalunits-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for TaxaGroupTypes", - "fullTitle": "Tests for Explorer App Services tests for get should respond 200 for TaxaGroupTypes", - "timedOut": false, - "duration": 113, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "pending": false, - "context": null, - "code": "const response = request('get', appServicesLocation + '/TaxaGroupTypes', {\n time: true,\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "1ee66666-6a22-4e02-8840-e74edbe17016", - "parentUUID": "9c441d08-391e-498d-a995-42fea15ecdaa", - "isHook": false, - "skipped": false - }, - { - "title": "should respond 200 for TaphonomyTypes", - "fullTitle": "Tests for Explorer App Services tests for get should respond 200 for TaphonomyTypes", - "timedOut": false, - "duration": 12, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "pending": false, - "context": null, - "code": "const response = request('get', appServicesLocation + '/TaphonomyTypes', {\n qs: {\n taphonomicSystemId: 1,\n },\n time: true,\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "ee1005ee-8622-492a-aac8-051786153a8f", - "parentUUID": "9c441d08-391e-498d-a995-42fea15ecdaa", - "isHook": false, - "skipped": false - }, - { - "title": "should respond 200 for TaphonomySystems", - "fullTitle": "Tests for Explorer App Services tests for get should respond 200 for TaphonomySystems", - "timedOut": false, - "duration": 68, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "pending": false, - "context": null, - "code": "const response = request('get', appServicesLocation + '/TaphonomySystems', {\n qs: {\n datasetTypeId: 1,\n },\n time: true,\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "984ba1c6-6226-4d6b-878a-b9498344db5f", - "parentUUID": "9c441d08-391e-498d-a995-42fea15ecdaa", - "isHook": false, - "skipped": false - }, - { - "title": "should respond 200 for ElementTypes", - "fullTitle": "Tests for Explorer App Services tests for get should respond 200 for ElementTypes", - "timedOut": false, - "duration": 71, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "pending": false, - "context": null, - "code": "const response = request('get', appServicesLocation + '/ElementTypes', {\n qs: {\n taxagroupid: 1,\n },\n time: true,\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "b0c7c121-9790-437c-b031-5a50a116fb75", - "parentUUID": "9c441d08-391e-498d-a995-42fea15ecdaa", - "isHook": false, - "skipped": false - }, - { - "title": "should respond 200 for TaxaInDatasets (a slow service)", - "fullTitle": "Tests for Explorer App Services tests for get should respond 200 for TaxaInDatasets (a slow service)", - "timedOut": false, - "duration": 5672, - "state": "passed", - "speed": "slow", - "pass": true, - "fail": false, - "pending": false, - "context": null, - "code": "const response = request('get', appServicesLocation + '/TaxaInDatasets', {\n time: true,\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "b978b21f-ceb2-4ac1-a889-8a6abf54a035", - "parentUUID": "9c441d08-391e-498d-a995-42fea15ecdaa", - "isHook": false, - "skipped": false - }, - { - "title": "should respond 200 for collectionTypes", - "fullTitle": "Tests for Explorer App Services tests for get should respond 200 for collectionTypes", - "timedOut": false, - "duration": 70, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "pending": false, - "context": null, - "code": "const response = request('get', appServicesLocation + '/collectionTypes', {\n time: true,\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "372b49b9-46e1-49fe-92dd-ce30e1f674d1", - "parentUUID": "9c441d08-391e-498d-a995-42fea15ecdaa", - "isHook": false, - "skipped": false - }, - { - "title": "should respond 200 for keywords", - "fullTitle": "Tests for Explorer App Services tests for get should respond 200 for keywords", - "timedOut": false, - "duration": 66, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "pending": false, - "context": null, - "code": "const response = request('get', appServicesLocation + '/keywords', {\n time: true,\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "76393c5d-7024-44f9-a095-fa8579176981", - "parentUUID": "9c441d08-391e-498d-a995-42fea15ecdaa", - "isHook": false, - "skipped": false - }, - { - "title": "should respond 200 for authorpis", - "fullTitle": "Tests for Explorer App Services tests for get should respond 200 for authorpis", - "timedOut": false, - "duration": 602, - "state": "passed", - "speed": "medium", - "pass": true, - "fail": false, - "pending": false, - "context": null, - "code": "const response = request('get', appServicesLocation + '/authorpis', {\n time: true,\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "64c0cba3-91bc-4d50-9452-d3e73d91fbdc", - "parentUUID": "9c441d08-391e-498d-a995-42fea15ecdaa", - "isHook": false, - "skipped": false - }, - { - "title": "should respond 200 for DepositionalEnvironments", - "fullTitle": "Tests for Explorer App Services tests for get should respond 200 for DepositionalEnvironments", - "timedOut": false, - "duration": 6, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "pending": false, - "context": null, - "code": "const response = request('get', appServicesLocation + '/DepositionalEnvironments', {\n qs: {idProperty: 1},\n time: true,\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "2f867d19-2e5b-43e8-a3f3-137cb8f51241", - "parentUUID": "9c441d08-391e-498d-a995-42fea15ecdaa", - "isHook": false, - "skipped": false - }, - { - "title": "should respond 200 for Search", - "fullTitle": "Tests for Explorer App Services tests for get should respond 200 for Search", + "title": "should respond 200 for \"An array of geopolitical units.\"", + "fullTitle": "tests for /v1.5/data/geopoliticalunits tests for get should respond 200 for \"An array of geopolitical units.\"", "timedOut": false, "duration": 2, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "pending": false, - "context": null, - "code": "const response = request('post', appServicesLocation + '/Search', {\n qs: {search: '{\"datasetTypeId\":21}',\n time: true},\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "dcc3ec32-61cb-47c3-83c1-ea0da0acf8cf", - "parentUUID": "9c441d08-391e-498d-a995-42fea15ecdaa", - "isHook": false, - "skipped": false - }, - { - "title": "should respond 200 for DatasetTypes", - "fullTitle": "Tests for Explorer App Services tests for get should respond 200 for DatasetTypes", - "timedOut": false, - "duration": 92, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "pending": false, - "context": null, - "code": "const response = request('get', appServicesLocation + '/DatasetTypes', {\n time: true,\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "3b0b4600-34e4-403a-9164-99b08cdbbd95", - "parentUUID": "9c441d08-391e-498d-a995-42fea15ecdaa", - "isHook": false, - "skipped": false - }, - { - "title": "should respond 200 for RelativeAges", - "fullTitle": "Tests for Explorer App Services tests for get should respond 200 for RelativeAges", - "timedOut": false, - "duration": 148, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "pending": false, - "context": null, - "code": "const response = request('get', appServicesLocation + '/RelativeAges', {\n qs: {agescaleid: 1},\n time: true,\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "581ef959-ef70-4854-81fe-00bf70a31f1e", - "parentUUID": "9c441d08-391e-498d-a995-42fea15ecdaa", - "isHook": false, - "skipped": false - }, - { - "title": "should respond 200 for Geochronologies", - "fullTitle": "Tests for Explorer App Services tests for get should respond 200 for Geochronologies", - "timedOut": false, - "duration": 6, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "pending": false, - "context": null, - "code": "const response = request('get', appServicesLocation + '/Geochronologies', {\n qs: {datasetId: 1001},\n time: true,\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "544b3df5-7ccc-48b0-94cf-9539df182e14", - "parentUUID": "9c441d08-391e-498d-a995-42fea15ecdaa", - "isHook": false, - "skipped": false - } - ], - "suites": [], - "passes": [ - "1ee66666-6a22-4e02-8840-e74edbe17016", - "ee1005ee-8622-492a-aac8-051786153a8f", - "984ba1c6-6226-4d6b-878a-b9498344db5f", - "b0c7c121-9790-437c-b031-5a50a116fb75", - "b978b21f-ceb2-4ac1-a889-8a6abf54a035", - "372b49b9-46e1-49fe-92dd-ce30e1f674d1", - "76393c5d-7024-44f9-a095-fa8579176981", - "64c0cba3-91bc-4d50-9452-d3e73d91fbdc", - "2f867d19-2e5b-43e8-a3f3-137cb8f51241", - "dcc3ec32-61cb-47c3-83c1-ea0da0acf8cf", - "3b0b4600-34e4-403a-9164-99b08cdbbd95", - "581ef959-ef70-4854-81fe-00bf70a31f1e", - "544b3df5-7ccc-48b0-94cf-9539df182e14" - ], - "failures": [], - "pending": [], - "skipped": [], - "duration": 6928, - "root": false, - "rootEmpty": false, - "_timeout": 12000 - } - ], - "passes": [], - "failures": [], - "pending": [], - "skipped": [], - "duration": 0, - "root": false, - "rootEmpty": false, - "_timeout": 12000 - }, - { - "uuid": "683bc6fa-e2da-4b30-8aa4-e447212a308d", - "title": "tests for /v2.0/data/spatial/faunal", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-spatial-faunal-test.js", - "file": "/test/v2.0-data-spatial-faunal-test.js", - "beforeHooks": [], - "afterHooks": [], - "tests": [], - "suites": [ - { - "uuid": "5009acc5-12e4-462f-9cb7-862ffc854bde", - "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-spatial-faunal-test.js", - "file": "/test/v2.0-data-spatial-faunal-test.js", - "beforeHooks": [], - "afterHooks": [], - "tests": [ - { - "title": "should respond 200 for \"An object containing all matched species names, identifiers and a GeoJSON polygon representing the UNIONed ranges for the selected species. All data is derived from:
* Mammal Diversity Database. (2020). Mammal Diversity Database (Version 1.2) [Data set]. Zenodo. DOI: [10.5281/zenodo.4139818](https://doi.org/10.5281/zenodo.4139818).
* Map of Life. (2021). Mammal range maps harmonised to the Mammals Diversity Database [Data set]. Map of Life. [10.48600/MOL-48VZ-P413](https://doi.org/10.48600/MOL-48VZ-P413) \"", - "fullTitle": "tests for /v2.0/data/spatial/faunal tests for get should respond 200 for \"An object containing all matched species names, identifiers and a GeoJSON polygon representing the UNIONed ranges for the selected species. All data is derived from:
* Mammal Diversity Database. (2020). Mammal Diversity Database (Version 1.2) [Data set]. Zenodo. DOI: [10.5281/zenodo.4139818](https://doi.org/10.5281/zenodo.4139818).
* Map of Life. (2021). Mammal range maps harmonised to the Mammals Diversity Database [Data set]. Map of Life. [10.48600/MOL-48VZ-P413](https://doi.org/10.48600/MOL-48VZ-P413) \"", - "timedOut": false, - "duration": 78, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "pending": false, - "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/spatial/faunal', { \n 'qs': {\"sciname\":\"consectetur quis reprehenderit\",\"proj\": 4326,\"prec\": 1000},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "e9e6fc25-90bc-4e8b-9a3a-89f3b1421d98", - "parentUUID": "5009acc5-12e4-462f-9cb7-862ffc854bde", - "isHook": false, - "skipped": false - } - ], - "suites": [], - "passes": [ - "e9e6fc25-90bc-4e8b-9a3a-89f3b1421d98" - ], - "failures": [], - "pending": [], - "skipped": [], - "duration": 78, - "root": false, - "rootEmpty": false, - "_timeout": 900000 - } - ], - "passes": [], - "failures": [], - "pending": [], - "skipped": [], - "duration": 0, - "root": false, - "rootEmpty": false, - "_timeout": 900000 - }, - { - "uuid": "87546e2a-e007-4eab-8039-7fe9ecacf609", - "title": "tests for /v2.0/apps/authorpis", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-apps-authorpis-test.js", - "file": "/test/v2.0-apps-authorpis-test.js", - "beforeHooks": [], - "afterHooks": [], - "tests": [], - "suites": [ - { - "uuid": "87557ba1-2257-4181-a2b7-db1ac3817a39", - "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-apps-authorpis-test.js", - "file": "/test/v2.0-apps-authorpis-test.js", - "beforeHooks": [], - "afterHooks": [], - "tests": [ - { - "title": "should respond 200 for \"A table of Neotoma collection types.\"", - "fullTitle": "tests for /v2.0/apps/authorpis tests for get should respond 200 for \"A table of Neotoma collection types.\"", - "timedOut": false, - "duration": 595, - "state": "passed", - "speed": "medium", - "pass": true, - "fail": false, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/apps/authorpis', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "3b2d65c4-cabe-4a41-9a8d-544484e9f7d2", - "parentUUID": "87557ba1-2257-4181-a2b7-db1ac3817a39", + "code": "var response = request('get', 'http://localhost:3001/v1.5/data/geopoliticalunits', { \n 'qs': {\"gpid\":5392,\"gpname\":\"Canada\",\"rank\":2,\"lower\":false},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "7a1de3e7-14cc-41db-b6bd-f982d07f48d2", + "parentUUID": "d9abd3ff-9325-4eb6-ab97-e6ae03d94a60", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "3b2d65c4-cabe-4a41-9a8d-544484e9f7d2" + "passes": [], + "failures": [ + "7a1de3e7-14cc-41db-b6bd-f982d07f48d2" ], - "failures": [], "pending": [], "skipped": [], - "duration": 595, + "duration": 2, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -2087,49 +1912,53 @@ "_timeout": 900000 }, { - "uuid": "788fa880-0496-4b0d-9bf7-886b04c1a0ef", - "title": "tests for /v1.5/data/downloads/{datasetid}", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v1.5-data-downloads-{datasetid}-test.js", - "file": "/test/v1.5-data-downloads-{datasetid}-test.js", + "uuid": "352f9b52-a863-4cfe-a662-1587a4109c2a", + "title": "tests for /v2.0/data/geopoliticalunits", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-geopoliticalunits-test.js", + "file": "/test/v2.0-data-geopoliticalunits-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "9d422c7d-67d9-42e0-9a3d-556a9fd3fe54", + "uuid": "e0583652-6daf-41ca-a925-b6ece85e2ecd", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v1.5-data-downloads-{datasetid}-test.js", - "file": "/test/v1.5-data-downloads-{datasetid}-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-geopoliticalunits-test.js", + "file": "/test/v2.0-data-geopoliticalunits-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"Returned download object.\"", - "fullTitle": "tests for /v1.5/data/downloads/{datasetid} tests for get should respond 200 for \"Returned download object.\"", + "title": "should respond 200 for \"An array of geopolitical units.\"", + "fullTitle": "tests for /v2.0/data/geopoliticalunits tests for get should respond 200 for \"An array of geopolitical units.\"", "timedOut": false, - "duration": 616, - "state": "passed", - "speed": "medium", - "pass": true, - "fail": false, + "duration": 2, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v1.5/data/downloads/500', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "796972e9-3d04-4845-aca7-421a177627cd", - "parentUUID": "9d422c7d-67d9-42e0-9a3d-556a9fd3fe54", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/geopoliticalunits', { \n 'qs': {\"gpid\":5392,\"gpname\":\"Canada\",\"rank\":3,\"lower\":false},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "bf7b67ca-9500-4a40-8d48-89f985ee5a35", + "parentUUID": "e0583652-6daf-41ca-a925-b6ece85e2ecd", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "796972e9-3d04-4845-aca7-421a177627cd" + "passes": [], + "failures": [ + "bf7b67ca-9500-4a40-8d48-89f985ee5a35" ], - "failures": [], "pending": [], "skipped": [], - "duration": 616, + "duration": 2, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -2145,49 +1974,53 @@ "_timeout": 900000 }, { - "uuid": "96b83d11-b652-44fd-b594-35b3d416f7b7", - "title": "tests for /v1.5/apps/TaxaInDatasets", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v1.5-apps-TaxaInDatasets-test.js", - "file": "/test/v1.5-apps-TaxaInDatasets-test.js", + "uuid": "63dc1e3a-a6eb-4c2e-a498-b8143a2d88b9", + "title": "tests for /v1.5/data/sites/{siteid}", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v1.5-data-sites-{siteid}-test.js", + "file": "/test/v1.5-data-sites-{siteid}-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "d578e6fd-b67b-4bd5-9012-6a75462ac059", + "uuid": "7e1d0f67-82e7-4805-a2e6-c7c7c24951c9", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v1.5-apps-TaxaInDatasets-test.js", - "file": "/test/v1.5-apps-TaxaInDatasets-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v1.5-data-sites-{siteid}-test.js", + "file": "/test/v1.5-data-sites-{siteid}-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"An array of taxon identities with associated dataset IDs.\"", - "fullTitle": "tests for /v1.5/apps/TaxaInDatasets tests for get should respond 200 for \"An array of taxon identities with associated dataset IDs.\"", + "title": "should respond 200 for \"An array of site elements.\"", + "fullTitle": "tests for /v1.5/data/sites/{siteid} tests for get should respond 200 for \"An array of site elements.\"", "timedOut": false, - "duration": 3167, - "state": "passed", - "speed": "slow", - "pass": true, - "fail": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v1.5/apps/TaxaInDatasets', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "57ae4fc3-a27f-4585-b7f6-afb2247ab0c6", - "parentUUID": "d578e6fd-b67b-4bd5-9012-6a75462ac059", + "code": "var response = request('get', 'http://localhost:3001/v1.5/data/sites/500', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "656a2fca-fe3a-4d90-bc35-d8e847ccef1f", + "parentUUID": "7e1d0f67-82e7-4805-a2e6-c7c7c24951c9", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "57ae4fc3-a27f-4585-b7f6-afb2247ab0c6" + "passes": [], + "failures": [ + "656a2fca-fe3a-4d90-bc35-d8e847ccef1f" ], - "failures": [], "pending": [], "skipped": [], - "duration": 3167, + "duration": 1, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -2203,511 +2036,257 @@ "_timeout": 900000 }, { - "uuid": "49de68df-5423-4d18-b918-571e41cc6a8d", - "title": "tests for /v2.0/data/aggregatedatasets/{aggdatasetid}", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-aggregatedatasets-{aggdatasetid}-test.js", - "file": "/test/v2.0-data-aggregatedatasets-{aggdatasetid}-test.js", + "uuid": "87bddeee-42dc-44b2-b54c-3d85ae83b5b1", + "title": "Get contact data:", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/contacts.js", + "file": "/test/contacts.js", "beforeHooks": [], "afterHooks": [], - "tests": [], - "suites": [ + "tests": [ { - "uuid": "4c430674-f274-4915-9cb5-471cfa1f2c07", - "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-aggregatedatasets-{aggdatasetid}-test.js", - "file": "/test/v2.0-data-aggregatedatasets-{aggdatasetid}-test.js", - "beforeHooks": [], - "afterHooks": [], - "tests": [ - { - "title": "should respond 200 for \"An array of datasets.\"", - "fullTitle": "tests for /v2.0/data/aggregatedatasets/{aggdatasetid} tests for get should respond 200 for \"An array of datasets.\"", - "timedOut": false, - "duration": 79, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "pending": false, - "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/aggregatedatasets/5536', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "61a94051-b2ba-4355-85aa-2103ce316a11", - "parentUUID": "4c430674-f274-4915-9cb5-471cfa1f2c07", - "isHook": false, - "skipped": false - } - ], - "suites": [], - "passes": [ - "61a94051-b2ba-4355-85aa-2103ce316a11" - ], - "failures": [], - "pending": [], - "skipped": [], - "duration": 79, - "root": false, - "rootEmpty": false, - "_timeout": 900000 - } - ], - "passes": [], - "failures": [], - "pending": [], - "skipped": [], - "duration": 0, - "root": false, - "rootEmpty": false, - "_timeout": 900000 - }, - { - "uuid": "7af0f831-63eb-45ab-8cfb-1193e251e252", - "title": "tests for /v2.0/data/summary/dsdbmonth", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-summary-dsdbmonth-test.js", - "file": "/test/v2.0-data-summary-dsdbmonth-test.js", - "beforeHooks": [], - "afterHooks": [], - "tests": [], - "suites": [ - { - "uuid": "6c313249-b5ce-42ae-a659-7f6742c2c4d3", - "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-summary-dsdbmonth-test.js", - "file": "/test/v2.0-data-summary-dsdbmonth-test.js", - "beforeHooks": [], - "afterHooks": [], - "tests": [ - { - "title": "should respond 200 for \"A count of the datasets added by database for the requested period.\"", - "fullTitle": "tests for /v2.0/data/summary/dsdbmonth tests for get should respond 200 for \"A count of the datasets added by database for the requested period.\"", - "timedOut": false, - "duration": 206, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "pending": false, - "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/summary/dsdbmonth', { \n 'qs': {\"start\": 1,\"end\": 10},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "bd7154c4-dd6c-498a-a9d6-29d37fd5009d", - "parentUUID": "6c313249-b5ce-42ae-a659-7f6742c2c4d3", - "isHook": false, - "skipped": false - } - ], - "suites": [], - "passes": [ - "bd7154c4-dd6c-498a-a9d6-29d37fd5009d" - ], - "failures": [], - "pending": [], - "skipped": [], - "duration": 206, - "root": false, - "rootEmpty": false, - "_timeout": 900000 - } - ], - "passes": [], - "failures": [], - "pending": [], - "skipped": [], - "duration": 0, - "root": false, - "rootEmpty": false, - "_timeout": 900000 - }, - { - "uuid": "a88b2cad-72d5-4470-a6f6-daf27cda26b8", - "title": "Get taxon data:", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/taxa.js", - "file": "/test/taxa.js", - "beforeHooks": [], - "afterHooks": [], - "tests": [ - { - "title": "v2.0: An empty query returns the first 25 taxa.", - "fullTitle": "Get taxon data: v2.0: An empty query returns the first 25 taxa.", - "timedOut": false, - "duration": 97, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "pending": false, - "context": null, - "code": "api.get('v2.0/data/taxa/')\n .set('Accept', 'application/json')\n .expect(200, done);", - "err": {}, - "uuid": "6ddc326e-988c-4e21-b07e-46b57afd1d33", - "parentUUID": "a88b2cad-72d5-4470-a6f6-daf27cda26b8", - "isHook": false, - "skipped": false - }, - { - "title": "v2.0: A single taxon should be returned by id:", - "fullTitle": "Get taxon data: v2.0: A single taxon should be returned by id:", + "title": "The default limit of 25 should be reached for contact data:", + "fullTitle": "Get contact data: The default limit of 25 should be reached for contact data:", "timedOut": false, - "duration": 75, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "api.get('v2.0/data/taxa/12')\n .set('Accept', 'application/json')\n .end(function(err, res) {\n assert.strictEqual(res.body.data[0]['taxonid'], 12);\n done();\n if (err) {\n console.log(err.message);\n };\n });", - "err": {}, - "uuid": "35f5b702-975d-41b8-8db7-6b6935cf6fa9", - "parentUUID": "a88b2cad-72d5-4470-a6f6-daf27cda26b8", + "code": "api.get('v2.0/data/contacts/?contactstatus=retired')\n .set('Accept', 'application/json')\n .end(function(err, res) {\n if (err) return done(err);\n assert.strictEqual(res.body.data.length, 25);\n done();\n });", + "err": { + "message": "AggregateError [ECONNREFUSED]: ", + "estack": "AggregateError [ECONNREFUSED]: \n at internalConnectMultiple (node:net:1139:18)\n at afterConnectMultiple (node:net:1712:7)", + "diff": null + }, + "uuid": "1aa6f1c3-2008-45d0-8d71-9e07ec86b004", + "parentUUID": "87bddeee-42dc-44b2-b54c-3d85ae83b5b1", "isHook": false, "skipped": false }, { - "title": "v2.0: Taxon queries should be case insensitive:", - "fullTitle": "Get taxon data: v2.0: Taxon queries should be case insensitive:", + "title": "The example in the swagger should return an object:", + "fullTitle": "Get contact data: The example in the swagger should return an object:", "timedOut": false, - "duration": 140, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "api.get('v2.0/data/taxa/?taxonname=abies')\n .set('Accept', 'application/json')\n .end(function(err, res) {\n assert.strictEqual(res.body.data[0]['taxonid'], 1);\n done();\n if (err) {\n console.log(err.message);\n };\n });", - "err": {}, - "uuid": "a31c7df1-dff5-4a9f-a7cb-997bc6933975", - "parentUUID": "a88b2cad-72d5-4470-a6f6-daf27cda26b8", + "code": "api.get('v2.0/data/contacts?familyname=Grimm&contactstatus=active&limit=25')\n .set('Accept', 'application/json')\n .end(function(err, res) {\n if (err) return done(err);\n assert.strictEqual(res.body.data[0]['familyname'], 'Grimm');\n done();\n });", + "err": { + "message": "AggregateError [ECONNREFUSED]: ", + "estack": "AggregateError [ECONNREFUSED]: \n at internalConnectMultiple (node:net:1139:18)\n at afterConnectMultiple (node:net:1712:7)", + "diff": null + }, + "uuid": "9252fb77-4ee5-4ead-b95e-b34c36a72502", + "parentUUID": "87bddeee-42dc-44b2-b54c-3d85ae83b5b1", "isHook": false, "skipped": false }, { - "title": "v2.0: Taxon queries should accept comma separated lists:", - "fullTitle": "Get taxon data: v2.0: Taxon queries should accept comma separated lists:", + "title": "Contact queries should be case insensitive:", + "fullTitle": "Get contact data: Contact queries should be case insensitive:", "timedOut": false, - "duration": 139, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "api.get('v2.0/data/taxa/?taxonname=abies,picea')\n .set('Accept', 'application/json')\n .end(function(err, res) {\n assert.strictEqual(res.body.data[0]['taxonid'], 1);\n done();\n if (err) {\n console.log(err.message);\n };\n });", - "err": {}, - "uuid": "cb79915f-9274-4f97-9117-fc8575e909a9", - "parentUUID": "a88b2cad-72d5-4470-a6f6-daf27cda26b8", + "code": "api.get('v2.0/data/contacts/?contactstatus=Retired')\n .set('Accept', 'application/json')\n .end(function(err, res) {\n if (err) return done(err);\n assert.strictEqual(res.body.data.length, 25);\n done();\n });", + "err": { + "message": "AggregateError [ECONNREFUSED]: ", + "estack": "AggregateError [ECONNREFUSED]: \n at internalConnectMultiple (node:net:1139:18)\n at afterConnectMultiple (node:net:1712:7)", + "diff": null + }, + "uuid": "1c86b4d6-8a21-4053-9118-71ff2e2b461e", + "parentUUID": "87bddeee-42dc-44b2-b54c-3d85ae83b5b1", "isHook": false, "skipped": false }, { - "title": "v2.0: Hierarchical taxon queries should accept comma separated lists:", - "fullTitle": "Get taxon data: v2.0: Hierarchical taxon queries should accept comma separated lists:", + "title": "Changing the limit should change the number of contacts retrieved:", + "fullTitle": "Get contact data: Changing the limit should change the number of contacts retrieved:", "timedOut": false, - "duration": 238, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 2, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "api.get('v2.0/data/taxa/?taxonname=abies,picea&lower=true')\n .set('Accept', 'application/json')\n .end(function(err, res) {\n const data = res.body.data;\n const higher = [...new Set(data.map((x) => x.highertaxonid))];\n /* There should be four unique higher taxon IDs:\n * One for `Abies`\n * One for `Picea`\n * The rest pointing to Abies & Picea.\n */\n assert.strictEqual(higher.length, 4);\n done();\n if (err) {\n console.log(err.message);\n };\n });", - "err": {}, - "uuid": "734ad610-f8bc-45ff-98da-1ef2a9aa9f7f", - "parentUUID": "a88b2cad-72d5-4470-a6f6-daf27cda26b8", + "code": "api.get('v2.0/data/contacts/?status=retired&limit=30')\n .set('Accept', 'application/json')\n .end(function(err, res) {\n if (err) return done(err);\n assert.strictEqual(res.body.data.length, 30);\n done();\n });", + "err": { + "message": "AggregateError [ECONNREFUSED]: ", + "estack": "AggregateError [ECONNREFUSED]: \n at internalConnectMultiple (node:net:1139:18)\n at afterConnectMultiple (node:net:1712:7)", + "diff": null + }, + "uuid": "484a160e-e8be-4489-a8a9-04926d748e58", + "parentUUID": "87bddeee-42dc-44b2-b54c-3d85ae83b5b1", "isHook": false, "skipped": false }, { - "title": "v2.0: Taxon queries should accept `*` as a wildcard:", - "fullTitle": "Get taxon data: v2.0: Taxon queries should accept `*` as a wildcard:", + "title": "A single contact (12) should be returned.", + "fullTitle": "Get contact data: A single contact (12) should be returned.", "timedOut": false, - "duration": 145, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "api.get('v2.0/data/taxa/?taxonname=abie*')\n .set('Accept', 'application/json')\n .end(function(err, res) {\n assert.strictEqual(res.body.data[0]['taxonid'], 1);\n done();\n if (err) {\n console.log(err.message);\n };\n });", - "err": {}, - "uuid": "60d77ea2-b029-45cc-a5ff-b88f50307880", - "parentUUID": "a88b2cad-72d5-4470-a6f6-daf27cda26b8", + "code": "api.get('v2.0/data/contacts/12')\n .set('Accept', 'application/json')\n .end(function(err, res) {\n if (err) return done(err);\n assert.strictEqual(res.body.data[0]['contactid'], 12);\n done();\n });", + "err": { + "message": "AggregateError [ECONNREFUSED]: ", + "estack": "AggregateError [ECONNREFUSED]: \n at internalConnectMultiple (node:net:1139:18)\n at afterConnectMultiple (node:net:1712:7)", + "diff": null + }, + "uuid": "43362153-618c-41bc-86d3-88362fe48838", + "parentUUID": "87bddeee-42dc-44b2-b54c-3d85ae83b5b1", "isHook": false, "skipped": false }, { - "title": "v2.0: The default limit of 25 should be reached for taxon data:", - "fullTitle": "Get taxon data: v2.0: The default limit of 25 should be reached for taxon data:", + "title": "All contacts from datasets should be returned.", + "fullTitle": "Get contact data: All contacts from datasets should be returned.", "timedOut": false, - "duration": 367, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "api.get('v2.0/data/taxa/?taxonname=a*')\n .set('Accept', 'application/json')\n .end(function(err, res) {\n assert.strictEqual(res.body.data.length, 25);\n done();\n if (err) {\n console.log(err.message);\n };\n });", - "err": {}, - "uuid": "cf71177f-9ba6-4671-8059-c13e40c0d0e4", - "parentUUID": "a88b2cad-72d5-4470-a6f6-daf27cda26b8", + "code": "api.get('v2.0/data/datasets/12,13/contacts')\n .set('Accept', 'application/json')\n .end(function(err, res) {\n if (err) return done(err);\n assert.strictEqual(res.body.data.length, 2);\n done();\n });", + "err": { + "message": "AggregateError [ECONNREFUSED]: ", + "estack": "AggregateError [ECONNREFUSED]: \n at internalConnectMultiple (node:net:1139:18)\n at afterConnectMultiple (node:net:1712:7)", + "diff": null + }, + "uuid": "396796a1-a907-46ff-9e9c-f941ade5ccbc", + "parentUUID": "87bddeee-42dc-44b2-b54c-3d85ae83b5b1", "isHook": false, "skipped": false }, { - "title": "v2.0: Changing the limit should change the number of taxa retrieved:", - "fullTitle": "Get taxon data: v2.0: Changing the limit should change the number of taxa retrieved:", + "title": "The length of returned contacts should be equivalent to the number of datasets.", + "fullTitle": "Get contact data: The length of returned contacts should be equivalent to the number of datasets.", "timedOut": false, - "duration": 383, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "api.get('v2.0/data/taxa/?taxonname=a*&limit=30')\n .set('Accept', 'application/json')\n .end(function(err, res) {\n assert.strictEqual(res.body.data.length, 30);\n done();\n if (err) {\n console.log(err.message);\n };\n });", - "err": {}, - "uuid": "9bb7b1a5-8035-4321-8746-e04fec44960a", - "parentUUID": "a88b2cad-72d5-4470-a6f6-daf27cda26b8", + "code": "api.get('v2.0/data/datasets/12,13/contacts')\n .set('Accept', 'application/json')\n .end(function(err, res) {\n if (err) return done(err);\n const test = [];\n assert.strictEqual(test.length, 0);\n done();\n });", + "err": { + "message": "AggregateError [ECONNREFUSED]: ", + "estack": "AggregateError [ECONNREFUSED]: \n at internalConnectMultiple (node:net:1139:18)\n at afterConnectMultiple (node:net:1712:7)", + "diff": null + }, + "uuid": "ece921f7-f6ed-4baa-8f26-9e98a182f9ab", + "parentUUID": "87bddeee-42dc-44b2-b54c-3d85ae83b5b1", + "isHook": false, + "skipped": false + }, + { + "title": "The length of returned contacts should be equivalent to the number of sites.", + "fullTitle": "Get contact data: The length of returned contacts should be equivalent to the number of sites.", + "timedOut": false, + "duration": 2, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, + "pending": false, + "context": null, + "code": "api.get('v2.0/data/datasets/102,1435,1,27/contacts')\n .set('Accept', 'application/json')\n .end(function(err, res) {\n if (err) return done(err);\n assert.strictEqual(Object.keys(res.body.data).length, 4);\n done();\n });", + "err": { + "message": "AggregateError [ECONNREFUSED]: ", + "estack": "AggregateError [ECONNREFUSED]: \n at internalConnectMultiple (node:net:1139:18)\n at afterConnectMultiple (node:net:1712:7)", + "diff": null + }, + "uuid": "03da5473-9cf1-4b1f-893b-fc017f62adc8", + "parentUUID": "87bddeee-42dc-44b2-b54c-3d85ae83b5b1", "isHook": false, "skipped": false } ], - "suites": [], - "passes": [ - "6ddc326e-988c-4e21-b07e-46b57afd1d33", - "35f5b702-975d-41b8-8db7-6b6935cf6fa9", - "a31c7df1-dff5-4a9f-a7cb-997bc6933975", - "cb79915f-9274-4f97-9117-fc8575e909a9", - "734ad610-f8bc-45ff-98da-1ef2a9aa9f7f", - "60d77ea2-b029-45cc-a5ff-b88f50307880", - "cf71177f-9ba6-4671-8059-c13e40c0d0e4", - "9bb7b1a5-8035-4321-8746-e04fec44960a" - ], - "failures": [], - "pending": [], - "skipped": [], - "duration": 1584, - "root": false, - "rootEmpty": false, - "_timeout": 900000 - }, - { - "uuid": "e451ec63-7828-468e-937b-6eb31bef33d1", - "title": "tests for /v2.0/data/occurrences/{occurrenceid}", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-occurrences-{occurrenceid}-test.js", - "file": "/test/v2.0-data-occurrences-{occurrenceid}-test.js", - "beforeHooks": [], - "afterHooks": [], - "tests": [], - "suites": [ - { - "uuid": "05b146f4-7e04-42d6-a7c5-14fa1abc3810", - "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-occurrences-{occurrenceid}-test.js", - "file": "/test/v2.0-data-occurrences-{occurrenceid}-test.js", - "beforeHooks": [], - "afterHooks": [], - "tests": [ - { - "title": "should respond 200 for \"occurrence\"", - "fullTitle": "tests for /v2.0/data/occurrences/{occurrenceid} tests for get should respond 200 for \"occurrence\"", - "timedOut": false, - "duration": 5, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "pending": false, - "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/occurrences/500', { \n 'qs': {\"limit\": 10,\"offset\": 0},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "f2293bb0-4d32-4ac3-990d-a011e65445f9", - "parentUUID": "05b146f4-7e04-42d6-a7c5-14fa1abc3810", - "isHook": false, - "skipped": false - } - ], - "suites": [], - "passes": [ - "f2293bb0-4d32-4ac3-990d-a011e65445f9" - ], - "failures": [], - "pending": [], - "skipped": [], - "duration": 5, - "root": false, - "rootEmpty": false, - "_timeout": 900000 - } - ], - "passes": [], - "failures": [], - "pending": [], - "skipped": [], - "duration": 0, - "root": false, - "rootEmpty": false, - "_timeout": 900000 - }, - { - "uuid": "fae5fead-d01b-4839-b50c-f4820df4e96e", - "title": "tests for /v2.0/data/datasets/{datasetid}/doi", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-datasets-{datasetid}-doi-test.js", - "file": "/test/v2.0-data-datasets-{datasetid}-doi-test.js", - "beforeHooks": [], - "afterHooks": [], - "tests": [], - "suites": [ - { - "uuid": "cfbf65e8-4331-422c-93c4-ad20ca702bdf", - "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-datasets-{datasetid}-doi-test.js", - "file": "/test/v2.0-data-datasets-{datasetid}-doi-test.js", - "beforeHooks": [], - "afterHooks": [], - "tests": [ - { - "title": "should respond 200 for \"DOI\"", - "fullTitle": "tests for /v2.0/data/datasets/{datasetid}/doi tests for get should respond 200 for \"DOI\"", - "timedOut": false, - "duration": 74, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "pending": false, - "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/datasets/500/doi', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "0ce937ab-1d5d-465b-9f7d-96a4eb46ee1d", - "parentUUID": "cfbf65e8-4331-422c-93c4-ad20ca702bdf", - "isHook": false, - "skipped": false - } - ], - "suites": [], - "passes": [ - "0ce937ab-1d5d-465b-9f7d-96a4eb46ee1d" - ], - "failures": [], - "pending": [], - "skipped": [], - "duration": 74, - "root": false, - "rootEmpty": false, - "_timeout": 900000 - } - ], - "passes": [], - "failures": [], - "pending": [], - "skipped": [], - "duration": 0, - "root": false, - "rootEmpty": false, - "_timeout": 900000 - }, - { - "uuid": "31f93c84-0e3d-49d5-aa9f-6ba43778fb2d", - "title": "tests for /v2.0/data/spatial/icesheet", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-spatial-icesheet-test.js", - "file": "/test/v2.0-data-spatial-icesheet-test.js", - "beforeHooks": [], - "afterHooks": [], - "tests": [], - "suites": [ - { - "uuid": "07cf6dd0-7f72-4d3e-b230-02d1c85a587e", - "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-spatial-icesheet-test.js", - "file": "/test/v2.0-data-spatial-icesheet-test.js", - "beforeHooks": [], - "afterHooks": [], - "tests": [ - { - "title": "should respond 200 for \"An object containing glacial extents for the selected time period (in **calibrated radiocarbon years**). \"", - "fullTitle": "tests for /v2.0/data/spatial/icesheet tests for get should respond 200 for \"An object containing glacial extents for the selected time period (in **calibrated radiocarbon years**). \"", - "timedOut": false, - "duration": 145, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "pending": false, - "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/spatial/icesheet', { \n 'qs': {\"age\":13209,\"proj\": 4326,\"prec\": 1000},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "774a094b-cd5a-4e7a-a414-8ccf9dbce06a", - "parentUUID": "07cf6dd0-7f72-4d3e-b230-02d1c85a587e", - "isHook": false, - "skipped": false - } - ], - "suites": [], - "passes": [ - "774a094b-cd5a-4e7a-a414-8ccf9dbce06a" - ], - "failures": [], - "pending": [], - "skipped": [], - "duration": 145, - "root": false, - "rootEmpty": false, - "_timeout": 900000 - } - ], + "suites": [], "passes": [], - "failures": [], + "failures": [ + "1aa6f1c3-2008-45d0-8d71-9e07ec86b004", + "9252fb77-4ee5-4ead-b95e-b34c36a72502", + "1c86b4d6-8a21-4053-9118-71ff2e2b461e", + "484a160e-e8be-4489-a8a9-04926d748e58", + "43362153-618c-41bc-86d3-88362fe48838", + "396796a1-a907-46ff-9e9c-f941ade5ccbc", + "ece921f7-f6ed-4baa-8f26-9e98a182f9ab", + "03da5473-9cf1-4b1f-893b-fc017f62adc8" + ], "pending": [], "skipped": [], - "duration": 0, + "duration": 10, "root": false, "rootEmpty": false, - "_timeout": 900000 + "_timeout": 5000 }, { - "uuid": "3c7e7d1a-a74f-4a24-9013-17b50d02049e", - "title": "tests for /v2.0/data/taxa/{taxonid}", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-taxa-{taxonid}-test.js", - "file": "/test/v2.0-data-taxa-{taxonid}-test.js", + "uuid": "008d9b5f-c7c8-4b84-8b1c-6bb3b7ace11c", + "title": "tests for /v2.0/data/summary/dstypemonth", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-summary-dstypemonth-test.js", + "file": "/test/v2.0-data-summary-dstypemonth-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "6b5a49f8-c307-4b55-820b-471371e70dfc", + "uuid": "780cb096-aa98-468d-ad09-0c8599faed19", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-taxa-{taxonid}-test.js", - "file": "/test/v2.0-data-taxa-{taxonid}-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-summary-dstypemonth-test.js", + "file": "/test/v2.0-data-summary-dstypemonth-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"A taxon or array of taxa.\"", - "fullTitle": "tests for /v2.0/data/taxa/{taxonid} tests for get should respond 200 for \"A taxon or array of taxa.\"", + "title": "should respond 200 for \"A count of the datasets added by datasettype for the requested period.\"", + "fullTitle": "tests for /v2.0/data/summary/dstypemonth tests for get should respond 200 for \"A count of the datasets added by datasettype for the requested period.\"", "timedOut": false, - "duration": 72, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 3, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/taxa/500', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "324bb658-de29-466c-88e9-ece31f3ac6a9", - "parentUUID": "6b5a49f8-c307-4b55-820b-471371e70dfc", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/summary/dstypemonth', { \n 'qs': {\"start\": 1,\"end\": 10},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "856554c7-817b-4172-82ba-8393c715a0b1", + "parentUUID": "780cb096-aa98-468d-ad09-0c8599faed19", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "324bb658-de29-466c-88e9-ece31f3ac6a9" + "passes": [], + "failures": [ + "856554c7-817b-4172-82ba-8393c715a0b1" ], - "failures": [], "pending": [], "skipped": [], - "duration": 72, + "duration": 3, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -2723,49 +2302,53 @@ "_timeout": 900000 }, { - "uuid": "e3998d96-11f0-496d-a519-82ae4b2f2e0e", - "title": "tests for /v2.0/data/publications", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-publications-test.js", - "file": "/test/v2.0-data-publications-test.js", + "uuid": "b1df6fbd-e722-449d-b4d2-fd8daad0048c", + "title": "tests for /v2.0/data/datasets/{datasetid}/taxa", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-datasets-{datasetid}-taxa-test.js", + "file": "/test/v2.0-data-datasets-{datasetid}-taxa-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "459e8bac-efcf-4895-b56b-da1e9682a5b5", + "uuid": "86c26700-bfee-4c0e-b85b-4b68285b4b2a", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-publications-test.js", - "file": "/test/v2.0-data-publications-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-datasets-{datasetid}-taxa-test.js", + "file": "/test/v2.0-data-datasets-{datasetid}-taxa-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"A list of publications.\"", - "fullTitle": "tests for /v2.0/data/publications tests for get should respond 200 for \"A list of publications.\"", + "title": "should respond 200 for \"Taxa\"", + "fullTitle": "tests for /v2.0/data/datasets/{datasetid}/taxa tests for get should respond 200 for \"Taxa\"", "timedOut": false, - "duration": 82, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 2, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/publications', { \n 'qs': {\"publicationid\":4903,\"datasetid\":19947503,\"siteid\":38778,\"familyname\":\"'sLglW\",\"pubtype\":\"Book Chapter\",\"year\":1527,\"search\":\"ut sit in mollit\",\"limit\": 10,\"offset\": 0},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "b30ff1c7-abed-48d1-9cf2-c780ed764df0", - "parentUUID": "459e8bac-efcf-4895-b56b-da1e9682a5b5", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/datasets/500/taxa', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "8757f43d-63aa-47de-9cdc-59712750a244", + "parentUUID": "86c26700-bfee-4c0e-b85b-4b68285b4b2a", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "b30ff1c7-abed-48d1-9cf2-c780ed764df0" + "passes": [], + "failures": [ + "8757f43d-63aa-47de-9cdc-59712750a244" ], - "failures": [], "pending": [], "skipped": [], - "duration": 82, + "duration": 2, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -2781,49 +2364,53 @@ "_timeout": 900000 }, { - "uuid": "1afa7c69-e447-415a-a317-e08922f92ec2", - "title": "tests for /v2.0/apps/taxagrouptypes", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-apps-taxagrouptypes-test.js", - "file": "/test/v2.0-apps-taxagrouptypes-test.js", + "uuid": "b689ce4a-4854-4606-bcfc-236e5f27bf86", + "title": "tests for /v2.0/data/datasets/{datasetid}/sites", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-datasets-{datasetid}-sites-test.js", + "file": "/test/v2.0-data-datasets-{datasetid}-sites-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "112d19a0-e3a9-4b3d-97eb-41c3e6bc592c", + "uuid": "ae79836d-a40a-400d-b40d-b7635d15000b", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-apps-taxagrouptypes-test.js", - "file": "/test/v2.0-apps-taxagrouptypes-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-datasets-{datasetid}-sites-test.js", + "file": "/test/v2.0-data-datasets-{datasetid}-sites-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"A table of Neotoma collection types.\"", - "fullTitle": "tests for /v2.0/apps/taxagrouptypes tests for get should respond 200 for \"A table of Neotoma collection types.\"", + "title": "should respond 200 for \"Site\"", + "fullTitle": "tests for /v2.0/data/datasets/{datasetid}/sites tests for get should respond 200 for \"Site\"", "timedOut": false, - "duration": 113, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/apps/taxagrouptypes', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "94369cd7-2554-4d47-b910-6d025c244c38", - "parentUUID": "112d19a0-e3a9-4b3d-97eb-41c3e6bc592c", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/datasets/500/sites', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "ab90c27e-57f4-4045-bda1-b7cdd2e71388", + "parentUUID": "ae79836d-a40a-400d-b40d-b7635d15000b", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "94369cd7-2554-4d47-b910-6d025c244c38" + "passes": [], + "failures": [ + "ab90c27e-57f4-4045-bda1-b7cdd2e71388" ], - "failures": [], "pending": [], "skipped": [], - "duration": 113, + "duration": 1, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -2839,49 +2426,53 @@ "_timeout": 900000 }, { - "uuid": "360071c7-f490-4898-839e-37488c74a4bc", - "title": "tests for /v2.0/data/sites/{siteid}/chronologies", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-sites-{siteid}-chronologies-test.js", - "file": "/test/v2.0-data-sites-{siteid}-chronologies-test.js", + "uuid": "9fec14bf-109b-40a6-9a82-e561993ab5fc", + "title": "tests for /v2.0/data/sites/{siteid}/geopoliticalunits", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-sites-{siteid}-geopoliticalunits-test.js", + "file": "/test/v2.0-data-sites-{siteid}-geopoliticalunits-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "603af640-bdad-4e82-87d3-502c582e38c1", + "uuid": "61eeab88-38f3-45ad-9add-ed7446a7e61a", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-sites-{siteid}-chronologies-test.js", - "file": "/test/v2.0-data-sites-{siteid}-chronologies-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-sites-{siteid}-geopoliticalunits-test.js", + "file": "/test/v2.0-data-sites-{siteid}-geopoliticalunits-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"chronology\"", - "fullTitle": "tests for /v2.0/data/sites/{siteid}/chronologies tests for get should respond 200 for \"chronology\"", + "title": "should respond 200 for \"An array of geopolitical units.\"", + "fullTitle": "tests for /v2.0/data/sites/{siteid}/geopoliticalunits tests for get should respond 200 for \"An array of geopolitical units.\"", "timedOut": false, - "duration": 157, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 2, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/sites/500/chronologies', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "85eba53f-80e3-43fb-b278-be417a192d6a", - "parentUUID": "603af640-bdad-4e82-87d3-502c582e38c1", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/sites/500/geopoliticalunits', { \n 'qs': {\"limit\": 10,\"offset\": 0},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "d4e3873c-edef-45b4-b5f2-6828dfd41934", + "parentUUID": "61eeab88-38f3-45ad-9add-ed7446a7e61a", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "85eba53f-80e3-43fb-b278-be417a192d6a" + "passes": [], + "failures": [ + "d4e3873c-edef-45b4-b5f2-6828dfd41934" ], - "failures": [], "pending": [], "skipped": [], - "duration": 157, + "duration": 2, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -2897,49 +2488,53 @@ "_timeout": 900000 }, { - "uuid": "fff0022e-bf3e-4146-b9db-769f043dd485", - "title": "tests for /v2.0/data/chronologies/{chronid}", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-chronologies-{chronid}-test.js", - "file": "/test/v2.0-data-chronologies-{chronid}-test.js", + "uuid": "34939a4c-c713-4e2a-84db-7b20f70d3b6d", + "title": "tests for /v2.0/data/sites/{siteid}/datasets", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-sites-{siteid}-datasets-test.js", + "file": "/test/v2.0-data-sites-{siteid}-datasets-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "d23345cd-65fa-4908-9542-c66fe51c33d5", + "uuid": "a8a0a1b1-cc94-4400-ad58-c49c7dc8b291", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-chronologies-{chronid}-test.js", - "file": "/test/v2.0-data-chronologies-{chronid}-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-sites-{siteid}-datasets-test.js", + "file": "/test/v2.0-data-sites-{siteid}-datasets-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"A Neotoma chronology object.\"", - "fullTitle": "tests for /v2.0/data/chronologies/{chronid} tests for get should respond 200 for \"A Neotoma chronology object.\"", + "title": "should respond 200 for \"An array of datasets.\"", + "fullTitle": "tests for /v2.0/data/sites/{siteid}/datasets tests for get should respond 200 for \"An array of datasets.\"", "timedOut": false, - "duration": 79, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 2, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/chronologies/500', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "e10c02a4-ca3a-432a-bd3d-63afcc19ff2d", - "parentUUID": "d23345cd-65fa-4908-9542-c66fe51c33d5", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/sites/500/datasets', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "e9276465-5a93-45ca-863c-083e7b1972fc", + "parentUUID": "a8a0a1b1-cc94-4400-ad58-c49c7dc8b291", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "e10c02a4-ca3a-432a-bd3d-63afcc19ff2d" + "passes": [], + "failures": [ + "e9276465-5a93-45ca-863c-083e7b1972fc" ], - "failures": [], "pending": [], "skipped": [], - "duration": 79, + "duration": 2, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -2955,88 +2550,53 @@ "_timeout": 900000 }, { - "uuid": "00aa662b-1058-4cfc-9c60-0bcef4d6f2b1", - "title": "Any path goes to the api documentation:", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/neotoma_test.js", - "file": "/test/neotoma_test.js", - "beforeHooks": [], - "afterHooks": [], - "tests": [ - { - "title": "`api-docs` redirects to the api documentation.", - "fullTitle": "Any path goes to the api documentation: `api-docs` redirects to the api documentation.", - "timedOut": false, - "duration": 4, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "pending": false, - "context": null, - "code": "api.get('v2')\n .set('Accept', 'application/json')\n .expect(302, done);", - "err": {}, - "uuid": "cc23e395-71f2-4615-87a5-89a3283d6a7a", - "parentUUID": "00aa662b-1058-4cfc-9c60-0bcef4d6f2b1", - "isHook": false, - "skipped": false - } - ], - "suites": [], - "passes": [ - "cc23e395-71f2-4615-87a5-89a3283d6a7a" - ], - "failures": [], - "pending": [], - "skipped": [], - "duration": 4, - "root": false, - "rootEmpty": false, - "_timeout": 900000 - }, - { - "uuid": "e283cefc-80d5-4a8b-977b-138e046dc688", - "title": "tests for /v2.0/data/sites/{siteid}", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-sites-{siteid}-test.js", - "file": "/test/v2.0-data-sites-{siteid}-test.js", + "uuid": "d7bd1df9-0d58-4b7f-b965-03d529cdda12", + "title": "tests for /v2.0/apps/depenvt", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-apps-depenvt-test.js", + "file": "/test/v2.0-apps-depenvt-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "f5d4c37f-84ed-4a1a-80b3-f990b21a4ec6", + "uuid": "65d0dec4-8604-4e3b-ac46-f29d2aaaa275", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-sites-{siteid}-test.js", - "file": "/test/v2.0-data-sites-{siteid}-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-apps-depenvt-test.js", + "file": "/test/v2.0-apps-depenvt-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"An array of sites.\"", - "fullTitle": "tests for /v2.0/data/sites/{siteid} tests for get should respond 200 for \"An array of sites.\"", + "title": "should respond 200 for \"This returns the information about depositional environment for selected dataset/collection unit/site.\"", + "fullTitle": "tests for /v2.0/apps/depenvt tests for get should respond 200 for \"This returns the information about depositional environment for selected dataset/collection unit/site.\"", "timedOut": false, - "duration": 5, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 2, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/sites/500', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "7a0fbc79-4b92-403e-9d31-ae8ad2b700e3", - "parentUUID": "f5d4c37f-84ed-4a1a-80b3-f990b21a4ec6", + "code": "var response = request('get', 'http://localhost:3001/v2.0/apps/depenvt', { \n 'qs': {\"siteid\":8324,\"datasetid\":46455564,\"collectionunitid\":17362},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "b1344db6-d7f7-4718-b33a-b07f3747d563", + "parentUUID": "65d0dec4-8604-4e3b-ac46-f29d2aaaa275", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "7a0fbc79-4b92-403e-9d31-ae8ad2b700e3" + "passes": [], + "failures": [ + "b1344db6-d7f7-4718-b33a-b07f3747d563" ], - "failures": [], "pending": [], "skipped": [], - "duration": 5, + "duration": 2, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -3052,49 +2612,53 @@ "_timeout": 900000 }, { - "uuid": "cbcb24a8-4e15-4588-abfc-7d27480a4b35", - "title": "tests for /v2.0/data/dbtables", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-dbtables-test.js", - "file": "/test/v2.0-data-dbtables-test.js", + "uuid": "b4981be0-7299-410d-a729-12ca746f8bb6", + "title": "tests for /v2.0/data/summary/dsdbmonth", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-summary-dsdbmonth-test.js", + "file": "/test/v2.0-data-summary-dsdbmonth-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "c35e4f1b-54b1-4a34-8ce1-ae59489bdb92", + "uuid": "e2c9d462-b621-4470-a53d-22af57f2150e", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-dbtables-test.js", - "file": "/test/v2.0-data-dbtables-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-summary-dsdbmonth-test.js", + "file": "/test/v2.0-data-summary-dsdbmonth-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"Returned table.\"", - "fullTitle": "tests for /v2.0/data/dbtables tests for get should respond 200 for \"Returned table.\"", + "title": "should respond 200 for \"A count of the datasets added by database for the requested period.\"", + "fullTitle": "tests for /v2.0/data/summary/dsdbmonth tests for get should respond 200 for \"A count of the datasets added by database for the requested period.\"", "timedOut": false, - "duration": 71, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/dbtables', { \n 'qs': {\"table\":\"culpa qui aliqua\",\"count\":false,\"limit\": 10,\"offset\": 0},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "18c75360-f81d-40df-add3-894df06404db", - "parentUUID": "c35e4f1b-54b1-4a34-8ce1-ae59489bdb92", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/summary/dsdbmonth', { \n 'qs': {\"start\": 1,\"end\": 10},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "a13845fd-6938-4bd1-b0e1-152deeac047b", + "parentUUID": "e2c9d462-b621-4470-a53d-22af57f2150e", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "18c75360-f81d-40df-add3-894df06404db" + "passes": [], + "failures": [ + "a13845fd-6938-4bd1-b0e1-152deeac047b" ], - "failures": [], "pending": [], "skipped": [], - "duration": 71, + "duration": 1, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -3110,49 +2674,53 @@ "_timeout": 900000 }, { - "uuid": "1d66983c-def0-493a-ae63-28440062debd", - "title": "tests for /v2.0/data/sites/{siteid}/datasets_elc", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-sites-{siteid}-datasets_elc-test.js", - "file": "/test/v2.0-data-sites-{siteid}-datasets_elc-test.js", + "uuid": "da7e75aa-e051-4e81-b340-a6da72190e33", + "title": "tests for /v2.0/data/spatial/faunal", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-spatial-faunal-test.js", + "file": "/test/v2.0-data-spatial-faunal-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "22ffdf52-f46b-4053-b37d-0067a995ce4e", + "uuid": "21c02146-f088-45fe-a086-a97120ddc065", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-sites-{siteid}-datasets_elc-test.js", - "file": "/test/v2.0-data-sites-{siteid}-datasets_elc-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-spatial-faunal-test.js", + "file": "/test/v2.0-data-spatial-faunal-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"An array of datasets.\"", - "fullTitle": "tests for /v2.0/data/sites/{siteid}/datasets_elc tests for get should respond 200 for \"An array of datasets.\"", + "title": "should respond 200 for \"An object containing all matched species names, identifiers and a GeoJSON polygon representing the UNIONed ranges for the selected species. All data is derived from:
* Mammal Diversity Database. (2020). Mammal Diversity Database (Version 1.2) [Data set]. Zenodo. DOI: [10.5281/zenodo.4139818](https://doi.org/10.5281/zenodo.4139818).
* Map of Life. (2021). Mammal range maps harmonised to the Mammals Diversity Database [Data set]. Map of Life. [10.48600/MOL-48VZ-P413](https://doi.org/10.48600/MOL-48VZ-P413) \"", + "fullTitle": "tests for /v2.0/data/spatial/faunal tests for get should respond 200 for \"An object containing all matched species names, identifiers and a GeoJSON polygon representing the UNIONed ranges for the selected species. All data is derived from:
* Mammal Diversity Database. (2020). Mammal Diversity Database (Version 1.2) [Data set]. Zenodo. DOI: [10.5281/zenodo.4139818](https://doi.org/10.5281/zenodo.4139818).
* Map of Life. (2021). Mammal range maps harmonised to the Mammals Diversity Database [Data set]. Map of Life. [10.48600/MOL-48VZ-P413](https://doi.org/10.48600/MOL-48VZ-P413) \"", "timedOut": false, - "duration": 2417, - "state": "passed", - "speed": "slow", - "pass": true, - "fail": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/sites/500/datasets_elc', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "1d419c2a-8134-42d9-b1d2-3015bbfcb043", - "parentUUID": "22ffdf52-f46b-4053-b37d-0067a995ce4e", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/spatial/faunal', { \n 'qs': {\"sciname\":\"est labore dolore veniam\",\"proj\": 4326,\"prec\": 1000},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "dba55fba-1dbb-4acf-9886-e9380f8eb893", + "parentUUID": "21c02146-f088-45fe-a086-a97120ddc065", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "1d419c2a-8134-42d9-b1d2-3015bbfcb043" + "passes": [], + "failures": [ + "dba55fba-1dbb-4acf-9886-e9380f8eb893" ], - "failures": [], "pending": [], "skipped": [], - "duration": 2417, + "duration": 1, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -3168,49 +2736,53 @@ "_timeout": 900000 }, { - "uuid": "5c2a80b5-5677-4b1c-aad1-d8965d729b45", - "title": "tests for /v1.5/data/datasets/{datasetid}", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v1.5-data-datasets-{datasetid}-test.js", - "file": "/test/v1.5-data-datasets-{datasetid}-test.js", + "uuid": "4818f360-4019-48cc-a1ca-07b0e48a6bf6", + "title": "tests for /v1.5/data/downloads/{datasetid}", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v1.5-data-downloads-{datasetid}-test.js", + "file": "/test/v1.5-data-downloads-{datasetid}-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "f0d79586-95ef-4851-a023-f8f7a8a6d7e1", + "uuid": "aa660909-2e42-492e-a4f7-7ad3de5ebbc6", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v1.5-data-datasets-{datasetid}-test.js", - "file": "/test/v1.5-data-datasets-{datasetid}-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v1.5-data-downloads-{datasetid}-test.js", + "file": "/test/v1.5-data-downloads-{datasetid}-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"An array of datasets.\"", - "fullTitle": "tests for /v1.5/data/datasets/{datasetid} tests for get should respond 200 for \"An array of datasets.\"", + "title": "should respond 200 for \"Returned download object.\"", + "fullTitle": "tests for /v1.5/data/downloads/{datasetid} tests for get should respond 200 for \"Returned download object.\"", "timedOut": false, - "duration": 1485, - "state": "passed", - "speed": "slow", - "pass": true, - "fail": false, + "duration": 2, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v1.5/data/datasets/500', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "c6466063-c685-40c3-b538-070c42ca91b7", - "parentUUID": "f0d79586-95ef-4851-a023-f8f7a8a6d7e1", + "code": "var response = request('get', 'http://localhost:3001/v1.5/data/downloads/500', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "1286b7e7-f71c-44a9-9486-fe52ea3605bc", + "parentUUID": "aa660909-2e42-492e-a4f7-7ad3de5ebbc6", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "c6466063-c685-40c3-b538-070c42ca91b7" + "passes": [], + "failures": [ + "1286b7e7-f71c-44a9-9486-fe52ea3605bc" ], - "failures": [], "pending": [], "skipped": [], - "duration": 1485, + "duration": 2, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -3226,49 +2798,53 @@ "_timeout": 900000 }, { - "uuid": "dc2e707c-892b-4c5f-9d8e-82b0133467f8", - "title": "tests for /v2.0/data/speleothems/{collectionunitid}", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-speleothems-{collectionunitid}-test.js", - "file": "/test/v2.0-data-speleothems-{collectionunitid}-test.js", + "uuid": "c92e5a33-4f2a-4dec-8c92-10f7d81617c5", + "title": "tests for /v2.0/apps/constdb/datasetages", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-apps-constdb-datasetages-test.js", + "file": "/test/v2.0-apps-constdb-datasetages-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "bca15e83-d64b-47c6-9276-071c6b0fbd72", + "uuid": "77a39925-c7c1-4597-b5b4-41895aa6cd9d", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-speleothems-{collectionunitid}-test.js", - "file": "/test/v2.0-data-speleothems-{collectionunitid}-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-apps-constdb-datasetages-test.js", + "file": "/test/v2.0-apps-constdb-datasetages-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"Metadata associated with speleothems submitted through SISAL.\"", - "fullTitle": "tests for /v2.0/data/speleothems/{collectionunitid} tests for get should respond 200 for \"Metadata associated with speleothems submitted through SISAL.\"", + "title": "should respond 200 for \"Returns an ordered array (from earliest to latest) of upload counts by month (YYYY/MM/DD; all days as 01). Months with no uploads are excluded. \"", + "fullTitle": "tests for /v2.0/apps/constdb/datasetages tests for get should respond 200 for \"Returns an ordered array (from earliest to latest) of upload counts by month (YYYY/MM/DD; all days as 01). Months with no uploads are excluded. \"", "timedOut": false, - "duration": 76, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/speleothems/7950', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "643fd5f9-5f22-4cdc-bbd7-f7cb70b05db4", - "parentUUID": "bca15e83-d64b-47c6-9276-071c6b0fbd72", + "code": "var response = request('get', 'http://localhost:3001/v2.0/apps/constdb/datasetages', { \n 'qs': {\"dbid\":2},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "1ddad6b0-f444-4169-bd9c-12d3cfddfdb6", + "parentUUID": "77a39925-c7c1-4597-b5b4-41895aa6cd9d", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "643fd5f9-5f22-4cdc-bbd7-f7cb70b05db4" + "passes": [], + "failures": [ + "1ddad6b0-f444-4169-bd9c-12d3cfddfdb6" ], - "failures": [], "pending": [], "skipped": [], - "duration": 76, + "duration": 1, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -3284,49 +2860,53 @@ "_timeout": 900000 }, { - "uuid": "199b26ad-46d0-49cb-baea-e6b91c64c5d8", - "title": "tests for /v2.0/data/datasets/{datasetid}/publications", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-datasets-{datasetid}-publications-test.js", - "file": "/test/v2.0-data-datasets-{datasetid}-publications-test.js", + "uuid": "20b279f6-1494-4417-b901-5b018c3a26e8", + "title": "tests for /v2.0/data/frozen/{datasetid}", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-frozen-{datasetid}-test.js", + "file": "/test/v2.0-data-frozen-{datasetid}-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "82029f80-3a41-47b0-bdc6-80caa3fe27f9", + "uuid": "199d399e-91d8-4b55-9b6f-d1dad55d44c6", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-datasets-{datasetid}-publications-test.js", - "file": "/test/v2.0-data-datasets-{datasetid}-publications-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-frozen-{datasetid}-test.js", + "file": "/test/v2.0-data-frozen-{datasetid}-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"Publication\"", - "fullTitle": "tests for /v2.0/data/datasets/{datasetid}/publications tests for get should respond 200 for \"Publication\"", + "title": "should respond 200 for \"Returned download object.\"", + "fullTitle": "tests for /v2.0/data/frozen/{datasetid} tests for get should respond 200 for \"Returned download object.\"", "timedOut": false, - "duration": 79, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/datasets/500/publications', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "b0da2658-2082-4b8f-ade1-6ad75c0a7a4a", - "parentUUID": "82029f80-3a41-47b0-bdc6-80caa3fe27f9", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/frozen/500', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "91ac7954-0f8b-468d-8a4b-766cea329769", + "parentUUID": "199d399e-91d8-4b55-9b6f-d1dad55d44c6", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "b0da2658-2082-4b8f-ade1-6ad75c0a7a4a" + "passes": [], + "failures": [ + "91ac7954-0f8b-468d-8a4b-766cea329769" ], - "failures": [], "pending": [], "skipped": [], - "duration": 79, + "duration": 1, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -3342,49 +2922,53 @@ "_timeout": 900000 }, { - "uuid": "c9e33b08-c497-4231-94e8-d35e6d3ab3b4", - "title": "tests for /v2.0/data/contacts", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-contacts-test.js", - "file": "/test/v2.0-data-contacts-test.js", + "uuid": "96988778-e369-45ec-88a0-17983c5c9a0c", + "title": "tests for /v2.0/data/contacts/{contactid}/sites", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-contacts-{contactid}-sites-test.js", + "file": "/test/v2.0-data-contacts-{contactid}-sites-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "f281310b-5fbb-4f19-95f9-cc5a05b4708d", + "uuid": "b139c00b-2c5a-407a-951a-651a114b1964", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-contacts-test.js", - "file": "/test/v2.0-data-contacts-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-contacts-{contactid}-sites-test.js", + "file": "/test/v2.0-data-contacts-{contactid}-sites-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"contact\"", - "fullTitle": "tests for /v2.0/data/contacts tests for get should respond 200 for \"contact\"", + "title": "should respond 200 for \"A Neotoma sites object.\"", + "fullTitle": "tests for /v2.0/data/contacts/{contactid}/sites tests for get should respond 200 for \"A Neotoma sites object.\"", "timedOut": false, - "duration": 73, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 2, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/contacts', { \n 'qs': {\"contactid\":8421,\"familyname\":\"UcoCW\",\"contactname\":\"FDc\",\"contactstatus\":\"active\",\"limit\": 10,\"offset\": 0},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "5c65f9c4-cfa1-44b1-b49c-d4bf55584be5", - "parentUUID": "f281310b-5fbb-4f19-95f9-cc5a05b4708d", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/contacts/634/sites', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "a51852e1-cba9-4dd3-ad92-604b98ac29fa", + "parentUUID": "b139c00b-2c5a-407a-951a-651a114b1964", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "5c65f9c4-cfa1-44b1-b49c-d4bf55584be5" + "passes": [], + "failures": [ + "a51852e1-cba9-4dd3-ad92-604b98ac29fa" ], - "failures": [], "pending": [], "skipped": [], - "duration": 73, + "duration": 2, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -3400,49 +2984,53 @@ "_timeout": 900000 }, { - "uuid": "fde645f7-8128-4d7f-bf1d-ce689fe66d72", - "title": "tests for /v1.5/data/occurrence/{occurrenceid}", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v1.5-data-occurrence-{occurrenceid}-test.js", - "file": "/test/v1.5-data-occurrence-{occurrenceid}-test.js", + "uuid": "0a3b32df-f80d-44a6-a2d4-ad037c722cbf", + "title": "tests for /v2.0/data/taxa", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-taxa-test.js", + "file": "/test/v2.0-data-taxa-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "2fe32e2d-c095-4f5e-9dbb-7f0c1a064a76", + "uuid": "1cc014ea-5d79-4ff6-8986-0c8ada816a75", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v1.5-data-occurrence-{occurrenceid}-test.js", - "file": "/test/v1.5-data-occurrence-{occurrenceid}-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-taxa-test.js", + "file": "/test/v2.0-data-taxa-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"A single occurrence object.\"", - "fullTitle": "tests for /v1.5/data/occurrence/{occurrenceid} tests for get should respond 200 for \"A single occurrence object.\"", + "title": "should respond 200 for \"A taxon or array of taxa.\"", + "fullTitle": "tests for /v2.0/data/taxa tests for get should respond 200 for \"A taxon or array of taxa.\"", "timedOut": false, - "duration": 75, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 2, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v1.5/data/occurrence/500', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "04803b4c-7ad5-4226-87f5-41e4c1db25f3", - "parentUUID": "2fe32e2d-c095-4f5e-9dbb-7f0c1a064a76", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/taxa', { \n 'qs': {\"taxonname\":\"sed tempor fugiat Lorem cupidatat\",\"taxagroup\":\"pariatur amet\",\"ecolgroup\":\"dolore\",\"status\":true,\"limit\": 10,\"offset\": 0},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "6a2dc1d9-816f-4028-aec5-28b1a8bafa50", + "parentUUID": "1cc014ea-5d79-4ff6-8986-0c8ada816a75", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "04803b4c-7ad5-4226-87f5-41e4c1db25f3" + "passes": [], + "failures": [ + "6a2dc1d9-816f-4028-aec5-28b1a8bafa50" ], - "failures": [], "pending": [], "skipped": [], - "duration": 75, + "duration": 2, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -3458,49 +3046,53 @@ "_timeout": 900000 }, { - "uuid": "c3d4c58f-49c7-48f3-a7cc-0b82585ee88c", - "title": "tests for /v2.0/data/datasets/{datasetid}/contacts", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-datasets-{datasetid}-contacts-test.js", - "file": "/test/v2.0-data-datasets-{datasetid}-contacts-test.js", + "uuid": "b1081211-7e2f-4670-aa41-9c4eabbbea88", + "title": "tests for /v2.0/data/dbtables/{table}", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-dbtables-{table}-test.js", + "file": "/test/v2.0-data-dbtables-{table}-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "3d78797f-19df-4dc5-ba40-eb3be294d6e3", + "uuid": "15e51e36-9954-4f69-be11-b9b0e242a99d", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-datasets-{datasetid}-contacts-test.js", - "file": "/test/v2.0-data-datasets-{datasetid}-contacts-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-dbtables-{table}-test.js", + "file": "/test/v2.0-data-dbtables-{table}-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"contact\"", - "fullTitle": "tests for /v2.0/data/datasets/{datasetid}/contacts tests for get should respond 200 for \"contact\"", + "title": "should respond 200 for \"Returned table.\"", + "fullTitle": "tests for /v2.0/data/dbtables/{table} tests for get should respond 200 for \"Returned table.\"", "timedOut": false, - "duration": 68, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 2, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/datasets/500/contacts', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "3afff4cb-2e42-433e-a195-b69e288243ff", - "parentUUID": "3d78797f-19df-4dc5-ba40-eb3be294d6e3", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/dbtables/enim', { \n 'qs': {\"count\":true,\"limit\": 10,\"offset\": 0},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "848b92bf-bfe8-4439-9f28-9ee49dc10081", + "parentUUID": "15e51e36-9954-4f69-be11-b9b0e242a99d", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "3afff4cb-2e42-433e-a195-b69e288243ff" + "passes": [], + "failures": [ + "848b92bf-bfe8-4439-9f28-9ee49dc10081" ], - "failures": [], "pending": [], "skipped": [], - "duration": 68, + "duration": 2, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -3516,49 +3108,53 @@ "_timeout": 900000 }, { - "uuid": "f479c317-1aea-408d-bc76-2ab1f6f7598b", - "title": "tests for /v2.0/data/sites/{siteid}/datasets", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-sites-{siteid}-datasets-test.js", - "file": "/test/v2.0-data-sites-{siteid}-datasets-test.js", + "uuid": "1a41a6ac-046f-4469-b75b-8675e6c4304e", + "title": "tests for /v2.0/data/pollen", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-pollen-test.js", + "file": "/test/v2.0-data-pollen-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "c8c14c48-1e21-44e8-867b-898d81c901c0", + "uuid": "22c4a812-1da3-4e11-ab1f-16101f8a6786", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-sites-{siteid}-datasets-test.js", - "file": "/test/v2.0-data-sites-{siteid}-datasets-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-pollen-test.js", + "file": "/test/v2.0-data-pollen-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"An array of datasets.\"", - "fullTitle": "tests for /v2.0/data/sites/{siteid}/datasets tests for get should respond 200 for \"An array of datasets.\"", + "title": "should respond 200 for \"A record of all pollen samples in time/space for a particular taxon.\"", + "fullTitle": "tests for /v2.0/data/pollen tests for get should respond 200 for \"A record of all pollen samples in time/space for a particular taxon.\"", "timedOut": false, - "duration": 3, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 2, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/sites/500/datasets', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "1b55fcf0-a53e-4af6-9329-bfbe5c3b22bb", - "parentUUID": "c8c14c48-1e21-44e8-867b-898d81c901c0", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/pollen', { \n 'qs': {\"taxonname\":\"veniam dolore ut\",\"taxonid\":36159,\"siteid\":46086,\"sitename\":\"cillum aliqua culpa ea aute\",\"datasettype\":\"dinoflagellates\",\"altmin\": 10,\"altmax\": 100,\"loc\":\"{\\\"type\\\":\\\"Polygon\\\",\\\"crs\\\":{\\\"type\\\":\\\"name\\\",\\\"properties\\\":{\\\"name\\\":\\\"EPSG:4326\\\"}},\\\"coordinates\\\":[[[13.4,55.92],[13.5,55.92],[13.5,55.95],[13.4,55.95],[13.4,55.92]]]}\",\"ageof\":12724721,\"ageyoung\": 1000,\"ageold\": 10000,\"limit\": 10,\"offset\": 0},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "ed634821-7b14-4573-af7c-10cbc7597ec5", + "parentUUID": "22c4a812-1da3-4e11-ab1f-16101f8a6786", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "1b55fcf0-a53e-4af6-9329-bfbe5c3b22bb" + "passes": [], + "failures": [ + "ed634821-7b14-4573-af7c-10cbc7597ec5" ], - "failures": [], "pending": [], "skipped": [], - "duration": 3, + "duration": 2, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -3574,49 +3170,53 @@ "_timeout": 900000 }, { - "uuid": "6af481b7-54c1-4af9-89b1-d0039c873d9f", - "title": "tests for /v2.0/apps/constdb", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-apps-constdb-test.js", - "file": "/test/v2.0-apps-constdb-test.js", + "uuid": "2406a35c-f7e7-42f8-afd7-1459afaf5e76", + "title": "tests for /v2.0/data/datasets", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-datasets-test.js", + "file": "/test/v2.0-data-datasets-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "28081e74-ca87-44a8-ab4d-cbb2c4ec10a9", + "uuid": "74b6a6d6-1ccf-4f11-9cbd-a5ccbf50fa15", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-apps-constdb-test.js", - "file": "/test/v2.0-apps-constdb-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-datasets-test.js", + "file": "/test/v2.0-data-datasets-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"Returns metadata about each [constituent database](https://www.neotomadb.org/data/constituent-databases) in Neotoma, including Summary Information about dataset types within the database and the age spans of the records in the database. Constituent databases \"", - "fullTitle": "tests for /v2.0/apps/constdb tests for get should respond 200 for \"Returns metadata about each [constituent database](https://www.neotomadb.org/data/constituent-databases) in Neotoma, including Summary Information about dataset types within the database and the age spans of the records in the database. Constituent databases \"", + "title": "should respond 200 for \"An array of datasets.\"", + "fullTitle": "tests for /v2.0/data/datasets tests for get should respond 200 for \"An array of datasets.\"", "timedOut": false, - "duration": 34396, - "state": "passed", - "speed": "slow", - "pass": true, - "fail": false, + "duration": 2, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/apps/constdb', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "6085c591-a0b7-4469-b020-630f778ffce5", - "parentUUID": "28081e74-ca87-44a8-ab4d-cbb2c4ec10a9", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/datasets', { \n 'qs': {\"sitename\":\"aute\",\"database\":\"Canadian Pollen Database\",\"datasettype\":\"biomarker\",\"altmin\": 10,\"altmax\": 100,\"loc\":\"{\\\"type\\\":\\\"Polygon\\\",\\\"crs\\\":{\\\"type\\\":\\\"name\\\",\\\"properties\\\":{\\\"name\\\":\\\"EPSG:4326\\\"}},\\\"coordinates\\\":[[[13.4,55.92],[13.5,55.92],[13.5,55.95],[13.4,55.95],[13.4,55.92]]]}\",\"siteid\":37640,\"datasetid\":25302476,\"doi\":\"10_15933/4\",\"gpid\":5392,\"keyword\":\"bottom\",\"contactid\":16837,\"taxa\":\"dolor labore Excepteur id quis\",\"ageyoung\": 1000,\"ageold\": 10000,\"ageof\":19353900,\"limit\": 10,\"offset\": 0},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "28d27091-c586-41df-95e4-25a07cfca0d5", + "parentUUID": "74b6a6d6-1ccf-4f11-9cbd-a5ccbf50fa15", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "6085c591-a0b7-4469-b020-630f778ffce5" + "passes": [], + "failures": [ + "28d27091-c586-41df-95e4-25a07cfca0d5" ], - "failures": [], "pending": [], "skipped": [], - "duration": 34396, + "duration": 2, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -3632,49 +3232,135 @@ "_timeout": 900000 }, { - "uuid": "65133529-86d6-497d-8d54-7f14f99f5de0", - "title": "tests for /v2.0/data/occurrences", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-occurrences-test.js", - "file": "/test/v2.0-data-occurrences-test.js", + "uuid": "bb234a93-5a7e-49e1-a6d7-b705999c3e48", + "title": "Any path goes to the api documentation:", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/neotoma_test.js", + "file": "/test/neotoma_test.js", + "beforeHooks": [], + "afterHooks": [], + "tests": [ + { + "title": "`api-docs` redirects to the api documentation.", + "fullTitle": "Any path goes to the api documentation: `api-docs` redirects to the api documentation.", + "timedOut": false, + "duration": 2, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, + "pending": false, + "context": null, + "code": "api.get('v2')\n .set('Accept', 'application/json')\n .expect(302, done);", + "err": { + "message": "AggregateError [ECONNREFUSED]: ", + "estack": "AggregateError [ECONNREFUSED]: \n at internalConnectMultiple (node:net:1139:18)\n at afterConnectMultiple (node:net:1712:7)", + "diff": null + }, + "uuid": "15f2fb59-bf11-42a3-9497-3339d785ddac", + "parentUUID": "bb234a93-5a7e-49e1-a6d7-b705999c3e48", + "isHook": false, + "skipped": false + } + ], + "suites": [], + "passes": [], + "failures": [ + "15f2fb59-bf11-42a3-9497-3339d785ddac" + ], + "pending": [], + "skipped": [], + "duration": 2, + "root": false, + "rootEmpty": false, + "_timeout": 900000 + }, + { + "uuid": "b33cfb1a-ed92-4f29-ab26-c81b00125653", + "title": "Get chronology data by datasetid:", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/chronologies.js", + "file": "/test/chronologies.js", + "beforeHooks": [], + "afterHooks": [], + "tests": [ + { + "title": "A call to two datasets returns two datasets of data:", + "fullTitle": "Get chronology data by datasetid: A call to two datasets returns two datasets of data:", + "timedOut": false, + "duration": 0, + "state": "passed", + "speed": "fast", + "pass": true, + "fail": false, + "pending": false, + "context": null, + "code": "api.get('v2.0/data/datasets/684,1001/chronologies')\n .set('Accept', 'application/json')\n .expect(function(res) {\n return res.body['data'].length === 4;\n })\n .expect(200, done());", + "err": {}, + "uuid": "009c1745-9032-4b5f-87a8-fdc37e5b3f55", + "parentUUID": "b33cfb1a-ed92-4f29-ab26-c81b00125653", + "isHook": false, + "skipped": false + } + ], + "suites": [], + "passes": [ + "009c1745-9032-4b5f-87a8-fdc37e5b3f55" + ], + "failures": [], + "pending": [], + "skipped": [], + "duration": 0, + "root": false, + "rootEmpty": false, + "_timeout": 5000 + }, + { + "uuid": "a2944ee1-1b4a-44ab-8b04-97ed26bb7e66", + "title": "tests for /v2.0/data/spatial/icesheet", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-spatial-icesheet-test.js", + "file": "/test/v2.0-data-spatial-icesheet-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "c4947959-53d8-412f-b19a-2671e3fa9b2a", + "uuid": "3f5d6754-f967-4964-9ee0-4a32e096981f", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-occurrences-test.js", - "file": "/test/v2.0-data-occurrences-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-spatial-icesheet-test.js", + "file": "/test/v2.0-data-spatial-icesheet-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"occurrence\"", - "fullTitle": "tests for /v2.0/data/occurrences tests for get should respond 200 for \"occurrence\"", + "title": "should respond 200 for \"An object containing glacial extents for the selected time period (in **calibrated radiocarbon years**). \"", + "fullTitle": "tests for /v2.0/data/spatial/icesheet tests for get should respond 200 for \"An object containing glacial extents for the selected time period (in **calibrated radiocarbon years**). \"", "timedOut": false, - "duration": 91, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/occurrences', { \n 'qs': {\"taxonname\":\"do\",\"taxonid\":15630,\"siteid\":47495,\"sitename\":\"Excepteur quis exercitation in voluptate\",\"datasettype\":\"physical sedimentology\",\"altmin\": 10,\"altmax\": 100,\"loc\":\"{\\\"type\\\":\\\"Polygon\\\",\\\"crs\\\":{\\\"type\\\":\\\"name\\\",\\\"properties\\\":{\\\"name\\\":\\\"EPSG:4326\\\"}},\\\"coordinates\\\":[[[13.4,55.92],[13.5,55.92],[13.5,55.95],[13.4,55.95],[13.4,55.92]]]}\",\"ageof\":2824041,\"ageyoung\": 1000,\"ageold\": 10000,\"limit\": 10,\"offset\": 0},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "bb63ccee-95e5-412d-a74e-2e8fd39f6e7e", - "parentUUID": "c4947959-53d8-412f-b19a-2671e3fa9b2a", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/spatial/icesheet', { \n 'qs': {\"age\":5589,\"proj\": 4326,\"prec\": 1000},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "bcedab0b-881e-46e0-8ac5-0c855d07447e", + "parentUUID": "3f5d6754-f967-4964-9ee0-4a32e096981f", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "bb63ccee-95e5-412d-a74e-2e8fd39f6e7e" + "passes": [], + "failures": [ + "bcedab0b-881e-46e0-8ac5-0c855d07447e" ], - "failures": [], "pending": [], "skipped": [], - "duration": 91, + "duration": 1, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -3690,49 +3376,53 @@ "_timeout": 900000 }, { - "uuid": "aff86672-6400-4276-866d-5c48e464ebcb", - "title": "tests for /v2.0/data/downloads/{datasetid}", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-downloads-{datasetid}-test.js", - "file": "/test/v2.0-data-downloads-{datasetid}-test.js", + "uuid": "8a15b52c-3571-4109-8f06-7f861670e4c3", + "title": "tests for /v2.0/data/datasets/db", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-datasets-db-test.js", + "file": "/test/v2.0-data-datasets-db-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "77c1eff6-8979-4807-8c1b-a61ee9032d84", + "uuid": "14714e3f-24c4-4c30-84a2-406f518cc698", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-downloads-{datasetid}-test.js", - "file": "/test/v2.0-data-downloads-{datasetid}-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-datasets-db-test.js", + "file": "/test/v2.0-data-datasets-db-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"Returned download object.\"", - "fullTitle": "tests for /v2.0/data/downloads/{datasetid} tests for get should respond 200 for \"Returned download object.\"", + "title": "should respond 200 for \"Datasets\"", + "fullTitle": "tests for /v2.0/data/datasets/db tests for get should respond 200 for \"Datasets\"", "timedOut": false, - "duration": 3073, - "state": "passed", - "speed": "slow", - "pass": true, - "fail": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/downloads/500', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "4add68ec-2b25-4ad4-9efd-3576da8b500e", - "parentUUID": "77c1eff6-8979-4807-8c1b-a61ee9032d84", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/datasets/db', { \n 'qs': {\"limit\": 10,\"offset\": 0,\"database\":\"Canadian Museum of Nature-Delorme Ostracoda-Surface Samples\"},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "b79724c9-86bf-412b-a361-b5f8cdc66b60", + "parentUUID": "14714e3f-24c4-4c30-84a2-406f518cc698", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "4add68ec-2b25-4ad4-9efd-3576da8b500e" + "passes": [], + "failures": [ + "b79724c9-86bf-412b-a361-b5f8cdc66b60" ], - "failures": [], "pending": [], "skipped": [], - "duration": 3073, + "duration": 1, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -3748,49 +3438,53 @@ "_timeout": 900000 }, { - "uuid": "d8964bfe-2d86-4d3a-8927-3267edce891c", - "title": "tests for /v2.0/data/datasets_elc", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-datasets_elc-test.js", - "file": "/test/v2.0-data-datasets_elc-test.js", + "uuid": "46145df5-cd6c-4130-afb9-4d895097ce04", + "title": "tests for /v2.0/data/taxa/{taxonid}", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-taxa-{taxonid}-test.js", + "file": "/test/v2.0-data-taxa-{taxonid}-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "816d1d04-f64c-4fd3-9d20-ded3237c15c2", + "uuid": "ccb9e7a7-6673-4275-90bc-d8647cc3f536", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-datasets_elc-test.js", - "file": "/test/v2.0-data-datasets_elc-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-taxa-{taxonid}-test.js", + "file": "/test/v2.0-data-taxa-{taxonid}-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"A Neotoma datasets object suitable for the EarthLife Consortium API.\"", - "fullTitle": "tests for /v2.0/data/datasets_elc tests for get should respond 200 for \"A Neotoma datasets object suitable for the EarthLife Consortium API.\"", + "title": "should respond 200 for \"A taxon or array of taxa.\"", + "fullTitle": "tests for /v2.0/data/taxa/{taxonid} tests for get should respond 200 for \"A taxon or array of taxa.\"", "timedOut": false, - "duration": 91, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 2, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/datasets_elc', { \n 'qs': {\"siteid\":19427,\"contactid\":9808,\"datasettype\":\"ostracode surface sample\",\"altmin\": 10,\"altmax\": 100,\"loc\":\"{\\\"type\\\":\\\"Polygon\\\",\\\"crs\\\":{\\\"type\\\":\\\"name\\\",\\\"properties\\\":{\\\"name\\\":\\\"EPSG:4326\\\"}},\\\"coordinates\\\":[[[13.4,55.92],[13.5,55.92],[13.5,55.95],[13.4,55.95],[13.4,55.92]]]}\",\"ageyoung\": 1000,\"ageold\": 10000,\"ageof\":22042396},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "44a233b4-f35d-418d-b3c9-69581ff54b12", - "parentUUID": "816d1d04-f64c-4fd3-9d20-ded3237c15c2", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/taxa/500', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "0f2998d4-e7a4-4cfa-ad70-c77765b4573d", + "parentUUID": "ccb9e7a7-6673-4275-90bc-d8647cc3f536", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "44a233b4-f35d-418d-b3c9-69581ff54b12" + "passes": [], + "failures": [ + "0f2998d4-e7a4-4cfa-ad70-c77765b4573d" ], - "failures": [], "pending": [], "skipped": [], - "duration": 91, + "duration": 2, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -3806,107 +3500,250 @@ "_timeout": 900000 }, { - "uuid": "b7f8b440-bb0c-4019-987a-ce52466f586c", - "title": "tests for /v2.0/apps/keywords", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-apps-keywords-test.js", - "file": "/test/v2.0-apps-keywords-test.js", + "uuid": "f4b5d05f-840b-4825-8aaa-920c9cd75b8a", + "title": "tests for /v2.0/data/pollen/{id}", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-pollen-{id}-test.js", + "file": "/test/v2.0-data-pollen-{id}-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "9e02eb05-7071-46c6-ad3f-7018427a5a50", + "uuid": "d4b70366-6918-46a0-bd6a-650e03d9da19", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-apps-keywords-test.js", - "file": "/test/v2.0-apps-keywords-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-pollen-{id}-test.js", + "file": "/test/v2.0-data-pollen-{id}-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"A list of all keywords used for analysis units in the database.\"", - "fullTitle": "tests for /v2.0/apps/keywords tests for get should respond 200 for \"A list of all keywords used for analysis units in the database.\"", + "title": "should respond 200 for \"A record of all pollen samples in time/space for a particular taxon.\"", + "fullTitle": "tests for /v2.0/data/pollen/{id} tests for get should respond 200 for \"A record of all pollen samples in time/space for a particular taxon.\"", "timedOut": false, - "duration": 70, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 2, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/apps/keywords', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "763984e9-37cc-4f12-823f-b9e34bdf9703", - "parentUUID": "9e02eb05-7071-46c6-ad3f-7018427a5a50", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/pollen/1828', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "05e832a4-146b-47a0-b245-a6157244c4de", + "parentUUID": "d4b70366-6918-46a0-bd6a-650e03d9da19", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "763984e9-37cc-4f12-823f-b9e34bdf9703" + "passes": [], + "failures": [ + "05e832a4-146b-47a0-b245-a6157244c4de" ], - "failures": [], "pending": [], "skipped": [], - "duration": 70, + "duration": 2, "root": false, "rootEmpty": false, "_timeout": 900000 } ], "passes": [], - "failures": [], + "failures": [], + "pending": [], + "skipped": [], + "duration": 0, + "root": false, + "rootEmpty": false, + "_timeout": 900000 + }, + { + "uuid": "d2298a48-92cb-4bdd-8c00-3eece983db45", + "title": "Get site data any number of ways:", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/sites.js", + "file": "/test/sites.js", + "beforeHooks": [], + "afterHooks": [], + "tests": [ + { + "title": "Get site by singular id & return same id:", + "fullTitle": "Get site data any number of ways: Get site by singular id & return same id:", + "timedOut": false, + "duration": 2, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, + "pending": false, + "context": null, + "code": "api.get('v2.0/data/sites/12')\n .set('Accept', 'application/json')\n .end((err, res) => {\n if (err) return done(err);\n expect(res.body['data'][0]['siteid'] === 12 & Object.keys(res.body['data'][0]).length > 0);\n done();\n });", + "err": { + "message": "AggregateError [ECONNREFUSED]: ", + "estack": "AggregateError [ECONNREFUSED]: \n at internalConnectMultiple (node:net:1139:18)\n at afterConnectMultiple (node:net:1712:7)", + "diff": null + }, + "uuid": "1aa007cc-753b-4790-b11d-66881c5000ec", + "parentUUID": "d2298a48-92cb-4bdd-8c00-3eece983db45", + "isHook": false, + "skipped": false + }, + { + "title": "Get site by altitude:", + "fullTitle": "Get site data any number of ways: Get site by altitude:", + "timedOut": false, + "duration": 2, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, + "pending": false, + "context": null, + "code": "api.get('v2.0/data/sites/?altmax=5000&altmin=3000')\n .set('Accept', 'application/json')\n .end((err, res) => {\n if (err) return done(err);\n expect(Object.keys(res.body['data'][0]).length > 0);\n done();\n });", + "err": { + "message": "AggregateError [ECONNREFUSED]: ", + "estack": "AggregateError [ECONNREFUSED]: \n at internalConnectMultiple (node:net:1139:18)\n at afterConnectMultiple (node:net:1712:7)", + "diff": null + }, + "uuid": "3efbe4d5-4eb1-474f-864c-0b143d566dc4", + "parentUUID": "d2298a48-92cb-4bdd-8c00-3eece983db45", + "isHook": false, + "skipped": false + }, + { + "title": "Break sites by flipping altitudes:", + "fullTitle": "Get site data any number of ways: Break sites by flipping altitudes:", + "timedOut": false, + "duration": 2, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, + "pending": false, + "context": null, + "code": "api.get('v2.0/data/sites/?altmax=3000&altmin=5000')\n .set('Accept', 'application/json')\n .end((err, res) => {\n if (err) return done(err);\n expect(res.body.status === 'failure');\n done();\n });", + "err": { + "message": "AggregateError [ECONNREFUSED]: ", + "estack": "AggregateError [ECONNREFUSED]: \n at internalConnectMultiple (node:net:1139:18)\n at afterConnectMultiple (node:net:1712:7)", + "diff": null + }, + "uuid": "ea9c6fb9-724f-448e-aa89-70fe2ba4b790", + "parentUUID": "d2298a48-92cb-4bdd-8c00-3eece983db45", + "isHook": false, + "skipped": false + }, + { + "title": "Break sites by passing invalid siteid:", + "fullTitle": "Get site data any number of ways: Break sites by passing invalid siteid:", + "timedOut": false, + "duration": 2, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, + "pending": false, + "context": null, + "code": "api.get('v2.0/data/sites/abcd')\n .set('Accept', 'application/json')\n .end((err, res) => {\n if (err) return done(err);\n expect(500, done);\n done();\n });", + "err": { + "message": "AggregateError [ECONNREFUSED]: ", + "estack": "AggregateError [ECONNREFUSED]: \n at internalConnectMultiple (node:net:1139:18)\n at afterConnectMultiple (node:net:1712:7)", + "diff": null + }, + "uuid": "1972f3cb-6695-4a85-b2c6-d010024e917a", + "parentUUID": "d2298a48-92cb-4bdd-8c00-3eece983db45", + "isHook": false, + "skipped": false + }, + { + "title": "Get site by contact information for multiple authors:", + "fullTitle": "Get site data any number of ways: Get site by contact information for multiple authors:", + "timedOut": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, + "pending": false, + "context": null, + "code": "api.get('v2.0/data/contacts/12,13/sites')\n .set('Accept', 'application/json')\n .expect(function(res) {\n return Object.keys(res.body['data'][0]).length === 2;\n })\n .expect(200, done);", + "err": { + "message": "AggregateError [ECONNREFUSED]: ", + "estack": "AggregateError [ECONNREFUSED]: \n at internalConnectMultiple (node:net:1139:18)\n at afterConnectMultiple (node:net:1712:7)", + "diff": null + }, + "uuid": "0c9dd1b4-0e08-40e5-b9e7-e31b1c63c015", + "parentUUID": "d2298a48-92cb-4bdd-8c00-3eece983db45", + "isHook": false, + "skipped": false + } + ], + "suites": [], + "passes": [], + "failures": [ + "1aa007cc-753b-4790-b11d-66881c5000ec", + "3efbe4d5-4eb1-474f-864c-0b143d566dc4", + "ea9c6fb9-724f-448e-aa89-70fe2ba4b790", + "1972f3cb-6695-4a85-b2c6-d010024e917a", + "0c9dd1b4-0e08-40e5-b9e7-e31b1c63c015" + ], "pending": [], "skipped": [], - "duration": 0, + "duration": 9, "root": false, "rootEmpty": false, - "_timeout": 900000 + "_timeout": 5000 }, { - "uuid": "0f3fba26-a26c-467d-80d0-04adddedbd35", - "title": "tests for /v2.0/data/spatial/lakes", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-spatial-lakes-test.js", - "file": "/test/v2.0-data-spatial-lakes-test.js", + "uuid": "addec9df-d575-48b8-b40a-ecbf704fcf67", + "title": "tests for /v2.0/data/datasets_elc", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-datasets_elc-test.js", + "file": "/test/v2.0-data-datasets_elc-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "516f7139-779e-4a02-8e60-41ac8a4b50f3", + "uuid": "e3f88e9f-b605-4aca-99a3-dbb62f63e289", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-spatial-lakes-test.js", - "file": "/test/v2.0-data-spatial-lakes-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-datasets_elc-test.js", + "file": "/test/v2.0-data-datasets_elc-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"An object containing all matched lakes within some buffer distance of a site. Data derived from the [HydroLakes database](https://www.hydrosheds.org/products/hydrolakes):
* Messager, M.L., Lehner, B., Grill, G., Nedeva, I., Schmitt, O. (2016). Estimating the volume and age of water stored in global lakes using a geo-statistical approach. *Nature Communications*, 7: 13603. doi: [10.1038/ncomms13603](https://doi.org/10.1038/ncomms13603) \"", - "fullTitle": "tests for /v2.0/data/spatial/lakes tests for get should respond 200 for \"An object containing all matched lakes within some buffer distance of a site. Data derived from the [HydroLakes database](https://www.hydrosheds.org/products/hydrolakes):
* Messager, M.L., Lehner, B., Grill, G., Nedeva, I., Schmitt, O. (2016). Estimating the volume and age of water stored in global lakes using a geo-statistical approach. *Nature Communications*, 7: 13603. doi: [10.1038/ncomms13603](https://doi.org/10.1038/ncomms13603) \"", + "title": "should respond 200 for \"A Neotoma datasets object suitable for the EarthLife Consortium API.\"", + "fullTitle": "tests for /v2.0/data/datasets_elc tests for get should respond 200 for \"A Neotoma datasets object suitable for the EarthLife Consortium API.\"", "timedOut": false, - "duration": 78, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 2, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/spatial/lakes', { \n 'qs': {\"siteid\":14853,\"buffer\":3021,\"prec\": 1000,\"proj\": 4326},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "3e066e8c-d21e-4fd1-8dbe-469f0dfa9f96", - "parentUUID": "516f7139-779e-4a02-8e60-41ac8a4b50f3", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/datasets_elc', { \n 'qs': {\"siteid\":29644,\"contactid\":15710,\"datasettype\":\"Metabarcoding aeDNA\",\"altmin\": 10,\"altmax\": 100,\"loc\":\"{\\\"type\\\":\\\"Polygon\\\",\\\"crs\\\":{\\\"type\\\":\\\"name\\\",\\\"properties\\\":{\\\"name\\\":\\\"EPSG:4326\\\"}},\\\"coordinates\\\":[[[13.4,55.92],[13.5,55.92],[13.5,55.95],[13.4,55.95],[13.4,55.92]]]}\",\"ageyoung\": 1000,\"ageold\": 10000,\"ageof\":9015929},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "355c9263-425a-4bb6-b0ae-1444685739fb", + "parentUUID": "e3f88e9f-b605-4aca-99a3-dbb62f63e289", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "3e066e8c-d21e-4fd1-8dbe-469f0dfa9f96" + "passes": [], + "failures": [ + "355c9263-425a-4bb6-b0ae-1444685739fb" ], - "failures": [], "pending": [], "skipped": [], - "duration": 78, + "duration": 2, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -3922,49 +3759,53 @@ "_timeout": 900000 }, { - "uuid": "d99ef3a3-bd09-4bdb-ac02-a5b914c3c5dc", - "title": "tests for /v2.0/apps/datasettypes", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-apps-datasettypes-test.js", - "file": "/test/v2.0-apps-datasettypes-test.js", + "uuid": "6bb251fd-1b09-4d6b-89b6-ea6e90c4cb5c", + "title": "tests for /v2.0/apps/taphonomysystems", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-apps-taphonomysystems-test.js", + "file": "/test/v2.0-apps-taphonomysystems-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "bd63eabf-792f-4abc-87a4-6822620579d1", + "uuid": "7de89c84-37dd-4da8-a613-20de57a2ebdc", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-apps-datasettypes-test.js", - "file": "/test/v2.0-apps-datasettypes-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-apps-taphonomysystems-test.js", + "file": "/test/v2.0-apps-taphonomysystems-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { "title": "should respond 200 for \"A table of Neotoma collection types.\"", - "fullTitle": "tests for /v2.0/apps/datasettypes tests for get should respond 200 for \"A table of Neotoma collection types.\"", + "fullTitle": "tests for /v2.0/apps/taphonomysystems tests for get should respond 200 for \"A table of Neotoma collection types.\"", "timedOut": false, - "duration": 90, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/apps/datasettypes', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "9deeb431-8f37-4dd3-b8ed-a74082f9daf0", - "parentUUID": "bd63eabf-792f-4abc-87a4-6822620579d1", + "code": "var response = request('get', 'http://localhost:3001/v2.0/apps/taphonomysystems', { \n 'qs': {\"datasettypeid\":16},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "f1816c41-f3e3-477b-bf42-039945fe48ad", + "parentUUID": "7de89c84-37dd-4da8-a613-20de57a2ebdc", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "9deeb431-8f37-4dd3-b8ed-a74082f9daf0" + "passes": [], + "failures": [ + "f1816c41-f3e3-477b-bf42-039945fe48ad" ], - "failures": [], "pending": [], "skipped": [], - "duration": 90, + "duration": 1, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -3980,49 +3821,53 @@ "_timeout": 900000 }, { - "uuid": "23bd4d52-caa0-4925-bd0f-68473cbdca25", - "title": "tests for /v2.0/apps/collectiontypes", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-apps-collectiontypes-test.js", - "file": "/test/v2.0-apps-collectiontypes-test.js", + "uuid": "80d6a8cc-2c47-4860-b04f-db9a7cb4e91a", + "title": "tests for /v1.5/data/geopoliticalunits/{gpid}", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v1.5-data-geopoliticalunits-{gpid}-test.js", + "file": "/test/v1.5-data-geopoliticalunits-{gpid}-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "3aca58c6-b2a0-4272-aa59-2ea3a9769902", + "uuid": "bf378672-5516-41eb-8dd3-23ea23ca0ed2", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-apps-collectiontypes-test.js", - "file": "/test/v2.0-apps-collectiontypes-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v1.5-data-geopoliticalunits-{gpid}-test.js", + "file": "/test/v1.5-data-geopoliticalunits-{gpid}-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"A table of Neotoma collection types.\"", - "fullTitle": "tests for /v2.0/apps/collectiontypes tests for get should respond 200 for \"A table of Neotoma collection types.\"", + "title": "should respond 200 for \"An array of geopolitical units.\"", + "fullTitle": "tests for /v1.5/data/geopoliticalunits/{gpid} tests for get should respond 200 for \"An array of geopolitical units.\"", "timedOut": false, - "duration": 68, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/apps/collectiontypes', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "16ee98c4-dc0b-4d1c-a619-b4ea9e5efb13", - "parentUUID": "3aca58c6-b2a0-4272-aa59-2ea3a9769902", + "code": "var response = request('get', 'http://localhost:3001/v1.5/data/geopoliticalunits/3327', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "1b1fbd1a-6647-4efb-9585-d8f805a843bb", + "parentUUID": "bf378672-5516-41eb-8dd3-23ea23ca0ed2", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "16ee98c4-dc0b-4d1c-a619-b4ea9e5efb13" + "passes": [], + "failures": [ + "1b1fbd1a-6647-4efb-9585-d8f805a843bb" ], - "failures": [], "pending": [], "skipped": [], - "duration": 68, + "duration": 1, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -4038,49 +3883,53 @@ "_timeout": 900000 }, { - "uuid": "566af342-690e-4315-af0a-d86ee070c6f2", - "title": "tests for /v2.0/data/pollen", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-pollen-test.js", - "file": "/test/v2.0-data-pollen-test.js", + "uuid": "c44fd378-4541-4e79-aadd-06e48c0e63fd", + "title": "tests for /v2.0/data/sites/{siteid}/chronologies", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-sites-{siteid}-chronologies-test.js", + "file": "/test/v2.0-data-sites-{siteid}-chronologies-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "5c4ae7ab-c2fe-4d05-a2ea-f105d45b09d3", + "uuid": "36a5882f-2cc0-47f5-bdf0-2530c28d8358", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-pollen-test.js", - "file": "/test/v2.0-data-pollen-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-sites-{siteid}-chronologies-test.js", + "file": "/test/v2.0-data-sites-{siteid}-chronologies-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"A record of all pollen samples in time/space for a particular taxon.\"", - "fullTitle": "tests for /v2.0/data/pollen tests for get should respond 200 for \"A record of all pollen samples in time/space for a particular taxon.\"", + "title": "should respond 200 for \"chronology\"", + "fullTitle": "tests for /v2.0/data/sites/{siteid}/chronologies tests for get should respond 200 for \"chronology\"", "timedOut": false, - "duration": 5, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 2, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/pollen', { \n 'qs': {\"taxonname\":\"mollit ea exercitation\",\"taxonid\":26150,\"siteid\":43990,\"sitename\":\"sint cupidatat deserunt quis laboris\",\"datasettype\":\"X-ray diffraction (XRD)\",\"altmin\": 10,\"altmax\": 100,\"loc\":\"{\\\"type\\\":\\\"Polygon\\\",\\\"crs\\\":{\\\"type\\\":\\\"name\\\",\\\"properties\\\":{\\\"name\\\":\\\"EPSG:4326\\\"}},\\\"coordinates\\\":[[[13.4,55.92],[13.5,55.92],[13.5,55.95],[13.4,55.95],[13.4,55.92]]]}\",\"ageof\":17402500,\"ageyoung\": 1000,\"ageold\": 10000,\"limit\": 10,\"offset\": 0},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "03fa2d3f-8354-4e7f-a3b3-92dd231f2a50", - "parentUUID": "5c4ae7ab-c2fe-4d05-a2ea-f105d45b09d3", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/sites/500/chronologies', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "c9830177-dd61-402b-bf24-697fb99d2b04", + "parentUUID": "36a5882f-2cc0-47f5-bdf0-2530c28d8358", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "03fa2d3f-8354-4e7f-a3b3-92dd231f2a50" + "passes": [], + "failures": [ + "c9830177-dd61-402b-bf24-697fb99d2b04" ], - "failures": [], "pending": [], "skipped": [], - "duration": 5, + "duration": 2, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -4096,7 +3945,7 @@ "_timeout": 900000 }, { - "uuid": "af300879-3a62-450c-9916-82689077cd27", + "uuid": "3fa4a19d-1266-4794-8130-3b617eb9f789", "title": "Get datasets any number of ways:", "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/datasets.js", "file": "/test/datasets.js", @@ -4107,17 +3956,21 @@ "title": "Asking for the datasets associated with Lake Tulane work:", "fullTitle": "Get datasets any number of ways: Asking for the datasets associated with Lake Tulane work:", "timedOut": false, - "duration": 105, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, "code": "api.get('v2.0/data/sites/2570/datasets')\n .set('Accept', 'application/json')\n .expect(function(res) {\n return Object.keys(res.body['data'][0]).includes('site');\n })\n .expect(function(res) {\n return res.body['data'][0].site.siteid === 2570;\n })\n .expect(function(res) {\n return Object.keys(res.body['data'][0]['site']['datasets'][0]).includes('datasetid');\n })\n .expect(200, done);", - "err": {}, - "uuid": "2b940b76-1189-41ad-a5ee-7a8ba0974760", - "parentUUID": "af300879-3a62-450c-9916-82689077cd27", + "err": { + "message": "AggregateError [ECONNREFUSED]: ", + "estack": "AggregateError [ECONNREFUSED]: \n at internalConnectMultiple (node:net:1139:18)\n at afterConnectMultiple (node:net:1712:7)", + "diff": null + }, + "uuid": "12b58bfd-0083-47a3-b29f-addb8f64c5b4", + "parentUUID": "3fa4a19d-1266-4794-8130-3b617eb9f789", "isHook": false, "skipped": false }, @@ -4125,17 +3978,21 @@ "title": "Get dataset by singular id & return same id:", "fullTitle": "Get datasets any number of ways: Get dataset by singular id & return same id:", "timedOut": false, - "duration": 106, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 2, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, "code": "api.get('v2.0/data/datasets/12')\n .set('Accept', 'application/json')\n .expect(function(res) {\n return Object.keys(res.body['data'][0]).length > 0;\n })\n .expect(function(res) {\n return res.body['data'][0]['siteid'] === 12;\n })\n .expect(200, done);", - "err": {}, - "uuid": "7acf0946-698a-4b92-bee3-3ecc583a6921", - "parentUUID": "af300879-3a62-450c-9916-82689077cd27", + "err": { + "message": "AggregateError [ECONNREFUSED]: ", + "estack": "AggregateError [ECONNREFUSED]: \n at internalConnectMultiple (node:net:1139:18)\n at afterConnectMultiple (node:net:1712:7)", + "diff": null + }, + "uuid": "c5a4fd6a-280c-46a1-9124-4b3c1d6b53f3", + "parentUUID": "3fa4a19d-1266-4794-8130-3b617eb9f789", "isHook": false, "skipped": false }, @@ -4143,17 +4000,21 @@ "title": "Get dataset from siteid gives us siteids back and datasets:", "fullTitle": "Get datasets any number of ways: Get dataset from siteid gives us siteids back and datasets:", "timedOut": false, - "duration": 82, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 2, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, "code": "api.get('v2.0/data/sites/123/datasets')\n .set('Accept', 'application/json')\n .expect(function(res) {\n return res.body['data'][0].site.siteid === 123;\n })\n .expect(function(res) {\n return res.body['data'][0].site.datasets.length > 0;\n })\n .expect(200, done);", - "err": {}, - "uuid": "78662fc5-cc5b-41af-a261-ef92269e417f", - "parentUUID": "af300879-3a62-450c-9916-82689077cd27", + "err": { + "message": "AggregateError [ECONNREFUSED]: ", + "estack": "AggregateError [ECONNREFUSED]: \n at internalConnectMultiple (node:net:1139:18)\n at afterConnectMultiple (node:net:1712:7)", + "diff": null + }, + "uuid": "0f95931a-bce9-4c15-8e35-14358b7e5b2d", + "parentUUID": "3fa4a19d-1266-4794-8130-3b617eb9f789", "isHook": false, "skipped": false }, @@ -4161,17 +4022,21 @@ "title": "Get dataset by comma separated ids & return same ids:", "fullTitle": "Get datasets any number of ways: Get dataset by comma separated ids & return same ids:", "timedOut": false, - "duration": 100, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 2, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, "code": "api.get('v2.0/data/datasets/?siteid=12,13,14')\n .set('Accept', 'application/json')\n .expect(function(res) {\n return Object.keys(res.body['data']).length > 0;\n })\n .expect(200, done);", - "err": {}, - "uuid": "3dcc6024-5275-47b7-a57b-b765c9bbefa7", - "parentUUID": "af300879-3a62-450c-9916-82689077cd27", + "err": { + "message": "AggregateError [ECONNREFUSED]: ", + "estack": "AggregateError [ECONNREFUSED]: \n at internalConnectMultiple (node:net:1139:18)\n at afterConnectMultiple (node:net:1712:7)", + "diff": null + }, + "uuid": "34922ab4-7b9b-4707-887d-9d628d4d54c5", + "parentUUID": "3fa4a19d-1266-4794-8130-3b617eb9f789", "isHook": false, "skipped": false }, @@ -4179,17 +4044,21 @@ "title": "Returns all key elements of the object:", "fullTitle": "Get datasets any number of ways: Returns all key elements of the object:", "timedOut": false, - "duration": 5, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, "code": "api.get('v2.0/data/datasets/12')\n .set('Accept', 'application/json')\n .expect(function(res) {\n return Object.keys(res.body['data']).includes('site', 'dataset');\n })\n .expect(200, done);", - "err": {}, - "uuid": "29a8df0b-faab-4c5c-9b5f-2337f580b654", - "parentUUID": "af300879-3a62-450c-9916-82689077cd27", + "err": { + "message": "AggregateError [ECONNREFUSED]: ", + "estack": "AggregateError [ECONNREFUSED]: \n at internalConnectMultiple (node:net:1139:18)\n at afterConnectMultiple (node:net:1712:7)", + "diff": null + }, + "uuid": "3b2a9209-8c81-4198-bb08-26de7d8e402e", + "parentUUID": "3fa4a19d-1266-4794-8130-3b617eb9f789", "isHook": false, "skipped": false }, @@ -4197,17 +4066,21 @@ "title": "Limits work:", "fullTitle": "Get datasets any number of ways: Limits work:", "timedOut": false, - "duration": 161, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 2, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, "code": "api.get('v2.0/data/datasets/?altmax=3&limit=10')\n .set('Accept', 'application/json')\n .expect(function(res) {\n return Object.keys(res.body['data']).length == 10;\n })\n .expect(200, done);", - "err": {}, - "uuid": "0159e5db-2e13-483d-aec2-80bb9b436605", - "parentUUID": "af300879-3a62-450c-9916-82689077cd27", + "err": { + "message": "AggregateError [ECONNREFUSED]: ", + "estack": "AggregateError [ECONNREFUSED]: \n at internalConnectMultiple (node:net:1139:18)\n at afterConnectMultiple (node:net:1712:7)", + "diff": null + }, + "uuid": "72e2d8b8-9f8e-4e6d-bc65-aa45f155064e", + "parentUUID": "3fa4a19d-1266-4794-8130-3b617eb9f789", "isHook": false, "skipped": false }, @@ -4224,78 +4097,420 @@ "context": null, "code": "", "err": {}, - "uuid": "aec7aa5b-4111-4004-8d43-10a3a73acf8f", - "parentUUID": "af300879-3a62-450c-9916-82689077cd27", + "uuid": "ab383ca2-424f-452c-ac1f-8a8457d2286a", + "parentUUID": "3fa4a19d-1266-4794-8130-3b617eb9f789", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "2b940b76-1189-41ad-a5ee-7a8ba0974760", - "7acf0946-698a-4b92-bee3-3ecc583a6921", - "78662fc5-cc5b-41af-a261-ef92269e417f", - "3dcc6024-5275-47b7-a57b-b765c9bbefa7", - "29a8df0b-faab-4c5c-9b5f-2337f580b654", - "0159e5db-2e13-483d-aec2-80bb9b436605" + "passes": [], + "failures": [ + "12b58bfd-0083-47a3-b29f-addb8f64c5b4", + "c5a4fd6a-280c-46a1-9124-4b3c1d6b53f3", + "0f95931a-bce9-4c15-8e35-14358b7e5b2d", + "34922ab4-7b9b-4707-887d-9d628d4d54c5", + "3b2a9209-8c81-4198-bb08-26de7d8e402e", + "72e2d8b8-9f8e-4e6d-bc65-aa45f155064e" ], - "failures": [], "pending": [ - "aec7aa5b-4111-4004-8d43-10a3a73acf8f" + "ab383ca2-424f-452c-ac1f-8a8457d2286a" ], "skipped": [], - "duration": 559, + "duration": 10, "root": false, "rootEmpty": false, "_timeout": 50000 }, { - "uuid": "cdf6b818-8ab9-449f-843b-cc2302fd209f", - "title": "tests for /v1.5/apps/collectionTypes", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v1.5-apps-collectionTypes-test.js", - "file": "/test/v1.5-apps-collectionTypes-test.js", + "uuid": "9cca5d90-aca8-4f2c-a666-066ffffef030", + "title": "tests for /v2.0/apps/authorpis", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-apps-authorpis-test.js", + "file": "/test/v2.0-apps-authorpis-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "fe8ae6d1-1563-457e-af7a-2c39c4f1dfba", + "uuid": "b725b3b3-8419-4fa0-8cc9-797e88340ca9", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v1.5-apps-collectionTypes-test.js", - "file": "/test/v1.5-apps-collectionTypes-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-apps-authorpis-test.js", + "file": "/test/v2.0-apps-authorpis-test.js", + "beforeHooks": [], + "afterHooks": [], + "tests": [ + { + "title": "should respond 200 for \"A table of Neotoma collection types.\"", + "fullTitle": "tests for /v2.0/apps/authorpis tests for get should respond 200 for \"A table of Neotoma collection types.\"", + "timedOut": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, + "pending": false, + "context": null, + "code": "var response = request('get', 'http://localhost:3001/v2.0/apps/authorpis', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "208805a6-7c79-4dfa-aff1-0b4d1fb378b5", + "parentUUID": "b725b3b3-8419-4fa0-8cc9-797e88340ca9", + "isHook": false, + "skipped": false + } + ], + "suites": [], + "passes": [], + "failures": [ + "208805a6-7c79-4dfa-aff1-0b4d1fb378b5" + ], + "pending": [], + "skipped": [], + "duration": 1, + "root": false, + "rootEmpty": false, + "_timeout": 900000 + } + ], + "passes": [], + "failures": [], + "pending": [], + "skipped": [], + "duration": 0, + "root": false, + "rootEmpty": false, + "_timeout": 900000 + }, + { + "uuid": "6cacc167-5f02-4b31-8e21-12b9dd805cbb", + "title": "Tests for Explorer App Services", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/explorerCalls.js", + "file": "/test/explorerCalls.js", + "beforeHooks": [], + "afterHooks": [], + "tests": [], + "suites": [ + { + "uuid": "ef74299d-e32b-4617-90d2-88ef718b6da1", + "title": "tests for get", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/explorerCalls.js", + "file": "/test/explorerCalls.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"Returns the set of collectiontypes recorded in Neotoma.\"", - "fullTitle": "tests for /v1.5/apps/collectionTypes tests for get should respond 200 for \"Returns the set of collectiontypes recorded in Neotoma.\"", + "title": "should respond 200 for TaxaGroupTypes", + "fullTitle": "Tests for Explorer App Services tests for get should respond 200 for TaxaGroupTypes", + "timedOut": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, + "pending": false, + "context": null, + "code": "const response = request('get', appServicesLocation + '/TaxaGroupTypes', {\n time: true,\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "9f3ad7da-ce4c-4f0d-a60f-ad3012d6f07a", + "parentUUID": "ef74299d-e32b-4617-90d2-88ef718b6da1", + "isHook": false, + "skipped": false + }, + { + "title": "should respond 200 for TaphonomyTypes", + "fullTitle": "Tests for Explorer App Services tests for get should respond 200 for TaphonomyTypes", + "timedOut": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, + "pending": false, + "context": null, + "code": "const response = request('get', appServicesLocation + '/TaphonomyTypes', {\n qs: {\n taphonomicSystemId: 1,\n },\n time: true,\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "c63e8ab6-cfb0-4464-b21b-d51f441677d9", + "parentUUID": "ef74299d-e32b-4617-90d2-88ef718b6da1", + "isHook": false, + "skipped": false + }, + { + "title": "should respond 200 for TaphonomySystems", + "fullTitle": "Tests for Explorer App Services tests for get should respond 200 for TaphonomySystems", + "timedOut": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, + "pending": false, + "context": null, + "code": "const response = request('get', appServicesLocation + '/TaphonomySystems', {\n qs: {\n datasetTypeId: 1,\n },\n time: true,\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "0912d0fa-adc4-4728-adf7-95f8e79871ed", + "parentUUID": "ef74299d-e32b-4617-90d2-88ef718b6da1", + "isHook": false, + "skipped": false + }, + { + "title": "should respond 200 for ElementTypes", + "fullTitle": "Tests for Explorer App Services tests for get should respond 200 for ElementTypes", + "timedOut": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, + "pending": false, + "context": null, + "code": "const response = request('get', appServicesLocation + '/ElementTypes', {\n qs: {\n taxagroupid: 1,\n },\n time: true,\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "23ebbb09-0318-4f31-8955-2bc886cbd58b", + "parentUUID": "ef74299d-e32b-4617-90d2-88ef718b6da1", + "isHook": false, + "skipped": false + }, + { + "title": "should respond 200 for TaxaInDatasets (a slow service)", + "fullTitle": "Tests for Explorer App Services tests for get should respond 200 for TaxaInDatasets (a slow service)", + "timedOut": false, + "duration": 2, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, + "pending": false, + "context": null, + "code": "const response = request('get', appServicesLocation + '/TaxaInDatasets', {\n time: true,\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "2a83ee12-0371-4571-baad-41dbc6639187", + "parentUUID": "ef74299d-e32b-4617-90d2-88ef718b6da1", + "isHook": false, + "skipped": false + }, + { + "title": "should respond 200 for collectionTypes", + "fullTitle": "Tests for Explorer App Services tests for get should respond 200 for collectionTypes", + "timedOut": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, + "pending": false, + "context": null, + "code": "const response = request('get', appServicesLocation + '/collectionTypes', {\n time: true,\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "d4bebf37-5867-4cd6-afb8-09007421c7f1", + "parentUUID": "ef74299d-e32b-4617-90d2-88ef718b6da1", + "isHook": false, + "skipped": false + }, + { + "title": "should respond 200 for keywords", + "fullTitle": "Tests for Explorer App Services tests for get should respond 200 for keywords", "timedOut": false, - "duration": 71, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 2, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v1.5/apps/collectionTypes', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "28fcfcf6-1a5b-40a0-bfa7-a33e51ec13bd", - "parentUUID": "fe8ae6d1-1563-457e-af7a-2c39c4f1dfba", + "code": "const response = request('get', appServicesLocation + '/keywords', {\n time: true,\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "d4258c86-fbdf-4b2c-af4b-d6764ecead8a", + "parentUUID": "ef74299d-e32b-4617-90d2-88ef718b6da1", + "isHook": false, + "skipped": false + }, + { + "title": "should respond 200 for authorpis", + "fullTitle": "Tests for Explorer App Services tests for get should respond 200 for authorpis", + "timedOut": false, + "duration": 2, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, + "pending": false, + "context": null, + "code": "const response = request('get', appServicesLocation + '/authorpis', {\n time: true,\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "b058669d-7c04-4fda-b610-ec388a3513b8", + "parentUUID": "ef74299d-e32b-4617-90d2-88ef718b6da1", + "isHook": false, + "skipped": false + }, + { + "title": "should respond 200 for DepositionalEnvironments", + "fullTitle": "Tests for Explorer App Services tests for get should respond 200 for DepositionalEnvironments", + "timedOut": false, + "duration": 2, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, + "pending": false, + "context": null, + "code": "const response = request('get', appServicesLocation + '/DepositionalEnvironments', {\n qs: {idProperty: 1},\n time: true,\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "f5cb6842-1d22-48bb-a3fd-dc80a7324c7f", + "parentUUID": "ef74299d-e32b-4617-90d2-88ef718b6da1", + "isHook": false, + "skipped": false + }, + { + "title": "should respond 200 for Search", + "fullTitle": "Tests for Explorer App Services tests for get should respond 200 for Search", + "timedOut": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, + "pending": false, + "context": null, + "code": "const response = request('post', appServicesLocation + '/Search', {\n qs: {search: '{\"datasetTypeId\":21}',\n time: true},\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "4676b4f5-f245-4f50-aac0-79f24e1915dc", + "parentUUID": "ef74299d-e32b-4617-90d2-88ef718b6da1", + "isHook": false, + "skipped": false + }, + { + "title": "should respond 200 for DatasetTypes", + "fullTitle": "Tests for Explorer App Services tests for get should respond 200 for DatasetTypes", + "timedOut": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, + "pending": false, + "context": null, + "code": "const response = request('get', appServicesLocation + '/DatasetTypes', {\n time: true,\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "94f9d8f0-015f-4da3-8b06-3f82346fcdd1", + "parentUUID": "ef74299d-e32b-4617-90d2-88ef718b6da1", + "isHook": false, + "skipped": false + }, + { + "title": "should respond 200 for RelativeAges", + "fullTitle": "Tests for Explorer App Services tests for get should respond 200 for RelativeAges", + "timedOut": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, + "pending": false, + "context": null, + "code": "const response = request('get', appServicesLocation + '/RelativeAges', {\n qs: {agescaleid: 1},\n time: true,\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "105caa9f-3f3f-42e2-90d0-e1c995847d4e", + "parentUUID": "ef74299d-e32b-4617-90d2-88ef718b6da1", + "isHook": false, + "skipped": false + }, + { + "title": "should respond 200 for Geochronologies", + "fullTitle": "Tests for Explorer App Services tests for get should respond 200 for Geochronologies", + "timedOut": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, + "pending": false, + "context": null, + "code": "const response = request('get', appServicesLocation + '/Geochronologies', {\n qs: {datasetId: 1001},\n time: true,\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "58cf2171-303a-43f3-861a-148b6a1fd6da", + "parentUUID": "ef74299d-e32b-4617-90d2-88ef718b6da1", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "28fcfcf6-1a5b-40a0-bfa7-a33e51ec13bd" + "passes": [], + "failures": [ + "9f3ad7da-ce4c-4f0d-a60f-ad3012d6f07a", + "c63e8ab6-cfb0-4464-b21b-d51f441677d9", + "0912d0fa-adc4-4728-adf7-95f8e79871ed", + "23ebbb09-0318-4f31-8955-2bc886cbd58b", + "2a83ee12-0371-4571-baad-41dbc6639187", + "d4bebf37-5867-4cd6-afb8-09007421c7f1", + "d4258c86-fbdf-4b2c-af4b-d6764ecead8a", + "b058669d-7c04-4fda-b610-ec388a3513b8", + "f5cb6842-1d22-48bb-a3fd-dc80a7324c7f", + "4676b4f5-f245-4f50-aac0-79f24e1915dc", + "94f9d8f0-015f-4da3-8b06-3f82346fcdd1", + "105caa9f-3f3f-42e2-90d0-e1c995847d4e", + "58cf2171-303a-43f3-861a-148b6a1fd6da" ], - "failures": [], "pending": [], "skipped": [], - "duration": 71, + "duration": 17, "root": false, "rootEmpty": false, - "_timeout": 900000 + "_timeout": 12000 } ], "passes": [], @@ -4305,52 +4520,56 @@ "duration": 0, "root": false, "rootEmpty": false, - "_timeout": 900000 + "_timeout": 12000 }, { - "uuid": "e6fe2e1d-c132-4c00-a349-9e18f1a57467", - "title": "tests for /v1.5/data/geopoliticalunits", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v1.5-data-geopoliticalunits-test.js", - "file": "/test/v1.5-data-geopoliticalunits-test.js", + "uuid": "8bc363b5-cdc2-4a41-9461-69e1cfe0e45a", + "title": "tests for /v2.0/data/taxa/{taxonid}/occurrences", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-taxa-{taxonid}-occurrences-test.js", + "file": "/test/v2.0-data-taxa-{taxonid}-occurrences-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "c54c3bdc-ed47-41b1-b50b-a1150c441593", + "uuid": "87476388-0d6d-40a5-b6af-490215e046db", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v1.5-data-geopoliticalunits-test.js", - "file": "/test/v1.5-data-geopoliticalunits-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-taxa-{taxonid}-occurrences-test.js", + "file": "/test/v2.0-data-taxa-{taxonid}-occurrences-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"An array of geopolitical units.\"", - "fullTitle": "tests for /v1.5/data/geopoliticalunits tests for get should respond 200 for \"An array of geopolitical units.\"", + "title": "should respond 200 for \"occurrence\"", + "fullTitle": "tests for /v2.0/data/taxa/{taxonid}/occurrences tests for get should respond 200 for \"occurrence\"", "timedOut": false, - "duration": 98, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v1.5/data/geopoliticalunits', { \n 'qs': {\"gpid\":5392,\"gpname\":\"Canada\",\"rank\":1,\"lower\":true},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "f07b0957-0f5d-44eb-b2cb-7e4986df263c", - "parentUUID": "c54c3bdc-ed47-41b1-b50b-a1150c441593", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/taxa/6066/occurrences', { \n 'qs': {\"limit\": 10,\"offset\": 0},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "c4472143-0a0c-4377-8e81-c77f5390370c", + "parentUUID": "87476388-0d6d-40a5-b6af-490215e046db", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "f07b0957-0f5d-44eb-b2cb-7e4986df263c" + "passes": [], + "failures": [ + "c4472143-0a0c-4377-8e81-c77f5390370c" ], - "failures": [], "pending": [], "skipped": [], - "duration": 98, + "duration": 1, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -4366,49 +4585,53 @@ "_timeout": 900000 }, { - "uuid": "04cac368-4ffc-42a8-b029-b53c5ed96b0e", - "title": "tests for /v2.0/data/frozen/{datasetid}", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-frozen-{datasetid}-test.js", - "file": "/test/v2.0-data-frozen-{datasetid}-test.js", + "uuid": "2fc4ba72-b0cf-45e3-8732-a34a357aa3c8", + "title": "tests for /v2.0/data/dbtables", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-dbtables-test.js", + "file": "/test/v2.0-data-dbtables-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "3a19fee6-0f7f-47cc-8268-be7a3895e6dd", + "uuid": "9dae001f-c919-4605-94cb-3246bf2f6d21", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-frozen-{datasetid}-test.js", - "file": "/test/v2.0-data-frozen-{datasetid}-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-dbtables-test.js", + "file": "/test/v2.0-data-dbtables-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"Returned download object.\"", - "fullTitle": "tests for /v2.0/data/frozen/{datasetid} tests for get should respond 200 for \"Returned download object.\"", + "title": "should respond 200 for \"Returned table.\"", + "fullTitle": "tests for /v2.0/data/dbtables tests for get should respond 200 for \"Returned table.\"", "timedOut": false, - "duration": 210, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/frozen/500', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "2a57d982-de41-4bab-a731-b50a3b2179bc", - "parentUUID": "3a19fee6-0f7f-47cc-8268-be7a3895e6dd", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/dbtables', { \n 'qs': {\"table\":\"do\",\"count\":true,\"limit\": 10,\"offset\": 0},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "82fff36f-b251-4ce3-a666-d8425ea2bf9d", + "parentUUID": "9dae001f-c919-4605-94cb-3246bf2f6d21", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "2a57d982-de41-4bab-a731-b50a3b2179bc" + "passes": [], + "failures": [ + "82fff36f-b251-4ce3-a666-d8425ea2bf9d" ], - "failures": [], "pending": [], "skipped": [], - "duration": 210, + "duration": 1, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -4424,49 +4647,53 @@ "_timeout": 900000 }, { - "uuid": "943b75d2-c78b-4a03-bd9e-0dcc746612d9", - "title": "tests for /v2.0/apps/taphonomysystems", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-apps-taphonomysystems-test.js", - "file": "/test/v2.0-apps-taphonomysystems-test.js", + "uuid": "ee8f5445-4a46-4270-8c59-c71f817b6df0", + "title": "tests for /v2.0/data/publications", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-publications-test.js", + "file": "/test/v2.0-data-publications-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "4276fbd5-da92-4f2a-a8d8-307d141f4af6", + "uuid": "377c20bd-126e-4469-837c-a85fa85a3e9d", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-apps-taphonomysystems-test.js", - "file": "/test/v2.0-apps-taphonomysystems-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-publications-test.js", + "file": "/test/v2.0-data-publications-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"A table of Neotoma collection types.\"", - "fullTitle": "tests for /v2.0/apps/taphonomysystems tests for get should respond 200 for \"A table of Neotoma collection types.\"", + "title": "should respond 200 for \"A list of publications.\"", + "fullTitle": "tests for /v2.0/data/publications tests for get should respond 200 for \"A list of publications.\"", "timedOut": false, - "duration": 70, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/apps/taphonomysystems', { \n 'qs': {\"datasettypeid\":40},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "ef02c162-8af4-4e6b-8848-ed780c9bc852", - "parentUUID": "4276fbd5-da92-4f2a-a8d8-307d141f4af6", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/publications', { \n 'qs': {\"publicationid\":7921,\"datasetid\":34417823,\"siteid\":2115,\"familyname\":\"YqO\",\"pubtype\":\"Legacy\",\"year\":1721,\"search\":\"proident occaecat laborum\",\"limit\": 10,\"offset\": 0},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "ba2d62f6-fa6b-4078-b296-5aaae5c3dfcb", + "parentUUID": "377c20bd-126e-4469-837c-a85fa85a3e9d", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "ef02c162-8af4-4e6b-8848-ed780c9bc852" + "passes": [], + "failures": [ + "ba2d62f6-fa6b-4078-b296-5aaae5c3dfcb" ], - "failures": [], "pending": [], "skipped": [], - "duration": 70, + "duration": 1, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -4482,49 +4709,53 @@ "_timeout": 900000 }, { - "uuid": "0d2d9caa-0c96-4b8f-b3c3-a2666fda1874", - "title": "tests for /v1.5/data/contacts/{contactid}", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v1.5-data-contacts-{contactid}-test.js", - "file": "/test/v1.5-data-contacts-{contactid}-test.js", + "uuid": "10170595-d7c0-4fdd-9444-da11b9f1a95a", + "title": "tests for /v2.0/apps/taxagrouptypes", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-apps-taxagrouptypes-test.js", + "file": "/test/v2.0-apps-taxagrouptypes-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "25d864d9-29cc-4211-ad5f-16825c2eb8f5", + "uuid": "c583bc99-ac54-4844-9b7f-6190341b33e9", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v1.5-data-contacts-{contactid}-test.js", - "file": "/test/v1.5-data-contacts-{contactid}-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-apps-taxagrouptypes-test.js", + "file": "/test/v2.0-apps-taxagrouptypes-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"Contact\"", - "fullTitle": "tests for /v1.5/data/contacts/{contactid} tests for get should respond 200 for \"Contact\"", + "title": "should respond 200 for \"A table of Neotoma collection types.\"", + "fullTitle": "tests for /v2.0/apps/taxagrouptypes tests for get should respond 200 for \"A table of Neotoma collection types.\"", "timedOut": false, - "duration": 71, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v1.5/data/contacts/-45400452', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "08f364ce-6d06-4dff-9171-de4e16ee9c5b", - "parentUUID": "25d864d9-29cc-4211-ad5f-16825c2eb8f5", + "code": "var response = request('get', 'http://localhost:3001/v2.0/apps/taxagrouptypes', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "caf86ed6-5901-4863-909e-e2b48a385c5b", + "parentUUID": "c583bc99-ac54-4844-9b7f-6190341b33e9", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "08f364ce-6d06-4dff-9171-de4e16ee9c5b" + "passes": [], + "failures": [ + "caf86ed6-5901-4863-909e-e2b48a385c5b" ], - "failures": [], "pending": [], "skipped": [], - "duration": 71, + "duration": 1, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -4540,317 +4771,320 @@ "_timeout": 900000 }, { - "uuid": "912c6a25-c480-44d2-80b0-5a2d9335ca26", - "title": "Get site data any number of ways:", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/sites.js", - "file": "/test/sites.js", + "uuid": "693cf590-94d9-411a-b1ea-1579c624eb1c", + "title": "Get occurrence data any number of ways:", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/occurrence.js", + "file": "/test/occurrence.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "Get site by singular id & return same id:", - "fullTitle": "Get site data any number of ways: Get site by singular id & return same id:", + "title": "Get occurrence by singular id & return same id:", + "fullTitle": "Get occurrence data any number of ways: Get occurrence by singular id & return same id:", "timedOut": false, - "duration": 88, + "duration": 0, "state": "passed", "speed": "fast", "pass": true, "fail": false, "pending": false, "context": null, - "code": "api.get('v2.0/data/sites/12')\n .set('Accept', 'application/json')\n .end((err, res) => {\n if (err) return done(err);\n expect(res.body['data'][0]['siteid'] === 12 & Object.keys(res.body['data'][0]).length > 0);\n done();\n });", + "code": "api.get('v2.0/data/occurrences/12')\n .set('Accept', 'application/json')\n .expect(function(res) {\n return Object.keys(res.body['data'][0]).length > 0;\n })\n .expect(function(res) {\n return res.body['data'][0]['occurrence'] === 12;\n })\n .expect(200);\ndone();", "err": {}, - "uuid": "ed1d3937-79dc-420c-af9f-0e92ab056c13", - "parentUUID": "912c6a25-c480-44d2-80b0-5a2d9335ca26", + "uuid": "d001095f-1bbc-4b78-9b87-d2ad450b4b7e", + "parentUUID": "693cf590-94d9-411a-b1ea-1579c624eb1c", "isHook": false, "skipped": false }, { - "title": "Get site by altitude:", - "fullTitle": "Get site data any number of ways: Get site by altitude:", + "title": "Get the Flyover test call:", + "fullTitle": "Get occurrence data any number of ways: Get the Flyover test call:", "timedOut": false, - "duration": 704, + "duration": 0, "state": "passed", - "speed": "medium", + "speed": "fast", "pass": true, "fail": false, "pending": false, "context": null, - "code": "api.get('v2.0/data/sites/?altmax=5000&altmin=3000')\n .set('Accept', 'application/json')\n .end((err, res) => {\n if (err) return done(err);\n expect(Object.keys(res.body['data'][0]).length > 0);\n done();\n });", + "code": "api.get('v2.0/data/occurrences?taxonname=rhinocerotidae,megacerops,moeritherium,ceratogaulus,gomphotherium,deinotherium,condylarthra,paraceratherium,mesonychia,pantodonta,hyaenodon,thylacosmilus,glyptodon,castoroides,toxodon,megatherium,arctodus,smilodon,mammuthus,mammut,coelodonta,megaloceras,gigantopithecus,phlegethontia,temnospondyli,lepospondyli,ichthyosauria,sauropterygia,mosasauroidea,pterosauromorpha,titanoboa,megalania,placodus,tanystropheidae,hyperodapedon,stagonolepis,scutosaurus,pareiasauria,archelon,stupendemys,protostega,placodermi,leedsichthys,onychodontiformes,acanthostega,ichthyostega,crassigyrinus,ornithosuchus,erpetosuchidae,protosuchus,dakosaurus,geosaurus,deinosuchus&lower=true&limit=999999&loc=POLYGON((-122.56 39.94,-115.21 41.96,-107.99 43.42,-100.51 44.41,-92.85 44.91,-83.49 44.84,-74.25 44.02,-70.19 43.38,-69.36 42.75,-69.02 41.76,-69.13 41.07,-69.5 40.47,-70.07 40.06,-70.75 39.9,-78.36 40.86,-85.79 41.33,-93.27 41.3,-100.68 40.78,-105.86 40.12,-111.42 39.12,-116.79 37.86,-122.28 36.29,-122.98 36.35,-123.61 36.67,-124.06 37.21,-124.27 37.88,-124.21 38.58,-123.89 39.2,-123.35 39.65,-122.56 39.94))')\n .set('Accept', 'application/json')\n .expect(function(res) {\n return Object.keys(res.body['data'][0]).length > 0;\n })\n .expect(200);\ndone();", "err": {}, - "uuid": "364508ed-49b9-4d13-8035-62c83e793f78", - "parentUUID": "912c6a25-c480-44d2-80b0-5a2d9335ca26", + "uuid": "f8ffe092-f486-46f4-9683-b929d6d6beae", + "parentUUID": "693cf590-94d9-411a-b1ea-1579c624eb1c", "isHook": false, "skipped": false }, { - "title": "Break sites by flipping altitudes:", - "fullTitle": "Get site data any number of ways: Break sites by flipping altitudes:", + "title": "Failing Canis test works:", + "fullTitle": "Get occurrence data any number of ways: Failing Canis test works:", "timedOut": false, - "duration": 5, + "duration": 1, "state": "passed", "speed": "fast", "pass": true, "fail": false, "pending": false, "context": null, - "code": "api.get('v2.0/data/sites/?altmax=3000&altmin=5000')\n .set('Accept', 'application/json')\n .end((err, res) => {\n if (err) return done(err);\n expect(res.body.status === 'failure');\n done();\n });", + "code": "// This casuses timeout fails for some reason. It's frustrating.\napi.get('v2.0/data/occurrences?taxonname=Canis&lower=true&limit=999999')\n .set('Accept', 'application/json')\n .expect(function(res) {\n return Object.keys(res.body['data'][0]).length > 0;\n })\n .expect(200);\ndone();", "err": {}, - "uuid": "88b4049d-7304-4d75-bbd4-10b8ba489317", - "parentUUID": "912c6a25-c480-44d2-80b0-5a2d9335ca26", + "uuid": "f2c200a3-c397-4c22-81b6-0b772ff06551", + "parentUUID": "693cf590-94d9-411a-b1ea-1579c624eb1c", "isHook": false, "skipped": false }, { - "title": "Break sites by passing invalid siteid:", - "fullTitle": "Get site data any number of ways: Break sites by passing invalid siteid:", + "title": "Get occurrence by taxon:", + "fullTitle": "Get occurrence data any number of ways: Get occurrence by taxon:", "timedOut": false, - "duration": 71, + "duration": 0, "state": "passed", "speed": "fast", "pass": true, "fail": false, "pending": false, "context": null, - "code": "api.get('v2.0/data/sites/abcd')\n .set('Accept', 'application/json')\n .end((err, res) => {\n if (err) return done(err);\n expect(500, done);\n done();\n });", + "code": "api.get('v2.0/data/taxa/12/occurrences')\n .set('Accept', 'application/json')\n .expect(function(res) {\n return Object.keys(res.body['data'][0]).length > 0;\n })\n .expect(200);\ndone();", "err": {}, - "uuid": "c0e1dea9-4480-4743-960f-a673984ae12a", - "parentUUID": "912c6a25-c480-44d2-80b0-5a2d9335ca26", + "uuid": "06afed68-0012-44f2-8a9f-e2e525c0f588", + "parentUUID": "693cf590-94d9-411a-b1ea-1579c624eb1c", "isHook": false, "skipped": false }, { - "title": "Get site by contact information for multiple authors:", - "fullTitle": "Get site data any number of ways: Get site by contact information for multiple authors:", + "title": "Break occurrences by flipping altitudes:", + "fullTitle": "Get occurrence data any number of ways: Break occurrences by flipping altitudes:", "timedOut": false, - "duration": 115, + "duration": 0, "state": "passed", "speed": "fast", "pass": true, "fail": false, "pending": false, "context": null, - "code": "api.get('v2.0/data/contacts/12,13/sites')\n .set('Accept', 'application/json')\n .expect(function(res) {\n return Object.keys(res.body['data'][0]).length === 2;\n })\n .expect(200, done);", + "code": "api.get('v2.0/data/occurrences/?altmax=3000&altmin=5000')\n .set('Accept', 'application/json')\n .expect(500);\ndone();", "err": {}, - "uuid": "6da83a90-cf84-4d0c-9167-3a6ec6c72cca", - "parentUUID": "912c6a25-c480-44d2-80b0-5a2d9335ca26", + "uuid": "ba5f266f-507b-48d9-8171-927809894085", + "parentUUID": "693cf590-94d9-411a-b1ea-1579c624eb1c", "isHook": false, "skipped": false - } - ], - "suites": [], - "passes": [ - "ed1d3937-79dc-420c-af9f-0e92ab056c13", - "364508ed-49b9-4d13-8035-62c83e793f78", - "88b4049d-7304-4d75-bbd4-10b8ba489317", - "c0e1dea9-4480-4743-960f-a673984ae12a", - "6da83a90-cf84-4d0c-9167-3a6ec6c72cca" - ], - "failures": [], - "pending": [], - "skipped": [], - "duration": 983, - "root": false, - "rootEmpty": false, - "_timeout": 5000 - }, - { - "uuid": "5fbaad44-fe82-421e-9d7c-42d995430ad3", - "title": "Get publication data any number of ways:", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/publications.js", - "file": "/test/publications.js", - "beforeHooks": [], - "afterHooks": [], - "tests": [ + }, { - "title": "Get publication by singular id & return same id:", - "fullTitle": "Get publication data any number of ways: Get publication by singular id & return same id:", + "title": "Break occurrences by flipping ages:", + "fullTitle": "Get occurrence data any number of ways: Break occurrences by flipping ages:", "timedOut": false, - "duration": 93, + "duration": 0, "state": "passed", "speed": "fast", "pass": true, "fail": false, "pending": false, "context": null, - "code": "api.get('v2.0/data/publications/12')\n .set('Accept', 'application/json')\n .expect(function(res) {\n return res.body.data[0].publication.publicationid === 12;\n })\n .expect(200, done);", + "code": "api.get('v2.0/data/occurrences/?ageyoung=5000&ageold=3000')\n .set('Accept', 'application/json')\n .expect(500);\ndone();", "err": {}, - "uuid": "c03a0d40-a969-4bfb-8fc0-0a6257541e9e", - "parentUUID": "5fbaad44-fe82-421e-9d7c-42d995430ad3", + "uuid": "a04d5b2a-01b8-4bd1-92fe-21bbfa74e82f", + "parentUUID": "693cf590-94d9-411a-b1ea-1579c624eb1c", "isHook": false, "skipped": false }, { - "title": "Get publication by comma sepatarated ids:", - "fullTitle": "Get publication data any number of ways: Get publication by comma sepatarated ids:", + "title": "Occurrences filter by age:", + "fullTitle": "Get occurrence data any number of ways: Occurrences filter by age:", "timedOut": false, - "duration": 83, + "duration": 0, "state": "passed", "speed": "fast", "pass": true, "fail": false, "pending": false, "context": null, - "code": "api.get('v2.0/data/publications/12,13')\n .set('Accept', 'application/json')\n .expect(function(res) {\n return res.body.data.map((x) => x.publicationid) == [12, 13];\n })\n .expect(200, done);", + "code": "api.get('v2.0/data/occurrences/?ageyoung=3000&ageold=5000')\n .set('Accept', 'application/json')\n .expect(function(res) {\n })\n .expect(200);\ndone();", "err": {}, - "uuid": "418ea4bc-2290-42b7-8dc6-6d0ec0bab832", - "parentUUID": "5fbaad44-fe82-421e-9d7c-42d995430ad3", + "uuid": "87b9329a-14ab-4203-a3f1-8d9547b5f250", + "parentUUID": "693cf590-94d9-411a-b1ea-1579c624eb1c", "isHook": false, "skipped": false }, { - "title": "Get publication by querying author:", - "fullTitle": "Get publication data any number of ways: Get publication by querying author:", + "title": "Get occurrences with comma separated fields:", + "fullTitle": "Get occurrence data any number of ways: Get occurrences with comma separated fields:", "timedOut": false, - "duration": 200, + "duration": 0, "state": "passed", "speed": "fast", "pass": true, "fail": false, "pending": false, "context": null, - "code": "api.get('v2.0/data/publications?familyname=Grimm')\n .set('Accept', 'application/json')\n .expect(function(res) {\n return res.body.data.result.length > 0;\n })\n .expect(200, done);", + "code": "api.get('v2.0/data/occurrences/' +\n '?siteid=12,13,14,15&taxonname=Betula&limit=200')\n .set('Accept', 'application/json')\n .expect(function(res) {\n const allSite = res.body['data'];\n const siteids = [];\n for (let i = 0; i < allSite.length; i++) {\n siteids.push(allSite[i]['site']['siteid']);\n };\n const uniqueSites = Array.from(new Set(siteids)).sort(function(a, b) {\n return a - b;\n });\n return (uniqueSites.every((item) => [12, 13, 14, 15].includes(item)));\n })\n .expect(200);\ndone();", "err": {}, - "uuid": "41a5b361-0b42-403a-9a50-7b3473b44647", - "parentUUID": "5fbaad44-fe82-421e-9d7c-42d995430ad3", + "uuid": "82dbd9e9-2b11-4362-a4b5-bdc91717b95c", + "parentUUID": "693cf590-94d9-411a-b1ea-1579c624eb1c", "isHook": false, "skipped": false }, { - "title": "Get publications using pubs with missing links:", - "fullTitle": "Get publication data any number of ways: Get publications using pubs with missing links:", + "title": "Get occurrences with comma separated taxa:", + "fullTitle": "Get occurrence data any number of ways: Get occurrences with comma separated taxa:", "timedOut": false, - "duration": 76, + "duration": 0, "state": "passed", "speed": "fast", "pass": true, "fail": false, "pending": false, "context": null, - "code": "api.get('v2.0/data/publications?publicationid=12,14,1412,99999')\n .set('Accept', 'application/json')\n .expect(function(res) {\n return res.body.data.result.length > 0;\n })\n .expect(200, done);", + "code": "api.get('v2.0/data/occurrences/?taxonname=Picea,Abies&limit=25')\n .set('Accept', 'application/json')\n .expect(function(res) {\n return (res.body.data.length > 0);\n })\n .expect(200);\ndone();", "err": {}, - "uuid": "74923098-1e85-4aed-b86f-5d7be33791ea", - "parentUUID": "5fbaad44-fe82-421e-9d7c-42d995430ad3", + "uuid": "eb9940ca-58e5-4427-a361-87b2cf8e6821", + "parentUUID": "693cf590-94d9-411a-b1ea-1579c624eb1c", "isHook": false, "skipped": false }, { - "title": "Get publication by site id:", - "fullTitle": "Get publication data any number of ways: Get publication by site id:", + "title": "Get hierarchical occurrences with comma separated taxa:", + "fullTitle": "Get occurrence data any number of ways: Get hierarchical occurrences with comma separated taxa:", "timedOut": false, - "duration": 72, + "duration": 0, "state": "passed", "speed": "fast", "pass": true, "fail": false, "pending": false, "context": null, - "code": "api.get('v2.0/data/sites/12/publications')\n .set('Accept', 'application/json')\n .expect(function(res) {\n return res.body.data.length > 0;\n })\n .expect(200, done);", + "code": "api.get('v2.0/data/occurrences/?taxonname=Picea,Abies&limit=25&lower=true')\n .set('Accept', 'application/json')\n .expect(function(res) {\n return (res.body.data.length > 0);\n })\n .expect(200);\ndone();", "err": {}, - "uuid": "28064eca-1d0e-4bf1-8fca-70992479bdb7", - "parentUUID": "5fbaad44-fe82-421e-9d7c-42d995430ad3", + "uuid": "d6abe570-ab6c-4903-afeb-eb9dcb0340ef", + "parentUUID": "693cf590-94d9-411a-b1ea-1579c624eb1c", "isHook": false, "skipped": false }, { - "title": "Get publication by site id finds pubs for all sites:", - "fullTitle": "Get publication data any number of ways: Get publication by site id finds pubs for all sites:", + "title": "Get occurrences returns lower taxa:", + "fullTitle": "Get occurrence data any number of ways: Get occurrences returns lower taxa:", + "timedOut": false, + "duration": 0, + "state": "passed", + "speed": "fast", + "pass": true, + "fail": false, + "pending": false, + "context": null, + "code": "api.get('v2.0/data/occurrences/?taxonname=Myrica&lower=true&limit=200')\n .set('Accept', 'application/json')\n .expect(function(res) {\n const allTaxa = res.body['data'];\n const taxaids = [];\n for (let i = 0; i < allTaxa.length; i++) {\n taxaids.push(allTaxa[i]['sample']['taxonname']);\n };\n const uniqueTaxa = Array.from(new Set(taxaids)).sort();\n return uniqueTaxa.length > 1;\n })\n .expect(200);\ndone();", + "err": {}, + "uuid": "6a2ede1e-9491-4ce7-93a9-d9c079d81041", + "parentUUID": "693cf590-94d9-411a-b1ea-1579c624eb1c", + "isHook": false, + "skipped": false + }, + { + "title": "Get occurrences with mammals and lower taxa works:", + "fullTitle": "Get occurrence data any number of ways: Get occurrences with mammals and lower taxa works:", "timedOut": false, - "duration": 78, + "duration": 0, "state": "passed", "speed": "fast", "pass": true, "fail": false, "pending": false, "context": null, - "code": "api.get('v2.0/data/sites/12,13,14,15/publications')\n .set('Accept', 'application/json')\n .expect(function(res) {\n const flatten = (list) => list.reduce(\n (a, b) => a.concat(Array.isArray(b) ? flatten(b) : b), [],\n );\n const sites = [12, 13, 14, 15];\n const siteids = flatten(res.body.data.map((x) => x.siteid));\n return sites.every((x) => siteids.includes(x));\n })\n .expect(200, done);", + "code": "api.get('v2.0/data/occurrences/?taxonname=Homo&lower=true&limit=25')\n .set('Accept', 'application/json')\n .expect(function(res) {\n const allTaxa = res.body['data'];\n const taxaids = [];\n for (let i = 0; i < allTaxa.length; i++) {\n taxaids.push(allTaxa[i]['sample']['taxonname']);\n };\n const uniqueTaxa = Array.from(new Set(taxaids)).sort();\n return uniqueTaxa.length > 1 & allTaxa.length > 0;\n })\n .expect(200);\ndone();", "err": {}, - "uuid": "decc292e-b8c2-4ac9-80e8-94e4b1e7a774", - "parentUUID": "5fbaad44-fe82-421e-9d7c-42d995430ad3", + "uuid": "9cf4e598-e1a8-4daa-b6e0-f65670fb28be", + "parentUUID": "693cf590-94d9-411a-b1ea-1579c624eb1c", "isHook": false, "skipped": false }, { - "title": "Get publication by dataset id finds pubs for all datasets:", - "fullTitle": "Get publication data any number of ways: Get publication by dataset id finds pubs for all datasets:", + "title": "Get occurrences using taxon and age bounds:", + "fullTitle": "Get occurrence data any number of ways: Get occurrences using taxon and age bounds:", "timedOut": false, - "duration": 81, + "duration": 0, "state": "passed", "speed": "fast", "pass": true, "fail": false, "pending": false, "context": null, - "code": "api.get('v2.0/data/datasets/12,13,2201,6000/publications')\n .set('Accept', 'application/json')\n .expect(function(res) {\n const flatten = (list) => list.reduce(\n (a, b) => a.concat(Array.isArray(b) ? flatten(b) : b), [],\n );\n const datasets = [12, 6000, 13, 2201];\n const datasetids = flatten(res.body.data.map((x) => x.datasetid));\n return datasets.every((x) => datasetids.includes(x));\n })\n .expect(200, done);", + "code": "api.get('v2.0/data/occurrences/?ageyoung=2000&ageold=3000&taxonname=Pinus')\n .set('Accept', 'application/json')\n .expect(function(res) {\n return Object.keys(res.body['data'][0]).length > 0;\n })\n .expect(200);\ndone();", "err": {}, - "uuid": "3e583e23-d059-4ee1-8a08-eedd49c8de08", - "parentUUID": "5fbaad44-fe82-421e-9d7c-42d995430ad3", + "uuid": "64d5d55d-7074-40a3-9cad-0b77cc072934", + "parentUUID": "693cf590-94d9-411a-b1ea-1579c624eb1c", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "c03a0d40-a969-4bfb-8fc0-0a6257541e9e", - "418ea4bc-2290-42b7-8dc6-6d0ec0bab832", - "41a5b361-0b42-403a-9a50-7b3473b44647", - "74923098-1e85-4aed-b86f-5d7be33791ea", - "28064eca-1d0e-4bf1-8fca-70992479bdb7", - "decc292e-b8c2-4ac9-80e8-94e4b1e7a774", - "3e583e23-d059-4ee1-8a08-eedd49c8de08" + "d001095f-1bbc-4b78-9b87-d2ad450b4b7e", + "f8ffe092-f486-46f4-9683-b929d6d6beae", + "f2c200a3-c397-4c22-81b6-0b772ff06551", + "06afed68-0012-44f2-8a9f-e2e525c0f588", + "ba5f266f-507b-48d9-8171-927809894085", + "a04d5b2a-01b8-4bd1-92fe-21bbfa74e82f", + "87b9329a-14ab-4203-a3f1-8d9547b5f250", + "82dbd9e9-2b11-4362-a4b5-bdc91717b95c", + "eb9940ca-58e5-4427-a361-87b2cf8e6821", + "d6abe570-ab6c-4903-afeb-eb9dcb0340ef", + "6a2ede1e-9491-4ce7-93a9-d9c079d81041", + "9cf4e598-e1a8-4daa-b6e0-f65670fb28be", + "64d5d55d-7074-40a3-9cad-0b77cc072934" ], "failures": [], "pending": [], "skipped": [], - "duration": 683, + "duration": 1, "root": false, "rootEmpty": false, - "_timeout": 15000 + "_timeout": 30000 }, { - "uuid": "e7b6163e-b2be-477c-9a57-ee7c8aa40ef0", - "title": "tests for /v2.0/apps/constdb/datasets", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-apps-constdb-datasets-test.js", - "file": "/test/v2.0-apps-constdb-datasets-test.js", + "uuid": "5c96cdab-5cdf-4eeb-a091-7bdc9bcdf424", + "title": "tests for /v1.5/data/contacts/{contactid}", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v1.5-data-contacts-{contactid}-test.js", + "file": "/test/v1.5-data-contacts-{contactid}-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "d7f38d20-ea6d-4367-bc45-128623b12850", + "uuid": "078af4b6-d105-4a26-a8d3-0555c682b0ee", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-apps-constdb-datasets-test.js", - "file": "/test/v2.0-apps-constdb-datasets-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v1.5-data-contacts-{contactid}-test.js", + "file": "/test/v1.5-data-contacts-{contactid}-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"Returns the set of datasets contained within a constituent database, identified by the constituent database identifier. Used for quick landing page generation. \"", - "fullTitle": "tests for /v2.0/apps/constdb/datasets tests for get should respond 200 for \"Returns the set of datasets contained within a constituent database, identified by the constituent database identifier. Used for quick landing page generation. \"", + "title": "should respond 200 for \"Contact\"", + "fullTitle": "tests for /v1.5/data/contacts/{contactid} tests for get should respond 200 for \"Contact\"", "timedOut": false, - "duration": 228, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/apps/constdb/datasets', { \n 'qs': {\"dbid\":20},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "cd3b2802-4d43-49b5-a892-00400f65811b", - "parentUUID": "d7f38d20-ea6d-4367-bc45-128623b12850", + "code": "var response = request('get', 'http://localhost:3001/v1.5/data/contacts/500', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "4bbc574a-6066-4bce-a5c0-b33414501d0c", + "parentUUID": "078af4b6-d105-4a26-a8d3-0555c682b0ee", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "cd3b2802-4d43-49b5-a892-00400f65811b" + "passes": [], + "failures": [ + "4bbc574a-6066-4bce-a5c0-b33414501d0c" ], - "failures": [], "pending": [], "skipped": [], - "duration": 228, + "duration": 1, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -4866,221 +5100,482 @@ "_timeout": 900000 }, { - "uuid": "eb2209e1-dd83-4755-adb6-d8e42c7ebb4b", - "title": "Get contact data:", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/contacts.js", - "file": "/test/contacts.js", + "uuid": "f79fb471-4594-4e40-b406-3d21e83aefe7", + "title": "tests for /v2.0/data/contacts/{contactid}", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-contacts-{contactid}-test.js", + "file": "/test/v2.0-data-contacts-{contactid}-test.js", "beforeHooks": [], "afterHooks": [], - "tests": [ + "tests": [], + "suites": [ { - "title": "The default limit of 25 should be reached for contact data:", - "fullTitle": "Get contact data: The default limit of 25 should be reached for contact data:", - "timedOut": false, - "duration": 74, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "pending": false, - "context": null, - "code": "api.get('v2.0/data/contacts/?contactstatus=retired')\n .set('Accept', 'application/json')\n .end(function(err, res) {\n if (err) return done(err);\n assert.strictEqual(res.body.data.length, 25);\n done();\n });", - "err": {}, - "uuid": "1b8756ef-8ea5-4af2-b4fd-795b423cc324", - "parentUUID": "eb2209e1-dd83-4755-adb6-d8e42c7ebb4b", - "isHook": false, - "skipped": false - }, + "uuid": "6036448f-f4ad-4946-b4eb-810c561040c0", + "title": "tests for get", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-contacts-{contactid}-test.js", + "file": "/test/v2.0-data-contacts-{contactid}-test.js", + "beforeHooks": [], + "afterHooks": [], + "tests": [ + { + "title": "should respond 200 for \"A Neotoma contacts object.\"", + "fullTitle": "tests for /v2.0/data/contacts/{contactid} tests for get should respond 200 for \"A Neotoma contacts object.\"", + "timedOut": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, + "pending": false, + "context": null, + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/contacts/3927', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "a30f2c3d-b1d9-4910-a78c-b8fd6ae4ae51", + "parentUUID": "6036448f-f4ad-4946-b4eb-810c561040c0", + "isHook": false, + "skipped": false + } + ], + "suites": [], + "passes": [], + "failures": [ + "a30f2c3d-b1d9-4910-a78c-b8fd6ae4ae51" + ], + "pending": [], + "skipped": [], + "duration": 1, + "root": false, + "rootEmpty": false, + "_timeout": 900000 + } + ], + "passes": [], + "failures": [], + "pending": [], + "skipped": [], + "duration": 0, + "root": false, + "rootEmpty": false, + "_timeout": 900000 + }, + { + "uuid": "fcb78159-7ffb-4579-a8fe-d7f99a2ea685", + "title": "tests for /v2.0/data/aggregatedatasets/{aggdatasetid}", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-aggregatedatasets-{aggdatasetid}-test.js", + "file": "/test/v2.0-data-aggregatedatasets-{aggdatasetid}-test.js", + "beforeHooks": [], + "afterHooks": [], + "tests": [], + "suites": [ { - "title": "The example in the swagger should return an object:", - "fullTitle": "Get contact data: The example in the swagger should return an object:", + "uuid": "c76e1ace-2164-4641-9be9-bfcaddf4f9c8", + "title": "tests for get", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-aggregatedatasets-{aggdatasetid}-test.js", + "file": "/test/v2.0-data-aggregatedatasets-{aggdatasetid}-test.js", + "beforeHooks": [], + "afterHooks": [], + "tests": [ + { + "title": "should respond 200 for \"An array of datasets.\"", + "fullTitle": "tests for /v2.0/data/aggregatedatasets/{aggdatasetid} tests for get should respond 200 for \"An array of datasets.\"", + "timedOut": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, + "pending": false, + "context": null, + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/aggregatedatasets/500', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "8405d7b9-5d35-405e-ab03-3ad129bc6807", + "parentUUID": "c76e1ace-2164-4641-9be9-bfcaddf4f9c8", + "isHook": false, + "skipped": false + } + ], + "suites": [], + "passes": [], + "failures": [ + "8405d7b9-5d35-405e-ab03-3ad129bc6807" + ], + "pending": [], + "skipped": [], + "duration": 1, + "root": false, + "rootEmpty": false, + "_timeout": 900000 + } + ], + "passes": [], + "failures": [], + "pending": [], + "skipped": [], + "duration": 0, + "root": false, + "rootEmpty": false, + "_timeout": 900000 + }, + { + "uuid": "2fd462d7-0395-44fa-b59e-a9dc0b599c59", + "title": "tests for /v2.0/data/datasets/{datasetid}/chronologies", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-datasets-{datasetid}-chronologies-test.js", + "file": "/test/v2.0-data-datasets-{datasetid}-chronologies-test.js", + "beforeHooks": [], + "afterHooks": [], + "tests": [], + "suites": [ + { + "uuid": "7d47ce20-3d8a-42ba-a85d-90a82cd46aec", + "title": "tests for get", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-datasets-{datasetid}-chronologies-test.js", + "file": "/test/v2.0-data-datasets-{datasetid}-chronologies-test.js", + "beforeHooks": [], + "afterHooks": [], + "tests": [ + { + "title": "should respond 200 for \"chronology\"", + "fullTitle": "tests for /v2.0/data/datasets/{datasetid}/chronologies tests for get should respond 200 for \"chronology\"", + "timedOut": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, + "pending": false, + "context": null, + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/datasets/500/chronologies', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "b0ad9a57-b2fe-45e8-9434-45f2ecdb331a", + "parentUUID": "7d47ce20-3d8a-42ba-a85d-90a82cd46aec", + "isHook": false, + "skipped": false + } + ], + "suites": [], + "passes": [], + "failures": [ + "b0ad9a57-b2fe-45e8-9434-45f2ecdb331a" + ], + "pending": [], + "skipped": [], + "duration": 1, + "root": false, + "rootEmpty": false, + "_timeout": 900000 + } + ], + "passes": [], + "failures": [], + "pending": [], + "skipped": [], + "duration": 0, + "root": false, + "rootEmpty": false, + "_timeout": 900000 + }, + { + "uuid": "8894211c-5ecf-4ab6-8a9a-4e0af86bb334", + "title": "Get publication data any number of ways:", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/publications.js", + "file": "/test/publications.js", + "beforeHooks": [], + "afterHooks": [], + "tests": [ + { + "title": "Get publication by singular id & return same id:", + "fullTitle": "Get publication data any number of ways: Get publication by singular id & return same id:", "timedOut": false, - "duration": 91, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "api.get('v2.0/data/contacts?familyname=Grimm&contactstatus=active&limit=25')\n .set('Accept', 'application/json')\n .end(function(err, res) {\n if (err) return done(err);\n assert.strictEqual(res.body.data[0]['familyname'], 'Grimm');\n done();\n });", - "err": {}, - "uuid": "b6d40c91-2d45-4d34-937f-2a87bf98d413", - "parentUUID": "eb2209e1-dd83-4755-adb6-d8e42c7ebb4b", + "code": "api.get('v2.0/data/publications/12')\n .set('Accept', 'application/json')\n .expect(function(res) {\n return res.body.data[0].publication.publicationid === 12;\n })\n .expect(200, done);", + "err": { + "message": "AggregateError [ECONNREFUSED]: ", + "estack": "AggregateError [ECONNREFUSED]: \n at internalConnectMultiple (node:net:1139:18)\n at afterConnectMultiple (node:net:1712:7)", + "diff": null + }, + "uuid": "121d7d84-fd45-4509-837f-a457d0eee8de", + "parentUUID": "8894211c-5ecf-4ab6-8a9a-4e0af86bb334", "isHook": false, "skipped": false }, { - "title": "Contact queries should be case insensitive:", - "fullTitle": "Get contact data: Contact queries should be case insensitive:", + "title": "Get publication by comma sepatarated ids:", + "fullTitle": "Get publication data any number of ways: Get publication by comma sepatarated ids:", "timedOut": false, - "duration": 78, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "api.get('v2.0/data/contacts/?contactstatus=Retired')\n .set('Accept', 'application/json')\n .end(function(err, res) {\n if (err) return done(err);\n assert.strictEqual(res.body.data.length, 25);\n done();\n });", - "err": {}, - "uuid": "6bb3755d-43a1-452e-a34e-7e3fa041e79d", - "parentUUID": "eb2209e1-dd83-4755-adb6-d8e42c7ebb4b", + "code": "api.get('v2.0/data/publications/12,13')\n .set('Accept', 'application/json')\n .expect(function(res) {\n return res.body.data.map((x) => x.publicationid) == [12, 13];\n })\n .expect(200, done);", + "err": { + "message": "AggregateError [ECONNREFUSED]: ", + "estack": "AggregateError [ECONNREFUSED]: \n at internalConnectMultiple (node:net:1139:18)\n at afterConnectMultiple (node:net:1712:7)", + "diff": null + }, + "uuid": "3fafa0a1-df23-4001-9a6f-e0c82873b7f6", + "parentUUID": "8894211c-5ecf-4ab6-8a9a-4e0af86bb334", "isHook": false, "skipped": false }, { - "title": "Changing the limit should change the number of contacts retrieved:", - "fullTitle": "Get contact data: Changing the limit should change the number of contacts retrieved:", + "title": "Get publication by querying author:", + "fullTitle": "Get publication data any number of ways: Get publication by querying author:", "timedOut": false, - "duration": 82, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "api.get('v2.0/data/contacts/?status=retired&limit=30')\n .set('Accept', 'application/json')\n .end(function(err, res) {\n if (err) return done(err);\n assert.strictEqual(res.body.data.length, 30);\n done();\n });", - "err": {}, - "uuid": "f846dfd6-6fc7-4ea1-bff1-74bbffc0de7a", - "parentUUID": "eb2209e1-dd83-4755-adb6-d8e42c7ebb4b", + "code": "api.get('v2.0/data/publications?familyname=Grimm')\n .set('Accept', 'application/json')\n .expect(function(res) {\n return res.body.data.result.length > 0;\n })\n .expect(200, done);", + "err": { + "message": "AggregateError [ECONNREFUSED]: ", + "estack": "AggregateError [ECONNREFUSED]: \n at internalConnectMultiple (node:net:1139:18)\n at afterConnectMultiple (node:net:1712:7)", + "diff": null + }, + "uuid": "6b04a35b-9ed4-43a5-bc10-389889900e9e", + "parentUUID": "8894211c-5ecf-4ab6-8a9a-4e0af86bb334", "isHook": false, "skipped": false }, { - "title": "A single contact (12) should be returned.", - "fullTitle": "Get contact data: A single contact (12) should be returned.", + "title": "Get publications using pubs with missing links:", + "fullTitle": "Get publication data any number of ways: Get publications using pubs with missing links:", "timedOut": false, - "duration": 70, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "api.get('v2.0/data/contacts/12')\n .set('Accept', 'application/json')\n .end(function(err, res) {\n if (err) return done(err);\n assert.strictEqual(res.body.data[0]['contactid'], 12);\n done();\n });", - "err": {}, - "uuid": "4a464c63-0afb-4a58-8011-0880eb06754b", - "parentUUID": "eb2209e1-dd83-4755-adb6-d8e42c7ebb4b", + "code": "api.get('v2.0/data/publications?publicationid=12,14,1412,99999')\n .set('Accept', 'application/json')\n .expect(function(res) {\n return res.body.data.result.length > 0;\n })\n .expect(200, done);", + "err": { + "message": "AggregateError [ECONNREFUSED]: ", + "estack": "AggregateError [ECONNREFUSED]: \n at internalConnectMultiple (node:net:1139:18)\n at afterConnectMultiple (node:net:1712:7)", + "diff": null + }, + "uuid": "9fcf8c01-c0dc-437e-8250-33d0dc2ebdfa", + "parentUUID": "8894211c-5ecf-4ab6-8a9a-4e0af86bb334", "isHook": false, "skipped": false }, { - "title": "All contacts from datasets should be returned.", - "fullTitle": "Get contact data: All contacts from datasets should be returned.", + "title": "Get publication by site id:", + "fullTitle": "Get publication data any number of ways: Get publication by site id:", "timedOut": false, - "duration": 73, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "api.get('v2.0/data/datasets/12,13/contacts')\n .set('Accept', 'application/json')\n .end(function(err, res) {\n if (err) return done(err);\n assert.strictEqual(res.body.data.length, 2);\n done();\n });", - "err": {}, - "uuid": "da3a5453-fcb6-4864-a60e-3213f1d3cf8f", - "parentUUID": "eb2209e1-dd83-4755-adb6-d8e42c7ebb4b", + "code": "api.get('v2.0/data/sites/12/publications')\n .set('Accept', 'application/json')\n .expect(function(res) {\n return res.body.data.length > 0;\n })\n .expect(200, done);", + "err": { + "message": "AggregateError [ECONNREFUSED]: ", + "estack": "AggregateError [ECONNREFUSED]: \n at internalConnectMultiple (node:net:1139:18)\n at afterConnectMultiple (node:net:1712:7)", + "diff": null + }, + "uuid": "24d9c734-023b-4ed4-9664-4b0fc150154f", + "parentUUID": "8894211c-5ecf-4ab6-8a9a-4e0af86bb334", "isHook": false, "skipped": false }, - { - "title": "The length of returned contacts should be equivalent to the number of datasets.", - "fullTitle": "Get contact data: The length of returned contacts should be equivalent to the number of datasets.", + { + "title": "Get publication by site id finds pubs for all sites:", + "fullTitle": "Get publication data any number of ways: Get publication by site id finds pubs for all sites:", "timedOut": false, - "duration": 74, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "api.get('v2.0/data/datasets/12,13/contacts')\n .set('Accept', 'application/json')\n .end(function(err, res) {\n if (err) return done(err);\n const test = [];\n assert.strictEqual(test.length, 0);\n done();\n });", - "err": {}, - "uuid": "22c1f65d-edc8-4d04-9ee3-d30807f21e7b", - "parentUUID": "eb2209e1-dd83-4755-adb6-d8e42c7ebb4b", + "code": "api.get('v2.0/data/sites/12,13,14,15/publications')\n .set('Accept', 'application/json')\n .expect(function(res) {\n const flatten = (list) => list.reduce(\n (a, b) => a.concat(Array.isArray(b) ? flatten(b) : b), [],\n );\n const sites = [12, 13, 14, 15];\n const siteids = flatten(res.body.data.map((x) => x.siteid));\n return sites.every((x) => siteids.includes(x));\n })\n .expect(200, done);", + "err": { + "message": "AggregateError [ECONNREFUSED]: ", + "estack": "AggregateError [ECONNREFUSED]: \n at internalConnectMultiple (node:net:1139:18)\n at afterConnectMultiple (node:net:1712:7)", + "diff": null + }, + "uuid": "f8b56bf4-338f-48cd-82b5-a6f89397a1cd", + "parentUUID": "8894211c-5ecf-4ab6-8a9a-4e0af86bb334", "isHook": false, "skipped": false }, { - "title": "The length of returned contacts should be equivalent to the number of sites.", - "fullTitle": "Get contact data: The length of returned contacts should be equivalent to the number of sites.", + "title": "Get publication by dataset id finds pubs for all datasets:", + "fullTitle": "Get publication data any number of ways: Get publication by dataset id finds pubs for all datasets:", "timedOut": false, - "duration": 71, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "api.get('v2.0/data/datasets/102,1435,1,27/contacts')\n .set('Accept', 'application/json')\n .end(function(err, res) {\n if (err) return done(err);\n assert.strictEqual(Object.keys(res.body.data).length, 4);\n done();\n });", - "err": {}, - "uuid": "49f9eb41-1531-443c-bd66-e3a76f89d9a7", - "parentUUID": "eb2209e1-dd83-4755-adb6-d8e42c7ebb4b", + "code": "api.get('v2.0/data/datasets/12,13,2201,6000/publications')\n .set('Accept', 'application/json')\n .expect(function(res) {\n const flatten = (list) => list.reduce(\n (a, b) => a.concat(Array.isArray(b) ? flatten(b) : b), [],\n );\n const datasets = [12, 6000, 13, 2201];\n const datasetids = flatten(res.body.data.map((x) => x.datasetid));\n return datasets.every((x) => datasetids.includes(x));\n })\n .expect(200, done);", + "err": { + "message": "AggregateError [ECONNREFUSED]: ", + "estack": "AggregateError [ECONNREFUSED]: \n at internalConnectMultiple (node:net:1139:18)\n at afterConnectMultiple (node:net:1712:7)", + "diff": null + }, + "uuid": "e1406f4c-0c06-4fd2-b39d-3ca7eafec21a", + "parentUUID": "8894211c-5ecf-4ab6-8a9a-4e0af86bb334", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "1b8756ef-8ea5-4af2-b4fd-795b423cc324", - "b6d40c91-2d45-4d34-937f-2a87bf98d413", - "6bb3755d-43a1-452e-a34e-7e3fa041e79d", - "f846dfd6-6fc7-4ea1-bff1-74bbffc0de7a", - "4a464c63-0afb-4a58-8011-0880eb06754b", - "da3a5453-fcb6-4864-a60e-3213f1d3cf8f", - "22c1f65d-edc8-4d04-9ee3-d30807f21e7b", - "49f9eb41-1531-443c-bd66-e3a76f89d9a7" + "passes": [], + "failures": [ + "121d7d84-fd45-4509-837f-a457d0eee8de", + "3fafa0a1-df23-4001-9a6f-e0c82873b7f6", + "6b04a35b-9ed4-43a5-bc10-389889900e9e", + "9fcf8c01-c0dc-437e-8250-33d0dc2ebdfa", + "24d9c734-023b-4ed4-9664-4b0fc150154f", + "f8b56bf4-338f-48cd-82b5-a6f89397a1cd", + "e1406f4c-0c06-4fd2-b39d-3ca7eafec21a" + ], + "pending": [], + "skipped": [], + "duration": 7, + "root": false, + "rootEmpty": false, + "_timeout": 15000 + }, + { + "uuid": "18637256-0c3f-46d4-8b00-f8f66f9a6e36", + "title": "tests for /v2.0/data/summary/rawbymonth", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-summary-rawbymonth-test.js", + "file": "/test/v2.0-data-summary-rawbymonth-test.js", + "beforeHooks": [], + "afterHooks": [], + "tests": [], + "suites": [ + { + "uuid": "e3853fbe-e6d5-44a6-85fc-e7237a47f1e7", + "title": "tests for get", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-summary-rawbymonth-test.js", + "file": "/test/v2.0-data-summary-rawbymonth-test.js", + "beforeHooks": [], + "afterHooks": [], + "tests": [ + { + "title": "should respond 200 for \"A count of the data objects added to Neotoma.\"", + "fullTitle": "tests for /v2.0/data/summary/rawbymonth tests for get should respond 200 for \"A count of the data objects added to Neotoma.\"", + "timedOut": false, + "duration": 2, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, + "pending": false, + "context": null, + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/summary/rawbymonth', { \n 'qs': {\"start\": 1,\"end\": 10},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "7633666e-6f65-4b4b-8d6e-99f0225272f6", + "parentUUID": "e3853fbe-e6d5-44a6-85fc-e7237a47f1e7", + "isHook": false, + "skipped": false + } + ], + "suites": [], + "passes": [], + "failures": [ + "7633666e-6f65-4b4b-8d6e-99f0225272f6" + ], + "pending": [], + "skipped": [], + "duration": 2, + "root": false, + "rootEmpty": false, + "_timeout": 900000 + } ], + "passes": [], "failures": [], "pending": [], "skipped": [], - "duration": 613, + "duration": 0, "root": false, "rootEmpty": false, - "_timeout": 5000 + "_timeout": 900000 }, { - "uuid": "d5a169b0-32cf-47c2-be20-89a15bc541c8", - "title": "tests for /v2.0/apps/depenvt", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-apps-depenvt-test.js", - "file": "/test/v2.0-apps-depenvt-test.js", + "uuid": "d97f2550-8664-4700-883e-c877c0716de9", + "title": "tests for /v2.0/data/aedna/sequences/{datasetid}", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-aedna-sequences-{datasetid}-test.js", + "file": "/test/v2.0-data-aedna-sequences-{datasetid}-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "0f507d14-96d1-46c5-9607-1b16ca41779d", + "uuid": "8518c180-b40a-49fa-9e69-e52de1c2158d", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-apps-depenvt-test.js", - "file": "/test/v2.0-apps-depenvt-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-aedna-sequences-{datasetid}-test.js", + "file": "/test/v2.0-data-aedna-sequences-{datasetid}-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"This returns the information about depositional environment for selected dataset/collection unit/site.\"", - "fullTitle": "tests for /v2.0/apps/depenvt tests for get should respond 200 for \"This returns the information about depositional environment for selected dataset/collection unit/site.\"", + "title": "should respond 200 for \"aeDNA sequences grouped by taxon for the dataset.\"", + "fullTitle": "tests for /v2.0/data/aedna/sequences/{datasetid} tests for get should respond 200 for \"aeDNA sequences grouped by taxon for the dataset.\"", "timedOut": false, - "duration": 72, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/apps/depenvt', { \n 'qs': {\"siteid\":4712,\"datasetid\":15304005,\"collectionunitid\":7254},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "d91ffd24-7141-47c5-aacd-3f0a12ecaf2c", - "parentUUID": "0f507d14-96d1-46c5-9607-1b16ca41779d", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/aedna/sequences/500', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "c29f175a-f011-4cd8-948a-839280d9b242", + "parentUUID": "8518c180-b40a-49fa-9e69-e52de1c2158d", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "d91ffd24-7141-47c5-aacd-3f0a12ecaf2c" + "passes": [], + "failures": [ + "c29f175a-f011-4cd8-948a-839280d9b242" ], - "failures": [], "pending": [], "skipped": [], - "duration": 72, + "duration": 1, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -5096,49 +5591,53 @@ "_timeout": 900000 }, { - "uuid": "db8cb25e-8c7b-4c47-93cb-9e1c6c46bf36", - "title": "tests for /v2.0/data/dbtables/{table}", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-dbtables-{table}-test.js", - "file": "/test/v2.0-data-dbtables-{table}-test.js", + "uuid": "03a9c13f-0b0d-4747-b01b-c9b787d56e3f", + "title": "tests for /v2.0/data/contacts", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-contacts-test.js", + "file": "/test/v2.0-data-contacts-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "a5075bb9-af90-464e-af14-b7a108484076", + "uuid": "0143076e-f3cf-4d7d-b72e-019a6391a8b1", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-dbtables-{table}-test.js", - "file": "/test/v2.0-data-dbtables-{table}-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-contacts-test.js", + "file": "/test/v2.0-data-contacts-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"Returned table.\"", - "fullTitle": "tests for /v2.0/data/dbtables/{table} tests for get should respond 200 for \"Returned table.\"", + "title": "should respond 200 for \"contact\"", + "fullTitle": "tests for /v2.0/data/contacts tests for get should respond 200 for \"contact\"", "timedOut": false, - "duration": 70, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 2, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/dbtables/veniam', { \n 'qs': {\"count\":true,\"limit\": 10,\"offset\": 0},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "caea75c0-de5b-4f1d-9e3b-ec3d08f8500a", - "parentUUID": "a5075bb9-af90-464e-af14-b7a108484076", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/contacts', { \n 'qs': {\"contactid\":3142,\"familyname\":\" pb\",\"contactname\":\"tv\",\"contactstatus\":\"inactive\",\"limit\": 10,\"offset\": 0},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "bd46ecfd-5ebc-4d16-9717-cb5ef907e9ff", + "parentUUID": "0143076e-f3cf-4d7d-b72e-019a6391a8b1", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "caea75c0-de5b-4f1d-9e3b-ec3d08f8500a" + "passes": [], + "failures": [ + "bd46ecfd-5ebc-4d16-9717-cb5ef907e9ff" ], - "failures": [], "pending": [], "skipped": [], - "duration": 70, + "duration": 2, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -5154,49 +5653,53 @@ "_timeout": 900000 }, { - "uuid": "a9b9282c-e547-4024-aad3-1cefaae04b3e", - "title": "tests for /v2.0/data/datasets/db", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-datasets-db-test.js", - "file": "/test/v2.0-data-datasets-db-test.js", + "uuid": "c4293a42-b2b0-4e38-a748-9353939bb6d3", + "title": "tests for /v2.0/apps/constdb", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-apps-constdb-test.js", + "file": "/test/v2.0-apps-constdb-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "1bf6ef34-7ea5-4150-8e85-8b0aaa81781e", + "uuid": "85206eec-6330-49c8-a310-5399ba98e164", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-datasets-db-test.js", - "file": "/test/v2.0-data-datasets-db-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-apps-constdb-test.js", + "file": "/test/v2.0-apps-constdb-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"Datasets\"", - "fullTitle": "tests for /v2.0/data/datasets/db tests for get should respond 200 for \"Datasets\"", + "title": "should respond 200 for \"Returns metadata about each [constituent database](https://www.neotomadb.org/data/constituent-databases) in Neotoma, including Summary Information about dataset types within the database and the age spans of the records in the database. Constituent databases \"", + "fullTitle": "tests for /v2.0/apps/constdb tests for get should respond 200 for \"Returns metadata about each [constituent database](https://www.neotomadb.org/data/constituent-databases) in Neotoma, including Summary Information about dataset types within the database and the age spans of the records in the database. Constituent databases \"", "timedOut": false, - "duration": 778, - "state": "passed", - "speed": "medium", - "pass": true, - "fail": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/datasets/db', { \n 'qs': {\"limit\": 10,\"offset\": 0,\"database\":\"NDSU Insect Database\"},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "acea7b7b-e876-49e8-939f-116453c87a5a", - "parentUUID": "1bf6ef34-7ea5-4150-8e85-8b0aaa81781e", + "code": "var response = request('get', 'http://localhost:3001/v2.0/apps/constdb', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "fe00b028-bd87-4b8b-ae75-cde404307ba7", + "parentUUID": "85206eec-6330-49c8-a310-5399ba98e164", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "acea7b7b-e876-49e8-939f-116453c87a5a" + "passes": [], + "failures": [ + "fe00b028-bd87-4b8b-ae75-cde404307ba7" ], - "failures": [], "pending": [], "skipped": [], - "duration": 778, + "duration": 1, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -5212,49 +5715,53 @@ "_timeout": 900000 }, { - "uuid": "9189c3e6-d56a-466a-bbde-f2241cf6d0b7", - "title": "tests for /v2.0/data/publications/{publicationid}", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-publications-{publicationid}-test.js", - "file": "/test/v2.0-data-publications-{publicationid}-test.js", + "uuid": "a38243e3-0f6d-4ea6-9932-e37adde88c87", + "title": "tests for /v2.0/data/occurrences/{occurrenceid}", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-occurrences-{occurrenceid}-test.js", + "file": "/test/v2.0-data-occurrences-{occurrenceid}-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "eb6ff818-da2a-4c38-b8d1-03c272b430c7", + "uuid": "07e2b3c8-2d79-4487-ac83-96174a7b12fc", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-publications-{publicationid}-test.js", - "file": "/test/v2.0-data-publications-{publicationid}-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-occurrences-{occurrenceid}-test.js", + "file": "/test/v2.0-data-occurrences-{occurrenceid}-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"A list of publications.\"", - "fullTitle": "tests for /v2.0/data/publications/{publicationid} tests for get should respond 200 for \"A list of publications.\"", + "title": "should respond 200 for \"occurrence\"", + "fullTitle": "tests for /v2.0/data/occurrences/{occurrenceid} tests for get should respond 200 for \"occurrence\"", "timedOut": false, - "duration": 75, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/publications/5728', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "e6c46db7-3c3c-4134-8e83-1d967c90fee3", - "parentUUID": "eb6ff818-da2a-4c38-b8d1-03c272b430c7", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/occurrences/500', { \n 'qs': {\"limit\": 10,\"offset\": 0},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "c9294e9b-a962-45c3-af8e-a094087ab4ff", + "parentUUID": "07e2b3c8-2d79-4487-ac83-96174a7b12fc", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "e6c46db7-3c3c-4134-8e83-1d967c90fee3" + "passes": [], + "failures": [ + "c9294e9b-a962-45c3-af8e-a094087ab4ff" ], - "failures": [], "pending": [], "skipped": [], - "duration": 75, + "duration": 1, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -5270,49 +5777,53 @@ "_timeout": 900000 }, { - "uuid": "6189407d-b13f-4fd5-9e3d-96b04874917a", - "title": "tests for /v2.0/data/summary/dstypemonth", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-summary-dstypemonth-test.js", - "file": "/test/v2.0-data-summary-dstypemonth-test.js", + "uuid": "3223231a-9f3c-4a8c-99c3-31b7036fffe0", + "title": "tests for /v2.0/data/speleothems/{collectionunitid}", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-speleothems-{collectionunitid}-test.js", + "file": "/test/v2.0-data-speleothems-{collectionunitid}-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "3bd9e1dc-41ce-4c2e-a28c-2ac10ecf671d", + "uuid": "ae38c68d-0044-42c4-bdb9-1de7ccf3e36b", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-summary-dstypemonth-test.js", - "file": "/test/v2.0-data-summary-dstypemonth-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-speleothems-{collectionunitid}-test.js", + "file": "/test/v2.0-data-speleothems-{collectionunitid}-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"A count of the datasets added by datasettype for the requested period.\"", - "fullTitle": "tests for /v2.0/data/summary/dstypemonth tests for get should respond 200 for \"A count of the datasets added by datasettype for the requested period.\"", + "title": "should respond 200 for \"Metadata associated with speleothems submitted through SISAL.\"", + "fullTitle": "tests for /v2.0/data/speleothems/{collectionunitid} tests for get should respond 200 for \"Metadata associated with speleothems submitted through SISAL.\"", "timedOut": false, - "duration": 208, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/summary/dstypemonth', { \n 'qs': {\"start\": 1,\"end\": 10},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "52328ac3-60d7-4004-a0d3-4b8f83f33014", - "parentUUID": "3bd9e1dc-41ce-4c2e-a28c-2ac10ecf671d", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/speleothems/500', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "4f9926f5-e2c0-443d-b3d7-69ccfa5ed8cf", + "parentUUID": "ae38c68d-0044-42c4-bdb9-1de7ccf3e36b", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "52328ac3-60d7-4004-a0d3-4b8f83f33014" + "passes": [], + "failures": [ + "4f9926f5-e2c0-443d-b3d7-69ccfa5ed8cf" ], - "failures": [], "pending": [], "skipped": [], - "duration": 208, + "duration": 1, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -5328,49 +5839,53 @@ "_timeout": 900000 }, { - "uuid": "428f7808-0a3c-4088-9b9b-01b4cc013692", - "title": "tests for /v2.0/data/datasets/{datasetid}/lithology", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-datasets-{datasetid}-lithology-test.js", - "file": "/test/v2.0-data-datasets-{datasetid}-lithology-test.js", + "uuid": "4586fb9e-aa93-46ce-ae35-33c0cacaf13e", + "title": "tests for /v2.0/data/aedna/taxa/{taxonid}/sequences", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-aedna-taxa-{taxonid}-sequences-test.js", + "file": "/test/v2.0-data-aedna-taxa-{taxonid}-sequences-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "2d97c8a6-0563-4461-b91a-eaaf5e85dd1c", + "uuid": "4e941a2a-dc9a-413a-8208-2ed54d76b09e", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-datasets-{datasetid}-lithology-test.js", - "file": "/test/v2.0-data-datasets-{datasetid}-lithology-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-aedna-taxa-{taxonid}-sequences-test.js", + "file": "/test/v2.0-data-aedna-taxa-{taxonid}-sequences-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"Lithology\"", - "fullTitle": "tests for /v2.0/data/datasets/{datasetid}/lithology tests for get should respond 200 for \"Lithology\"", + "title": "should respond 200 for \"An array of aeDNA sequences for the taxon.\"", + "fullTitle": "tests for /v2.0/data/aedna/taxa/{taxonid}/sequences tests for get should respond 200 for \"An array of aeDNA sequences for the taxon.\"", "timedOut": false, - "duration": 75, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 2, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/datasets/500/lithology', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "85083a4b-70f2-44d0-883c-b323eb6dc06e", - "parentUUID": "2d97c8a6-0563-4461-b91a-eaaf5e85dd1c", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/aedna/taxa/500/sequences', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "b09dd77d-2ec2-4602-bd10-3a71952c81c2", + "parentUUID": "4e941a2a-dc9a-413a-8208-2ed54d76b09e", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "85083a4b-70f2-44d0-883c-b323eb6dc06e" + "passes": [], + "failures": [ + "b09dd77d-2ec2-4602-bd10-3a71952c81c2" ], - "failures": [], "pending": [], "skipped": [], - "duration": 75, + "duration": 2, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -5386,49 +5901,53 @@ "_timeout": 900000 }, { - "uuid": "97f10825-adcd-4d11-85c8-1cd07fb4d05c", - "title": "tests for /v2.0/data/sites/{siteid}/contacts", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-sites-{siteid}-contacts-test.js", - "file": "/test/v2.0-data-sites-{siteid}-contacts-test.js", + "uuid": "2bfb47a1-2850-43f3-b04c-afe1dd6777d8", + "title": "tests for /v1.5/apps/TaxaInDatasets", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v1.5-apps-TaxaInDatasets-test.js", + "file": "/test/v1.5-apps-TaxaInDatasets-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "e212f281-a71e-46b5-9dc2-0d29765f2c4a", + "uuid": "0a618027-f50f-479d-a0f9-80595873041b", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-sites-{siteid}-contacts-test.js", - "file": "/test/v2.0-data-sites-{siteid}-contacts-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v1.5-apps-TaxaInDatasets-test.js", + "file": "/test/v1.5-apps-TaxaInDatasets-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"contact\"", - "fullTitle": "tests for /v2.0/data/sites/{siteid}/contacts tests for get should respond 200 for \"contact\"", + "title": "should respond 200 for \"An array of taxon identities with associated dataset IDs.\"", + "fullTitle": "tests for /v1.5/apps/TaxaInDatasets tests for get should respond 200 for \"An array of taxon identities with associated dataset IDs.\"", "timedOut": false, - "duration": 73, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/sites/500/contacts', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "0c225809-f31e-4694-9895-9484612f1469", - "parentUUID": "e212f281-a71e-46b5-9dc2-0d29765f2c4a", + "code": "var response = request('get', 'http://localhost:3001/v1.5/apps/TaxaInDatasets', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "6adc859a-b99e-457e-9682-8b2d6450a8e3", + "parentUUID": "0a618027-f50f-479d-a0f9-80595873041b", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "0c225809-f31e-4694-9895-9484612f1469" + "passes": [], + "failures": [ + "6adc859a-b99e-457e-9682-8b2d6450a8e3" ], - "failures": [], "pending": [], "skipped": [], - "duration": 73, + "duration": 1, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -5444,49 +5963,53 @@ "_timeout": 900000 }, { - "uuid": "29dfcc03-77fc-4e62-827b-efbfff7551b9", - "title": "tests for /v2.0/data/geopoliticalunits/{gpid}", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-geopoliticalunits-{gpid}-test.js", - "file": "/test/v2.0-data-geopoliticalunits-{gpid}-test.js", + "uuid": "741b5e8e-d3f6-4a3d-b04b-2763683e027a", + "title": "tests for /v2.0/data/occurrences", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-occurrences-test.js", + "file": "/test/v2.0-data-occurrences-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "7ff6284e-421a-4264-a807-eaa8a406bc4a", + "uuid": "a1d13012-9a83-4746-a355-610fa78760af", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-geopoliticalunits-{gpid}-test.js", - "file": "/test/v2.0-data-geopoliticalunits-{gpid}-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-occurrences-test.js", + "file": "/test/v2.0-data-occurrences-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"An array of geopolitical units.\"", - "fullTitle": "tests for /v2.0/data/geopoliticalunits/{gpid} tests for get should respond 200 for \"An array of geopolitical units.\"", + "title": "should respond 200 for \"occurrence\"", + "fullTitle": "tests for /v2.0/data/occurrences tests for get should respond 200 for \"occurrence\"", "timedOut": false, - "duration": 72, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/geopoliticalunits/8983', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "bf414129-c1d7-4957-acac-6ae9c4522cbc", - "parentUUID": "7ff6284e-421a-4264-a807-eaa8a406bc4a", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/occurrences', { \n 'qs': {\"taxonname\":\"in cupidatat\",\"taxonid\":44121,\"siteid\":3790,\"sitename\":\"deserunt adipisicing cupidatat\",\"datasettype\":\"ostracode\",\"altmin\": 10,\"altmax\": 100,\"loc\":\"{\\\"type\\\":\\\"Polygon\\\",\\\"crs\\\":{\\\"type\\\":\\\"name\\\",\\\"properties\\\":{\\\"name\\\":\\\"EPSG:4326\\\"}},\\\"coordinates\\\":[[[13.4,55.92],[13.5,55.92],[13.5,55.95],[13.4,55.95],[13.4,55.92]]]}\",\"ageof\":6376068,\"ageyoung\": 1000,\"ageold\": 10000,\"limit\": 10,\"offset\": 0},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "c916546e-c1e7-403e-9085-765732e79f88", + "parentUUID": "a1d13012-9a83-4746-a355-610fa78760af", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "bf414129-c1d7-4957-acac-6ae9c4522cbc" + "passes": [], + "failures": [ + "c916546e-c1e7-403e-9085-765732e79f88" ], - "failures": [], "pending": [], "skipped": [], - "duration": 72, + "duration": 1, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -5502,49 +6025,53 @@ "_timeout": 900000 }, { - "uuid": "46a4d7a9-a337-4b6f-b5cf-27169ba308de", - "title": "tests for /v2.0/data/datasets_elc/{datasetid}", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-datasets_elc-{datasetid}-test.js", - "file": "/test/v2.0-data-datasets_elc-{datasetid}-test.js", + "uuid": "e832d3d8-1a3c-4615-a1b5-68cc4f9050b1", + "title": "tests for /v2.0/apps/keywords", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-apps-keywords-test.js", + "file": "/test/v2.0-apps-keywords-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "e572730d-4f48-474d-8fcd-d1df80d751c7", + "uuid": "94e7f6a8-0f23-4500-90fa-82fff7b9356d", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-datasets_elc-{datasetid}-test.js", - "file": "/test/v2.0-data-datasets_elc-{datasetid}-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-apps-keywords-test.js", + "file": "/test/v2.0-apps-keywords-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"A Neotoma datasets object suitable for the EarthLife Consortium API.\"", - "fullTitle": "tests for /v2.0/data/datasets_elc/{datasetid} tests for get should respond 200 for \"A Neotoma datasets object suitable for the EarthLife Consortium API.\"", + "title": "should respond 200 for \"A list of all keywords used for analysis units in the database.\"", + "fullTitle": "tests for /v2.0/apps/keywords tests for get should respond 200 for \"A list of all keywords used for analysis units in the database.\"", "timedOut": false, - "duration": 2395, - "state": "passed", - "speed": "slow", - "pass": true, - "fail": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/datasets_elc/500', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "46142c4f-93d5-4d01-9579-4e65ecf5d827", - "parentUUID": "e572730d-4f48-474d-8fcd-d1df80d751c7", + "code": "var response = request('get', 'http://localhost:3001/v2.0/apps/keywords', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "c7558037-4817-47a3-b9be-7c1a5c7e3c0c", + "parentUUID": "94e7f6a8-0f23-4500-90fa-82fff7b9356d", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "46142c4f-93d5-4d01-9579-4e65ecf5d827" + "passes": [], + "failures": [ + "c7558037-4817-47a3-b9be-7c1a5c7e3c0c" ], - "failures": [], "pending": [], "skipped": [], - "duration": 2395, + "duration": 1, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -5560,49 +6087,115 @@ "_timeout": 900000 }, { - "uuid": "1f052b70-7f6f-42ad-87b5-052253adb4b4", - "title": "tests for /v2.0/data/sites", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-sites-test.js", - "file": "/test/v2.0-data-sites-test.js", + "uuid": "711fd662-540d-4340-86a5-a76e4da176e2", + "title": "tests for /v2.0/data/geopoliticalunits/{gpid}/sites", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-geopoliticalunits-{gpid}-sites-test.js", + "file": "/test/v2.0-data-geopoliticalunits-{gpid}-sites-test.js", + "beforeHooks": [], + "afterHooks": [], + "tests": [], + "suites": [ + { + "uuid": "2c2e3349-65c0-49f1-b764-5b57faf9c86f", + "title": "tests for get", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-geopoliticalunits-{gpid}-sites-test.js", + "file": "/test/v2.0-data-geopoliticalunits-{gpid}-sites-test.js", + "beforeHooks": [], + "afterHooks": [], + "tests": [ + { + "title": "should respond 200 for \"An array of sites.\"", + "fullTitle": "tests for /v2.0/data/geopoliticalunits/{gpid}/sites tests for get should respond 200 for \"An array of sites.\"", + "timedOut": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, + "pending": false, + "context": null, + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/geopoliticalunits/6605/sites', { \n 'qs': {\"limit\": 10,\"offset\": 0},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "9c853749-cfba-4550-ab92-f52243f830bc", + "parentUUID": "2c2e3349-65c0-49f1-b764-5b57faf9c86f", + "isHook": false, + "skipped": false + } + ], + "suites": [], + "passes": [], + "failures": [ + "9c853749-cfba-4550-ab92-f52243f830bc" + ], + "pending": [], + "skipped": [], + "duration": 1, + "root": false, + "rootEmpty": false, + "_timeout": 900000 + } + ], + "passes": [], + "failures": [], + "pending": [], + "skipped": [], + "duration": 0, + "root": false, + "rootEmpty": false, + "_timeout": 900000 + }, + { + "uuid": "19e9d290-ed26-4e90-886c-e4570e7776b6", + "title": "tests for /v1.5/dbtables/{table}", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v1.5-dbtables-{table}-test.js", + "file": "/test/v1.5-dbtables-{table}-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "820b5a65-6360-4a1b-9101-cd9a826d8491", + "uuid": "9c1fc9ad-3735-4c66-abe1-bfbd386350f7", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-sites-test.js", - "file": "/test/v2.0-data-sites-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v1.5-dbtables-{table}-test.js", + "file": "/test/v1.5-dbtables-{table}-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"An array of sites.\"", - "fullTitle": "tests for /v2.0/data/sites tests for get should respond 200 for \"An array of sites.\"", + "title": "should respond 200 for \"Returned table.\"", + "fullTitle": "tests for /v1.5/dbtables/{table} tests for get should respond 200 for \"Returned table.\"", "timedOut": false, - "duration": 722, - "state": "passed", - "speed": "medium", - "pass": true, - "fail": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/sites', { \n 'qs': {\"sitename\":\"nostrud velit dolore in in\",\"database\":\"Diatom Paleolimnology Data Cooperative (DPDC)\",\"datasettype\":\"modern biochemistry\",\"altmin\": 10,\"altmax\": 100,\"loc\":\"{\\\"type\\\":\\\"Polygon\\\",\\\"crs\\\":{\\\"type\\\":\\\"name\\\",\\\"properties\\\":{\\\"name\\\":\\\"EPSG:4326\\\"}},\\\"coordinates\\\":[[[13.4,55.92],[13.5,55.92],[13.5,55.95],[13.4,55.95],[13.4,55.92]]]}\",\"siteid\":2022,\"datasetid\":67760076,\"doi\":\"10)73259/W8;78U83/\",\"gpid\":5392,\"keyword\":\"bottom\",\"contactid\":20094,\"taxa\":\"adipisicing nostrud exercitation\",\"ageyoung\": 1000,\"ageold\": 10000,\"ageof\":19655794,\"limit\": 10,\"offset\": 0},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "280d4c79-a070-4ffe-92ea-d6fbd3f7c1d4", - "parentUUID": "820b5a65-6360-4a1b-9101-cd9a826d8491", + "code": "var response = request('get', 'http://localhost:3001/v1.5/dbtables/geochrontypes', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "cfad2f06-5e69-49b4-8dfb-aaf510a2e065", + "parentUUID": "9c1fc9ad-3735-4c66-abe1-bfbd386350f7", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "280d4c79-a070-4ffe-92ea-d6fbd3f7c1d4" + "passes": [], + "failures": [ + "cfad2f06-5e69-49b4-8dfb-aaf510a2e065" ], - "failures": [], "pending": [], "skipped": [], - "duration": 722, + "duration": 1, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -5618,49 +6211,254 @@ "_timeout": 900000 }, { - "uuid": "b55ef900-847d-4b23-a7cb-19b7d1f6fc21", - "title": "tests for /v2.0/data/geopoliticalunits/{gpid}/sites", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-geopoliticalunits-{gpid}-sites-test.js", - "file": "/test/v2.0-data-geopoliticalunits-{gpid}-sites-test.js", + "uuid": "5a519466-ad83-415c-8b57-962a68eb13a8", + "title": "Get Neotoma data with geoJSON extents:", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/spatial.js", + "file": "/test/spatial.js", + "beforeHooks": [], + "afterHooks": [], + "tests": [ + { + "title": "Get occurrence data using a simple geoJSON:", + "fullTitle": "Get Neotoma data with geoJSON extents: Get occurrence data using a simple geoJSON:", + "timedOut": false, + "duration": 2, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, + "pending": false, + "context": null, + "code": "api.get('v2.0/data/occurrences?loc={\"type\":\"Polygon\",\"coordinates\":[[[-104.053249,41.001406],[-103.497447,41.001635],[-102.865784,41.001988],[-102.556789,41.002219],[-102.051614,41.002377],[-102.051725,40.537839],[-102.051744,40.003078],[-102.050422,39.646048],[-102.048449,39.303138],[-102.045388,38.813392],[-102.045324,38.453647],[-102.044644,38.045532],[-102.041574,37.680436],[-102.041974,37.352613],[-102.04224,36.993083],[-102.698142,36.995149],[-102.814616,37.000783],[-103.002199,37.000104],[-103.733247,36.998016],[-104.338833,36.993535],[-105.000554,36.993264],[-105.1208,36.995428],[-105.62747,36.995679],[-106.201469,36.994122],[-106.869796,36.992426],[-106.877292,37.000139],[-107.420913,37.000005],[-108.000623,37.000001],[-108.249358,36.999015],[-108.620309,36.999287],[-109.045223,36.999084],[-109.04581,37.374993],[-109.041865,37.530726],[-109.041058,37.907236],[-109.041762,38.16469],[-109.060062,38.275489],[-109.059541,38.719888],[-109.054189,38.874984],[-109.051512,39.126095],[-109.051363,39.497674],[-109.050615,39.87497],[-109.050946,40.444368],[-109.048044,40.619231],[-109.050076,41.000659],[-108.884138,41.000094],[-108.250649,41.000114],[-107.625624,41.002124],[-106.857773,41.002663],[-106.453859,41.002057],[-106.217573,40.997734],[-105.730421,40.996886],[-105.277138,40.998173],[-104.855273,40.998048],[-104.675999,41.000957],[-104.053249,41.001406]]]}')\n .set('Accept', 'application/json')\n .expect(function(res) {\n return Object.keys(res.body['data'][0]).length > 0;\n })\n .expect(function(res) {\n return res.body['data'][0]['occurrence'] === 12;\n })\n .expect(200, done);", + "err": { + "message": "AggregateError [ECONNREFUSED]: ", + "estack": "AggregateError [ECONNREFUSED]: \n at internalConnectMultiple (node:net:1139:18)\n at afterConnectMultiple (node:net:1712:7)", + "diff": null + }, + "uuid": "b5ea9a69-281f-4a0c-b79f-8d8aca539e82", + "parentUUID": "5a519466-ad83-415c-8b57-962a68eb13a8", + "isHook": false, + "skipped": false + }, + { + "title": "Get site data using a simple geoJSON:", + "fullTitle": "Get Neotoma data with geoJSON extents: Get site data using a simple geoJSON:", + "timedOut": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, + "pending": false, + "context": null, + "code": "api.get('v2.0/data/sites?loc={\"type\":\"Polygon\",\"coordinates\":[[[-104.053249,41.001406],[-103.497447,41.001635],[-102.865784,41.001988],[-102.556789,41.002219],[-102.051614,41.002377],[-102.051725,40.537839],[-102.051744,40.003078],[-102.050422,39.646048],[-102.048449,39.303138],[-102.045388,38.813392],[-102.045324,38.453647],[-102.044644,38.045532],[-102.041574,37.680436],[-102.041974,37.352613],[-102.04224,36.993083],[-102.698142,36.995149],[-102.814616,37.000783],[-103.002199,37.000104],[-103.733247,36.998016],[-104.338833,36.993535],[-105.000554,36.993264],[-105.1208,36.995428],[-105.62747,36.995679],[-106.201469,36.994122],[-106.869796,36.992426],[-106.877292,37.000139],[-107.420913,37.000005],[-108.000623,37.000001],[-108.249358,36.999015],[-108.620309,36.999287],[-109.045223,36.999084],[-109.04581,37.374993],[-109.041865,37.530726],[-109.041058,37.907236],[-109.041762,38.16469],[-109.060062,38.275489],[-109.059541,38.719888],[-109.054189,38.874984],[-109.051512,39.126095],[-109.051363,39.497674],[-109.050615,39.87497],[-109.050946,40.444368],[-109.048044,40.619231],[-109.050076,41.000659],[-108.884138,41.000094],[-108.250649,41.000114],[-107.625624,41.002124],[-106.857773,41.002663],[-106.453859,41.002057],[-106.217573,40.997734],[-105.730421,40.996886],[-105.277138,40.998173],[-104.855273,40.998048],[-104.675999,41.000957],[-104.053249,41.001406]]]}')\n .set('Accept', 'application/json')\n .expect(function(res) {\n return Object.keys(res.body['data'][0]).length > 0;\n })\n .expect(function(res) {\n return res.body['data'][0]['occurrence'] === 12;\n })\n .expect(200, done);", + "err": { + "message": "AggregateError [ECONNREFUSED]: ", + "estack": "AggregateError [ECONNREFUSED]: \n at internalConnectMultiple (node:net:1139:18)\n at afterConnectMultiple (node:net:1712:7)", + "diff": null + }, + "uuid": "2c806c72-4497-47dc-a1c2-f77125d8135e", + "parentUUID": "5a519466-ad83-415c-8b57-962a68eb13a8", + "isHook": false, + "skipped": false + }, + { + "title": "Get dataset data using a simple geoJSON:", + "fullTitle": "Get Neotoma data with geoJSON extents: Get dataset data using a simple geoJSON:", + "timedOut": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, + "pending": false, + "context": null, + "code": "api.get('v2.0/data/datasets?loc={\"type\":\"Polygon\",\"coordinates\":[[[-104.053249,41.001406],[-103.497447,41.001635],[-102.865784,41.001988],[-102.556789,41.002219],[-102.051614,41.002377],[-102.051725,40.537839],[-102.051744,40.003078],[-102.050422,39.646048],[-102.048449,39.303138],[-102.045388,38.813392],[-102.045324,38.453647],[-102.044644,38.045532],[-102.041574,37.680436],[-102.041974,37.352613],[-102.04224,36.993083],[-102.698142,36.995149],[-102.814616,37.000783],[-103.002199,37.000104],[-103.733247,36.998016],[-104.338833,36.993535],[-105.000554,36.993264],[-105.1208,36.995428],[-105.62747,36.995679],[-106.201469,36.994122],[-106.869796,36.992426],[-106.877292,37.000139],[-107.420913,37.000005],[-108.000623,37.000001],[-108.249358,36.999015],[-108.620309,36.999287],[-109.045223,36.999084],[-109.04581,37.374993],[-109.041865,37.530726],[-109.041058,37.907236],[-109.041762,38.16469],[-109.060062,38.275489],[-109.059541,38.719888],[-109.054189,38.874984],[-109.051512,39.126095],[-109.051363,39.497674],[-109.050615,39.87497],[-109.050946,40.444368],[-109.048044,40.619231],[-109.050076,41.000659],[-108.884138,41.000094],[-108.250649,41.000114],[-107.625624,41.002124],[-106.857773,41.002663],[-106.453859,41.002057],[-106.217573,40.997734],[-105.730421,40.996886],[-105.277138,40.998173],[-104.855273,40.998048],[-104.675999,41.000957],[-104.053249,41.001406]]]}')\n .set('Accept', 'application/json')\n .expect(function(res) {\n return Object.keys(res.body['data'][0]).length > 0;\n })\n .expect(function(res) {\n return res.body['data'][0]['occurrence'] === 12;\n })\n .expect(200, done);", + "err": { + "message": "AggregateError [ECONNREFUSED]: ", + "estack": "AggregateError [ECONNREFUSED]: \n at internalConnectMultiple (node:net:1139:18)\n at afterConnectMultiple (node:net:1712:7)", + "diff": null + }, + "uuid": "0a73c63c-9f94-4bd5-98a6-c8253b55bb68", + "parentUUID": "5a519466-ad83-415c-8b57-962a68eb13a8", + "isHook": false, + "skipped": false + } + ], + "suites": [], + "passes": [], + "failures": [ + "b5ea9a69-281f-4a0c-b79f-8d8aca539e82", + "2c806c72-4497-47dc-a1c2-f77125d8135e", + "0a73c63c-9f94-4bd5-98a6-c8253b55bb68" + ], + "pending": [], + "skipped": [], + "duration": 4, + "root": false, + "rootEmpty": false, + "_timeout": 15000 + }, + { + "uuid": "60232a7b-4517-40e2-96ad-18e905452030", + "title": "Get Neotoma data with WKT extents:", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/spatial.js", + "file": "/test/spatial.js", + "beforeHooks": [], + "afterHooks": [], + "tests": [ + { + "title": "Get occurrence data using a simple WKT:", + "fullTitle": "Get Neotoma data with WKT extents: Get occurrence data using a simple WKT:", + "timedOut": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, + "pending": false, + "context": null, + "code": "api.get('v2.0/data/occurrences?loc=POLYGON((-104.053249 41.001406,-103.497447 41.001635,-102.865784 41.001988,-102.556789 41.002219,-102.051614 41.002377,-102.051725 40.537839,-102.051744 40.003078,-102.050422 39.646048,-102.048449 39.303138,-102.045388 38.813392,-102.045324 38.453647,-102.044644 38.045532,-102.041574 37.680436,-102.041974 37.352613,-102.04224 36.993083,-102.698142 36.995149,-102.814616 37.000783,-103.002199 37.000104,-103.733247 36.998016,-104.338833 36.993535,-105.000554 36.993264,-105.1208 36.995428,-105.62747 36.995679,-106.201469 36.994122,-106.869796 36.992426,-106.877292 37.000139,-107.420913 37.000005,-108.000623 37.000001,-108.249358 36.999015,-108.620309 36.999287,-109.045223 36.999084,-109.04581 37.374993,-109.041865 37.530726,-109.041058 37.907236,-109.041762 38.16469,-109.060062 38.275489,-109.059541 38.719888,-109.054189 38.874984,-109.051512 39.126095,-109.051363 39.497674,-109.050615 39.87497,-109.050946 40.444368,-109.048044 40.619231,-109.050076 41.000659,-108.884138 41.000094,-108.250649 41.000114,-107.625624 41.002124,-106.857773 41.002663,-106.453859 41.002057,-106.217573 40.997734,-105.730421 40.996886,-105.277138 40.998173,-104.855273 40.998048,-104.675999 41.000957,-104.053249 41.001406))')\n .set('Accept', 'application/json')\n .expect(function(res) {\n return Object.keys(res.body['data'][0]).length > 0;\n })\n .expect(function(res) {\n return res.body['data'][0]['occurrence'] === 12;\n })\n .expect(200, done);", + "err": { + "message": "AggregateError [ECONNREFUSED]: ", + "estack": "AggregateError [ECONNREFUSED]: \n at internalConnectMultiple (node:net:1139:18)\n at afterConnectMultiple (node:net:1712:7)", + "diff": null + }, + "uuid": "45502f72-72d8-4a1c-986a-a38f0052177c", + "parentUUID": "60232a7b-4517-40e2-96ad-18e905452030", + "isHook": false, + "skipped": false + }, + { + "title": "Get site data using a simple WKT:", + "fullTitle": "Get Neotoma data with WKT extents: Get site data using a simple WKT:", + "timedOut": false, + "duration": 2, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, + "pending": false, + "context": null, + "code": "api.get('v2.0/data/sites?loc=POLYGON((-104.053249 41.001406,-103.497447 41.001635,-102.865784 41.001988,-102.556789 41.002219,-102.051614 41.002377,-102.051725 40.537839,-102.051744 40.003078,-102.050422 39.646048,-102.048449 39.303138,-102.045388 38.813392,-102.045324 38.453647,-102.044644 38.045532,-102.041574 37.680436,-102.041974 37.352613,-102.04224 36.993083,-102.698142 36.995149,-102.814616 37.000783,-103.002199 37.000104,-103.733247 36.998016,-104.338833 36.993535,-105.000554 36.993264,-105.1208 36.995428,-105.62747 36.995679,-106.201469 36.994122,-106.869796 36.992426,-106.877292 37.000139,-107.420913 37.000005,-108.000623 37.000001,-108.249358 36.999015,-108.620309 36.999287,-109.045223 36.999084,-109.04581 37.374993,-109.041865 37.530726,-109.041058 37.907236,-109.041762 38.16469,-109.060062 38.275489,-109.059541 38.719888,-109.054189 38.874984,-109.051512 39.126095,-109.051363 39.497674,-109.050615 39.87497,-109.050946 40.444368,-109.048044 40.619231,-109.050076 41.000659,-108.884138 41.000094,-108.250649 41.000114,-107.625624 41.002124,-106.857773 41.002663,-106.453859 41.002057,-106.217573 40.997734,-105.730421 40.996886,-105.277138 40.998173,-104.855273 40.998048,-104.675999 41.000957,-104.053249 41.001406))')\n .set('Accept', 'application/json')\n .expect(function(res) {\n return Object.keys(res.body['data'][0]).length > 0;\n })\n .expect(function(res) {\n return res.body['data'][0]['occurrence'] === 12;\n })\n .expect(200, done);", + "err": { + "message": "AggregateError [ECONNREFUSED]: ", + "estack": "AggregateError [ECONNREFUSED]: \n at internalConnectMultiple (node:net:1139:18)\n at afterConnectMultiple (node:net:1712:7)", + "diff": null + }, + "uuid": "d556354c-578c-4f54-aa97-1e7afc71b284", + "parentUUID": "60232a7b-4517-40e2-96ad-18e905452030", + "isHook": false, + "skipped": false + }, + { + "title": "Get dataset data using a simple WKT:", + "fullTitle": "Get Neotoma data with WKT extents: Get dataset data using a simple WKT:", + "timedOut": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, + "pending": false, + "context": null, + "code": "api.get('v2.0/data/datasets?loc=POLYGON((-104.053249 41.001406,-103.497447 41.001635,-102.865784 41.001988,-102.556789 41.002219,-102.051614 41.002377,-102.051725 40.537839,-102.051744 40.003078,-102.050422 39.646048,-102.048449 39.303138,-102.045388 38.813392,-102.045324 38.453647,-102.044644 38.045532,-102.041574 37.680436,-102.041974 37.352613,-102.04224 36.993083,-102.698142 36.995149,-102.814616 37.000783,-103.002199 37.000104,-103.733247 36.998016,-104.338833 36.993535,-105.000554 36.993264,-105.1208 36.995428,-105.62747 36.995679,-106.201469 36.994122,-106.869796 36.992426,-106.877292 37.000139,-107.420913 37.000005,-108.000623 37.000001,-108.249358 36.999015,-108.620309 36.999287,-109.045223 36.999084,-109.04581 37.374993,-109.041865 37.530726,-109.041058 37.907236,-109.041762 38.16469,-109.060062 38.275489,-109.059541 38.719888,-109.054189 38.874984,-109.051512 39.126095,-109.051363 39.497674,-109.050615 39.87497,-109.050946 40.444368,-109.048044 40.619231,-109.050076 41.000659,-108.884138 41.000094,-108.250649 41.000114,-107.625624 41.002124,-106.857773 41.002663,-106.453859 41.002057,-106.217573 40.997734,-105.730421 40.996886,-105.277138 40.998173,-104.855273 40.998048,-104.675999 41.000957,-104.053249 41.001406))')\n .set('Accept', 'application/json')\n .expect(function(res) {\n return Object.keys(res.body['data'][0]).length > 0;\n })\n .expect(function(res) {\n return res.body['data'][0]['occurrence'] === 12;\n })\n .expect(200, done);", + "err": { + "message": "AggregateError [ECONNREFUSED]: ", + "estack": "AggregateError [ECONNREFUSED]: \n at internalConnectMultiple (node:net:1139:18)\n at afterConnectMultiple (node:net:1712:7)", + "diff": null + }, + "uuid": "085d5821-d3b7-45d5-853d-5803d53b3586", + "parentUUID": "60232a7b-4517-40e2-96ad-18e905452030", + "isHook": false, + "skipped": false + }, + { + "title": "Get dataset data using a simple WKT:", + "fullTitle": "Get Neotoma data with WKT extents: Get dataset data using a simple WKT:", + "timedOut": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, + "pending": false, + "context": null, + "code": "api.get('v2.0/data/datasets?loc=POLYGON((139.8%20-33.7,%20150.1%20-33.7,%20150.1%20-39.1,%20139.8%20-39.1,%20139.8%20-33.7))')\n .set('Accept', 'application/json')\n .expect(function(res) {\n return Object.keys(res.body['data'][0]).length > 0;\n })\n .expect(function(res) {\n return res.body['data'][0]['occurrence'] === 12;\n })\n .expect(200, done);", + "err": { + "message": "AggregateError [ECONNREFUSED]: ", + "estack": "AggregateError [ECONNREFUSED]: \n at internalConnectMultiple (node:net:1139:18)\n at afterConnectMultiple (node:net:1712:7)", + "diff": null + }, + "uuid": "e30e40c3-438d-4c75-a40c-810757f62187", + "parentUUID": "60232a7b-4517-40e2-96ad-18e905452030", + "isHook": false, + "skipped": false + } + ], + "suites": [], + "passes": [], + "failures": [ + "45502f72-72d8-4a1c-986a-a38f0052177c", + "d556354c-578c-4f54-aa97-1e7afc71b284", + "085d5821-d3b7-45d5-853d-5803d53b3586", + "e30e40c3-438d-4c75-a40c-810757f62187" + ], + "pending": [], + "skipped": [], + "duration": 5, + "root": false, + "rootEmpty": false, + "_timeout": 15000 + }, + { + "uuid": "f92d3277-aa1f-4cab-b25b-230d4ce27128", + "title": "tests for /v2.0/data/contacts/{contactid}/publications", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-contacts-{contactid}-publications-test.js", + "file": "/test/v2.0-data-contacts-{contactid}-publications-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "87981a3f-9351-4e6f-8bc8-31b8efd221c4", + "uuid": "cfd72eae-f085-4734-ac57-caab89ea9fe3", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-geopoliticalunits-{gpid}-sites-test.js", - "file": "/test/v2.0-data-geopoliticalunits-{gpid}-sites-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-contacts-{contactid}-publications-test.js", + "file": "/test/v2.0-data-contacts-{contactid}-publications-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"An array of sites.\"", - "fullTitle": "tests for /v2.0/data/geopoliticalunits/{gpid}/sites tests for get should respond 200 for \"An array of sites.\"", + "title": "should respond 200 for \"An array of publications associated with the contact.\"", + "fullTitle": "tests for /v2.0/data/contacts/{contactid}/publications tests for get should respond 200 for \"An array of publications associated with the contact.\"", "timedOut": false, - "duration": 341, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/geopoliticalunits/9953/sites', { \n 'qs': {\"limit\": 10,\"offset\": 0},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "d820ab97-03a2-41fe-aa7d-f7b0382dc8be", - "parentUUID": "87981a3f-9351-4e6f-8bc8-31b8efd221c4", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/contacts/5925/publications', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "9bf8dd7b-9bc4-4139-8abc-a29e09713253", + "parentUUID": "cfd72eae-f085-4734-ac57-caab89ea9fe3", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "d820ab97-03a2-41fe-aa7d-f7b0382dc8be" + "passes": [], + "failures": [ + "9bf8dd7b-9bc4-4139-8abc-a29e09713253" ], - "failures": [], "pending": [], "skipped": [], - "duration": 341, + "duration": 1, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -5676,49 +6474,53 @@ "_timeout": 900000 }, { - "uuid": "82d5bed2-ac9c-4650-adb0-a3039b8c4f67", - "title": "tests for /v1.5/data/geopoliticalunits/{gpid}", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v1.5-data-geopoliticalunits-{gpid}-test.js", - "file": "/test/v1.5-data-geopoliticalunits-{gpid}-test.js", + "uuid": "2e85efe5-cf56-4b18-8d8b-fcf1f252cd7e", + "title": "tests for /v2.0/data/datasets/{datasetid}/publications", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-datasets-{datasetid}-publications-test.js", + "file": "/test/v2.0-data-datasets-{datasetid}-publications-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "cf6dc437-33a0-4af8-9ee8-65c79b2a2cff", + "uuid": "5e3ddd29-dba3-41fe-8ee9-ca74d2aa635b", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v1.5-data-geopoliticalunits-{gpid}-test.js", - "file": "/test/v1.5-data-geopoliticalunits-{gpid}-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-datasets-{datasetid}-publications-test.js", + "file": "/test/v2.0-data-datasets-{datasetid}-publications-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"An array of geopolitical units.\"", - "fullTitle": "tests for /v1.5/data/geopoliticalunits/{gpid} tests for get should respond 200 for \"An array of geopolitical units.\"", + "title": "should respond 200 for \"Publication\"", + "fullTitle": "tests for /v2.0/data/datasets/{datasetid}/publications tests for get should respond 200 for \"Publication\"", "timedOut": false, - "duration": 72, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v1.5/data/geopoliticalunits/716', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "27cb1fb7-c5e6-4813-8ea4-9ce484f5ade1", - "parentUUID": "cf6dc437-33a0-4af8-9ee8-65c79b2a2cff", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/datasets/500/publications', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "741416ff-dee2-47bc-ab18-897458355302", + "parentUUID": "5e3ddd29-dba3-41fe-8ee9-ca74d2aa635b", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "27cb1fb7-c5e6-4813-8ea4-9ce484f5ade1" + "passes": [], + "failures": [ + "741416ff-dee2-47bc-ab18-897458355302" ], - "failures": [], "pending": [], "skipped": [], - "duration": 72, + "duration": 1, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -5734,49 +6536,53 @@ "_timeout": 900000 }, { - "uuid": "bb521393-df07-47f3-b761-7787aae8d310", - "title": "tests for /v2.0/data/datasets/{datasetid}", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-datasets-{datasetid}-test.js", - "file": "/test/v2.0-data-datasets-{datasetid}-test.js", + "uuid": "9c07907e-042e-4fb7-8368-bc2fc8adedc2", + "title": "tests for /v2.0/apps/datasettypes", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-apps-datasettypes-test.js", + "file": "/test/v2.0-apps-datasettypes-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "d8479aef-c913-4ca5-86ff-9a9cd896f352", + "uuid": "527ee25c-1261-4f67-93ae-b435a144fae6", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-datasets-{datasetid}-test.js", - "file": "/test/v2.0-data-datasets-{datasetid}-test.js", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-apps-datasettypes-test.js", + "file": "/test/v2.0-apps-datasettypes-test.js", "beforeHooks": [], "afterHooks": [], "tests": [ { - "title": "should respond 200 for \"An array of datasets.\"", - "fullTitle": "tests for /v2.0/data/datasets/{datasetid} tests for get should respond 200 for \"An array of datasets.\"", + "title": "should respond 200 for \"A table of Neotoma collection types.\"", + "fullTitle": "tests for /v2.0/apps/datasettypes tests for get should respond 200 for \"A table of Neotoma collection types.\"", "timedOut": false, - "duration": 113, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, + "duration": 1, + "state": "failed", + "speed": null, + "pass": false, + "fail": true, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/datasets/500', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "1331b2f4-363a-437a-a903-96b788610ae8", - "parentUUID": "d8479aef-c913-4ca5-86ff-9a9cd896f352", + "code": "var response = request('get', 'http://localhost:3001/v2.0/apps/datasettypes', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": { + "message": "TypeError: Cannot read properties of undefined (reading 'statusCode')", + "estack": "TypeError: Cannot read properties of undefined (reading 'statusCode')\n at Assertion. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/lib/assertions/statuscode.js:15:45)\n at ctx. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai/lib/chai/utils/addMethod.js:41:25)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/chakram/node_modules/chai-as-promised/lib/chai-as-promised.js:308:26\n at _fulfilled (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:854:54)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:883:30\n at Promise.promise.promiseDispatch (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:816:13)\n at /Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:624:44\n at runSingle (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:137:13)\n at flush (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/q/q.js:125:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:85:11)", + "diff": null + }, + "uuid": "80357427-8ad4-4c8c-9815-33433feb03b6", + "parentUUID": "527ee25c-1261-4f67-93ae-b435a144fae6", "isHook": false, "skipped": false } ], "suites": [], - "passes": [ - "1331b2f4-363a-437a-a903-96b788610ae8" + "passes": [], + "failures": [ + "80357427-8ad4-4c8c-9815-33433feb03b6" ], - "failures": [], "pending": [], "skipped": [], - "duration": 113, + "duration": 1, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -5790,102 +6596,6 @@ "root": false, "rootEmpty": false, "_timeout": 900000 - }, - { - "uuid": "525667f7-fce5-4313-b452-6dfa2efcccc7", - "title": "Get geopolitical data:", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/geopolitical.js", - "file": "/test/geopolitical.js", - "beforeHooks": [], - "afterHooks": [], - "tests": [ - { - "title": "An empty query returns a valid response.", - "fullTitle": "Get geopolitical data: An empty query returns a valid response.", - "timedOut": false, - "duration": 76, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "pending": false, - "context": null, - "code": "api.get('v2.0/data/geopoliticalunits/')\n .set('Accept', 'application/json')\n .expect(200, done);", - "err": {}, - "uuid": "f306c623-5604-40dc-b170-2e9fe3990789", - "parentUUID": "525667f7-fce5-4313-b452-6dfa2efcccc7", - "isHook": false, - "skipped": false - }, - { - "title": "The default limit of 25 should be reached for country level data:", - "fullTitle": "Get geopolitical data: The default limit of 25 should be reached for country level data:", - "timedOut": false, - "duration": 77, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "pending": false, - "context": null, - "code": "api.get('v2.0/data/geopoliticalunits/?rank=1')\n .set('Accept', 'application/json')\n .end(function(err, res) {\n assert.equal(res.body.data.length, 25);\n done();\n });", - "err": {}, - "uuid": "b3b5a16b-02c4-4a8a-98b5-10a8bbe5b821", - "parentUUID": "525667f7-fce5-4313-b452-6dfa2efcccc7", - "isHook": false, - "skipped": false - }, - { - "title": "Changing the limit should change the number of countries retrieved:", - "fullTitle": "Get geopolitical data: Changing the limit should change the number of countries retrieved:", - "timedOut": false, - "duration": 74, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "pending": false, - "context": null, - "code": "api.get('v2.0/data/geopoliticalunits/?rank=1&limit=30')\n .set('Accept', 'application/json')\n .end(function(err, res) {\n assert.equal(res.body.data.length, 30);\n done();\n });", - "err": {}, - "uuid": "80980772-19a0-4375-bb91-2fcdf3eced6a", - "parentUUID": "525667f7-fce5-4313-b452-6dfa2efcccc7", - "isHook": false, - "skipped": false - }, - { - "title": "A single geopolitical unit (12) should be returned.", - "fullTitle": "Get geopolitical data: A single geopolitical unit (12) should be returned.", - "timedOut": false, - "duration": 68, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "pending": false, - "context": null, - "code": "api.get('v2.0/data/geopoliticalunits/12')\n .set('Accept', 'application/json')\n .end(function(err, res) {\n assert.equal(res.body.data[0]['geopoliticalid'], 12);\n done();\n });", - "err": {}, - "uuid": "b7cb9a56-c958-47e0-9caf-cc5d26a507f3", - "parentUUID": "525667f7-fce5-4313-b452-6dfa2efcccc7", - "isHook": false, - "skipped": false - } - ], - "suites": [], - "passes": [ - "f306c623-5604-40dc-b170-2e9fe3990789", - "b3b5a16b-02c4-4a8a-98b5-10a8bbe5b821", - "80980772-19a0-4375-bb91-2fcdf3eced6a", - "b7cb9a56-c958-47e0-9caf-cc5d26a507f3" - ], - "failures": [], - "pending": [], - "skipped": [], - "duration": 295, - "root": false, - "rootEmpty": false, - "_timeout": 5000 } ], "passes": [], diff --git a/test/v1.5-data-contacts-{contactid}-test.js b/test/v1.5-data-contacts-{contactid}-test.js index 35a0a174..ec249f5b 100644 --- a/test/v1.5-data-contacts-{contactid}-test.js +++ b/test/v1.5-data-contacts-{contactid}-test.js @@ -7,7 +7,7 @@ var expect = chakram.expect; describe('tests for /v1.5/data/contacts/{contactid}', function() { describe('tests for get', function() { it('should respond 200 for "Contact"', function() { - var response = request('get', 'http://localhost:3001/v1.5/data/contacts/-45400452', { + var response = request('get', 'http://localhost:3001/v1.5/data/contacts/-2097676', { 'time': true }); diff --git a/test/v1.5-data-geopoliticalunits-test.js b/test/v1.5-data-geopoliticalunits-test.js index 4ac52886..96689a0e 100644 --- a/test/v1.5-data-geopoliticalunits-test.js +++ b/test/v1.5-data-geopoliticalunits-test.js @@ -8,7 +8,7 @@ describe('tests for /v1.5/data/geopoliticalunits', function() { describe('tests for get', function() { it('should respond 200 for "An array of geopolitical units."', function() { var response = request('get', 'http://localhost:3001/v1.5/data/geopoliticalunits', { - 'qs': {"gpid":5392,"gpname":"Canada","rank":1,"lower":true}, + 'qs': {"gpid":5392,"gpname":"Canada","rank":3,"lower":false}, 'time': true }); diff --git a/test/v1.5-data-geopoliticalunits-{gpid}-test.js b/test/v1.5-data-geopoliticalunits-{gpid}-test.js index 573ac5a6..6d98681c 100644 --- a/test/v1.5-data-geopoliticalunits-{gpid}-test.js +++ b/test/v1.5-data-geopoliticalunits-{gpid}-test.js @@ -7,7 +7,7 @@ var expect = chakram.expect; describe('tests for /v1.5/data/geopoliticalunits/{gpid}', function() { describe('tests for get', function() { it('should respond 200 for "An array of geopolitical units."', function() { - var response = request('get', 'http://localhost:3001/v1.5/data/geopoliticalunits/716', { + var response = request('get', 'http://localhost:3001/v1.5/data/geopoliticalunits/7972', { 'time': true }); diff --git a/test/v2.0-apps-constdb-datasets-test.js b/test/v2.0-apps-constdb-datasets-test.js index f70ad582..47a47f65 100644 --- a/test/v2.0-apps-constdb-datasets-test.js +++ b/test/v2.0-apps-constdb-datasets-test.js @@ -8,7 +8,7 @@ describe('tests for /v2.0/apps/constdb/datasets', function() { describe('tests for get', function() { it('should respond 200 for "Returns the set of datasets contained within a constituent database, identified by the constituent database identifier. Used for quick landing page generation. "', function() { var response = request('get', 'http://localhost:3001/v2.0/apps/constdb/datasets', { - 'qs': {"dbid":20}, + 'qs': {"dbid":7}, 'time': true }); diff --git a/test/v2.0-apps-constdb-datasetuploads-test.js b/test/v2.0-apps-constdb-datasetuploads-test.js index b7697f43..93695519 100644 --- a/test/v2.0-apps-constdb-datasetuploads-test.js +++ b/test/v2.0-apps-constdb-datasetuploads-test.js @@ -8,7 +8,7 @@ describe('tests for /v2.0/apps/constdb/datasetuploads', function() { describe('tests for get', function() { it('should respond 200 for "Returns an ordered array (from earliest to latest) of upload counts by month (YYYY/MM/DD; all days as 01). Months with no uploads are excluded. "', function() { var response = request('get', 'http://localhost:3001/v2.0/apps/constdb/datasetuploads', { - 'qs': {"dbid":16}, + 'qs': {"dbid":2}, 'time': true }); diff --git a/test/v2.0-apps-depenvt-test.js b/test/v2.0-apps-depenvt-test.js index e30ecda8..abdbb7b9 100644 --- a/test/v2.0-apps-depenvt-test.js +++ b/test/v2.0-apps-depenvt-test.js @@ -8,7 +8,7 @@ describe('tests for /v2.0/apps/depenvt', function() { describe('tests for get', function() { it('should respond 200 for "This returns the information about depositional environment for selected dataset/collection unit/site."', function() { var response = request('get', 'http://localhost:3001/v2.0/apps/depenvt', { - 'qs': {"siteid":4712,"datasetid":15304005,"collectionunitid":7254}, + 'qs': {"siteid":8235,"datasetid":12990720,"collectionunitid":17491}, 'time': true }); diff --git a/test/v2.0-data-aedna-sequences-{datasetid}-test.js b/test/v2.0-data-aedna-sequences-{datasetid}-test.js new file mode 100644 index 00000000..eb4def22 --- /dev/null +++ b/test/v2.0-data-aedna-sequences-{datasetid}-test.js @@ -0,0 +1,19 @@ +'use strict'; +var mocha = require('mocha'); +var chakram = require('chakram'); +var request = chakram.request; +var expect = chakram.expect; + +describe('tests for /v2.0/data/aedna/sequences/{datasetid}', function() { + describe('tests for get', function() { + it('should respond 200 for "aeDNA sequences grouped by taxon for the dataset."', function() { + var response = request('get', 'http://localhost:3001/v2.0/data/aedna/sequences/500', { + 'time': true + }); + + expect(response).to.have.status(200); + return chakram.wait(); + }); + + }); +}); \ No newline at end of file diff --git a/test/v2.0-data-aedna-taxa-{taxonid}-sequences-test.js b/test/v2.0-data-aedna-taxa-{taxonid}-sequences-test.js new file mode 100644 index 00000000..2ddc0cc6 --- /dev/null +++ b/test/v2.0-data-aedna-taxa-{taxonid}-sequences-test.js @@ -0,0 +1,19 @@ +'use strict'; +var mocha = require('mocha'); +var chakram = require('chakram'); +var request = chakram.request; +var expect = chakram.expect; + +describe('tests for /v2.0/data/aedna/taxa/{taxonid}/sequences', function() { + describe('tests for get', function() { + it('should respond 200 for "An array of aeDNA sequences for the taxon."', function() { + var response = request('get', 'http://localhost:3001/v2.0/data/aedna/taxa/500/sequences', { + 'time': true + }); + + expect(response).to.have.status(200); + return chakram.wait(); + }); + + }); +}); \ No newline at end of file diff --git a/test/v2.0-data-aggregatedatasets-{aggdatasetid}-test.js b/test/v2.0-data-aggregatedatasets-{aggdatasetid}-test.js index d055555e..c179a8e8 100644 --- a/test/v2.0-data-aggregatedatasets-{aggdatasetid}-test.js +++ b/test/v2.0-data-aggregatedatasets-{aggdatasetid}-test.js @@ -7,7 +7,7 @@ var expect = chakram.expect; describe('tests for /v2.0/data/aggregatedatasets/{aggdatasetid}', function() { describe('tests for get', function() { it('should respond 200 for "An array of datasets."', function() { - var response = request('get', 'http://localhost:3001/v2.0/data/aggregatedatasets/5536', { + var response = request('get', 'http://localhost:3001/v2.0/data/aggregatedatasets/500', { 'time': true }); diff --git a/test/v2.0-data-contacts-test.js b/test/v2.0-data-contacts-test.js index acadf0e4..affc0738 100644 --- a/test/v2.0-data-contacts-test.js +++ b/test/v2.0-data-contacts-test.js @@ -8,7 +8,7 @@ describe('tests for /v2.0/data/contacts', function() { describe('tests for get', function() { it('should respond 200 for "contact"', function() { var response = request('get', 'http://localhost:3001/v2.0/data/contacts', { - 'qs': {"contactid":8421,"familyname":"UcoCW","contactname":"FDc","contactstatus":"active","limit": 10,"offset": 0}, + 'qs': {"contactid":2387,"familyname":"nU","contactname":"WwCt O'dJBx","contactstatus":"defunct","limit": 10,"offset": 0}, 'time': true }); diff --git a/test/v2.0-data-contacts-{contactid}-publications-test.js b/test/v2.0-data-contacts-{contactid}-publications-test.js new file mode 100644 index 00000000..081f7e3c --- /dev/null +++ b/test/v2.0-data-contacts-{contactid}-publications-test.js @@ -0,0 +1,19 @@ +'use strict'; +var mocha = require('mocha'); +var chakram = require('chakram'); +var request = chakram.request; +var expect = chakram.expect; + +describe('tests for /v2.0/data/contacts/{contactid}/publications', function() { + describe('tests for get', function() { + it('should respond 200 for "An array of publications associated with the contact."', function() { + var response = request('get', 'http://localhost:3001/v2.0/data/contacts/2594/publications', { + 'time': true + }); + + expect(response).to.have.status(200); + return chakram.wait(); + }); + + }); +}); \ No newline at end of file diff --git a/test/v2.0-data-contacts-{contactid}-sites-test.js b/test/v2.0-data-contacts-{contactid}-sites-test.js index 5cbb8a7f..e242a236 100644 --- a/test/v2.0-data-contacts-{contactid}-sites-test.js +++ b/test/v2.0-data-contacts-{contactid}-sites-test.js @@ -7,7 +7,7 @@ var expect = chakram.expect; describe('tests for /v2.0/data/contacts/{contactid}/sites', function() { describe('tests for get', function() { it('should respond 200 for "A Neotoma sites object."', function() { - var response = request('get', 'http://localhost:3001/v2.0/data/contacts/500/sites', { + var response = request('get', 'http://localhost:3001/v2.0/data/contacts/6889/sites', { 'time': true }); diff --git a/test/v2.0-data-contacts-{contactid}-test.js b/test/v2.0-data-contacts-{contactid}-test.js index 355cb01d..685e8559 100644 --- a/test/v2.0-data-contacts-{contactid}-test.js +++ b/test/v2.0-data-contacts-{contactid}-test.js @@ -7,7 +7,7 @@ var expect = chakram.expect; describe('tests for /v2.0/data/contacts/{contactid}', function() { describe('tests for get', function() { it('should respond 200 for "A Neotoma contacts object."', function() { - var response = request('get', 'http://localhost:3001/v2.0/data/contacts/1231', { + var response = request('get', 'http://localhost:3001/v2.0/data/contacts/8026', { 'time': true }); diff --git a/test/v2.0-data-datasets-db-test.js b/test/v2.0-data-datasets-db-test.js index 87eebf55..76c2d143 100644 --- a/test/v2.0-data-datasets-db-test.js +++ b/test/v2.0-data-datasets-db-test.js @@ -8,7 +8,7 @@ describe('tests for /v2.0/data/datasets/db', function() { describe('tests for get', function() { it('should respond 200 for "Datasets"', function() { var response = request('get', 'http://localhost:3001/v2.0/data/datasets/db', { - 'qs': {"limit": 10,"offset": 0,"database":"NDSU Insect Database"}, + 'qs': {"limit": 10,"offset": 0,"database":"Diatom Paleolimnology Data Cooperative (DPDC)"}, 'time': true }); diff --git a/test/v2.0-data-datasets-test.js b/test/v2.0-data-datasets-test.js index a6bf4f9b..09a79c81 100644 --- a/test/v2.0-data-datasets-test.js +++ b/test/v2.0-data-datasets-test.js @@ -8,7 +8,7 @@ describe('tests for /v2.0/data/datasets', function() { describe('tests for get', function() { it('should respond 200 for "An array of datasets."', function() { var response = request('get', 'http://localhost:3001/v2.0/data/datasets', { - 'qs': {"sitename":"Excepteur sint anim sed do","database":"Canadian Pollen Database","datasettype":"charcoal surface sample","altmin": 10,"altmax": 100,"loc":"{\"type\":\"Polygon\",\"crs\":{\"type\":\"name\",\"properties\":{\"name\":\"EPSG:4326\"}},\"coordinates\":[[[13.4,55.92],[13.5,55.92],[13.5,55.95],[13.4,55.95],[13.4,55.92]]]}","siteid":45345,"datasetid":12116711,"doi":"10d91690/6YEIVB","gpid":5392,"keyword":"modern","contactid":14536,"taxa":"dolore elit","ageyoung": 1000,"ageold": 10000,"ageof":13721899,"limit": 10,"offset": 0}, + 'qs': {"sitename":"ea reprehenderit Duis exercitation","database":"FAUNMAP","datasettype":"specimen stable isotope","altmin": 10,"altmax": 100,"loc":"{\"type\":\"Polygon\",\"crs\":{\"type\":\"name\",\"properties\":{\"name\":\"EPSG:4326\"}},\"coordinates\":[[[13.4,55.92],[13.5,55.92],[13.5,55.95],[13.4,55.95],[13.4,55.92]]]}","siteid":1671,"datasetid":33225555,"doi":"10F3028263/I","gpid":5392,"keyword":"beyond radiocarbon","contactid":952,"taxa":"occaecat ut elit est et","ageyoung": 1000,"ageold": 10000,"ageof":21061821,"limit": 10,"offset": 0}, 'time': true }); diff --git a/test/v2.0-data-datasets_elc-test.js b/test/v2.0-data-datasets_elc-test.js index 0ec6f9e3..c3fd91a7 100644 --- a/test/v2.0-data-datasets_elc-test.js +++ b/test/v2.0-data-datasets_elc-test.js @@ -8,7 +8,7 @@ describe('tests for /v2.0/data/datasets_elc', function() { describe('tests for get', function() { it('should respond 200 for "A Neotoma datasets object suitable for the EarthLife Consortium API."', function() { var response = request('get', 'http://localhost:3001/v2.0/data/datasets_elc', { - 'qs': {"siteid":19427,"contactid":9808,"datasettype":"ostracode surface sample","altmin": 10,"altmax": 100,"loc":"{\"type\":\"Polygon\",\"crs\":{\"type\":\"name\",\"properties\":{\"name\":\"EPSG:4326\"}},\"coordinates\":[[[13.4,55.92],[13.5,55.92],[13.5,55.95],[13.4,55.95],[13.4,55.92]]]}","ageyoung": 1000,"ageold": 10000,"ageof":22042396}, + 'qs': {"siteid":7265,"contactid":10455,"datasettype":"geochronologic","altmin": 10,"altmax": 100,"loc":"{\"type\":\"Polygon\",\"crs\":{\"type\":\"name\",\"properties\":{\"name\":\"EPSG:4326\"}},\"coordinates\":[[[13.4,55.92],[13.5,55.92],[13.5,55.95],[13.4,55.95],[13.4,55.92]]]}","ageyoung": 1000,"ageold": 10000,"ageof":16732658}, 'time': true }); diff --git a/test/v2.0-data-dbtables-test.js b/test/v2.0-data-dbtables-test.js index 29d49cc3..c924c472 100644 --- a/test/v2.0-data-dbtables-test.js +++ b/test/v2.0-data-dbtables-test.js @@ -8,7 +8,7 @@ describe('tests for /v2.0/data/dbtables', function() { describe('tests for get', function() { it('should respond 200 for "Returned table."', function() { var response = request('get', 'http://localhost:3001/v2.0/data/dbtables', { - 'qs': {"table":"culpa qui aliqua","count":false,"limit": 10,"offset": 0}, + 'qs': {"table":"voluptate pariatur","count":true,"limit": 10,"offset": 0}, 'time': true }); diff --git a/test/v2.0-data-dbtables-{table}-test.js b/test/v2.0-data-dbtables-{table}-test.js index a4d72abc..57dee4f5 100644 --- a/test/v2.0-data-dbtables-{table}-test.js +++ b/test/v2.0-data-dbtables-{table}-test.js @@ -7,7 +7,7 @@ var expect = chakram.expect; describe('tests for /v2.0/data/dbtables/{table}', function() { describe('tests for get', function() { it('should respond 200 for "Returned table."', function() { - var response = request('get', 'http://localhost:3001/v2.0/data/dbtables/veniam', { + var response = request('get', 'http://localhost:3001/v2.0/data/dbtables/minimLoremExcepteur', { 'qs': {"count":true,"limit": 10,"offset": 0}, 'time': true }); diff --git a/test/v2.0-data-geopoliticalunits-test.js b/test/v2.0-data-geopoliticalunits-test.js index a2901a69..00c81672 100644 --- a/test/v2.0-data-geopoliticalunits-test.js +++ b/test/v2.0-data-geopoliticalunits-test.js @@ -8,7 +8,7 @@ describe('tests for /v2.0/data/geopoliticalunits', function() { describe('tests for get', function() { it('should respond 200 for "An array of geopolitical units."', function() { var response = request('get', 'http://localhost:3001/v2.0/data/geopoliticalunits', { - 'qs': {"gpid":5392,"gpname":"Canada","rank":4,"lower":true}, + 'qs': {"gpid":5392,"gpname":"Canada","rank":2,"lower":false}, 'time': true }); diff --git a/test/v2.0-data-geopoliticalunits-{gpid}-datasets-test.js b/test/v2.0-data-geopoliticalunits-{gpid}-datasets-test.js index 84939aaa..282b258b 100644 --- a/test/v2.0-data-geopoliticalunits-{gpid}-datasets-test.js +++ b/test/v2.0-data-geopoliticalunits-{gpid}-datasets-test.js @@ -7,7 +7,7 @@ var expect = chakram.expect; describe('tests for /v2.0/data/geopoliticalunits/{gpid}/datasets', function() { describe('tests for get', function() { it('should respond 200 for "An array of datasets."', function() { - var response = request('get', 'http://localhost:3001/v2.0/data/geopoliticalunits/4013/datasets', { + var response = request('get', 'http://localhost:3001/v2.0/data/geopoliticalunits/90/datasets', { 'qs': {"limit": 10,"offset": 0}, 'time': true }); diff --git a/test/v2.0-data-geopoliticalunits-{gpid}-sites-test.js b/test/v2.0-data-geopoliticalunits-{gpid}-sites-test.js index 071ed579..7ad685a5 100644 --- a/test/v2.0-data-geopoliticalunits-{gpid}-sites-test.js +++ b/test/v2.0-data-geopoliticalunits-{gpid}-sites-test.js @@ -7,7 +7,7 @@ var expect = chakram.expect; describe('tests for /v2.0/data/geopoliticalunits/{gpid}/sites', function() { describe('tests for get', function() { it('should respond 200 for "An array of sites."', function() { - var response = request('get', 'http://localhost:3001/v2.0/data/geopoliticalunits/9953/sites', { + var response = request('get', 'http://localhost:3001/v2.0/data/geopoliticalunits/4371/sites', { 'qs': {"limit": 10,"offset": 0}, 'time': true }); diff --git a/test/v2.0-data-geopoliticalunits-{gpid}-test.js b/test/v2.0-data-geopoliticalunits-{gpid}-test.js index f3b9a5c3..168bdd1e 100644 --- a/test/v2.0-data-geopoliticalunits-{gpid}-test.js +++ b/test/v2.0-data-geopoliticalunits-{gpid}-test.js @@ -7,7 +7,7 @@ var expect = chakram.expect; describe('tests for /v2.0/data/geopoliticalunits/{gpid}', function() { describe('tests for get', function() { it('should respond 200 for "An array of geopolitical units."', function() { - var response = request('get', 'http://localhost:3001/v2.0/data/geopoliticalunits/8983', { + var response = request('get', 'http://localhost:3001/v2.0/data/geopoliticalunits/4982', { 'time': true }); diff --git a/test/v2.0-data-occurrences-test.js b/test/v2.0-data-occurrences-test.js index fdc9128d..655ee01e 100644 --- a/test/v2.0-data-occurrences-test.js +++ b/test/v2.0-data-occurrences-test.js @@ -8,7 +8,7 @@ describe('tests for /v2.0/data/occurrences', function() { describe('tests for get', function() { it('should respond 200 for "occurrence"', function() { var response = request('get', 'http://localhost:3001/v2.0/data/occurrences', { - 'qs': {"taxonname":"do","taxonid":15630,"siteid":47495,"sitename":"Excepteur quis exercitation in voluptate","datasettype":"physical sedimentology","altmin": 10,"altmax": 100,"loc":"{\"type\":\"Polygon\",\"crs\":{\"type\":\"name\",\"properties\":{\"name\":\"EPSG:4326\"}},\"coordinates\":[[[13.4,55.92],[13.5,55.92],[13.5,55.95],[13.4,55.95],[13.4,55.92]]]}","ageof":2824041,"ageyoung": 1000,"ageold": 10000,"limit": 10,"offset": 0}, + 'qs': {"taxonname":"occaecat cupidatat labore sunt ad","taxonid":20557,"siteid":41770,"sitename":"et","datasettype":"geochemistry","altmin": 10,"altmax": 100,"loc":"{\"type\":\"Polygon\",\"crs\":{\"type\":\"name\",\"properties\":{\"name\":\"EPSG:4326\"}},\"coordinates\":[[[13.4,55.92],[13.5,55.92],[13.5,55.95],[13.4,55.95],[13.4,55.92]]]}","ageof":10629033,"ageyoung": 1000,"ageold": 10000,"limit": 10,"offset": 0}, 'time': true }); diff --git a/test/v2.0-data-pollen-test.js b/test/v2.0-data-pollen-test.js index d4f581a3..07087b26 100644 --- a/test/v2.0-data-pollen-test.js +++ b/test/v2.0-data-pollen-test.js @@ -8,7 +8,7 @@ describe('tests for /v2.0/data/pollen', function() { describe('tests for get', function() { it('should respond 200 for "A record of all pollen samples in time/space for a particular taxon."', function() { var response = request('get', 'http://localhost:3001/v2.0/data/pollen', { - 'qs': {"taxonname":"mollit ea exercitation","taxonid":26150,"siteid":43990,"sitename":"sint cupidatat deserunt quis laboris","datasettype":"X-ray diffraction (XRD)","altmin": 10,"altmax": 100,"loc":"{\"type\":\"Polygon\",\"crs\":{\"type\":\"name\",\"properties\":{\"name\":\"EPSG:4326\"}},\"coordinates\":[[[13.4,55.92],[13.5,55.92],[13.5,55.95],[13.4,55.95],[13.4,55.92]]]}","ageof":17402500,"ageyoung": 1000,"ageold": 10000,"limit": 10,"offset": 0}, + 'qs': {"taxonname":"dolor proident dolore cillum","taxonid":45760,"siteid":7899,"sitename":"fugiat eiusmod","datasettype":"macroinvertebrate","altmin": 10,"altmax": 100,"loc":"{\"type\":\"Polygon\",\"crs\":{\"type\":\"name\",\"properties\":{\"name\":\"EPSG:4326\"}},\"coordinates\":[[[13.4,55.92],[13.5,55.92],[13.5,55.95],[13.4,55.95],[13.4,55.92]]]}","ageof":3490473,"ageyoung": 1000,"ageold": 10000,"limit": 10,"offset": 0}, 'time': true }); diff --git a/test/v2.0-data-pollen-{id}-test.js b/test/v2.0-data-pollen-{id}-test.js index fa7c438f..bd57282b 100644 --- a/test/v2.0-data-pollen-{id}-test.js +++ b/test/v2.0-data-pollen-{id}-test.js @@ -7,7 +7,7 @@ var expect = chakram.expect; describe('tests for /v2.0/data/pollen/{id}', function() { describe('tests for get', function() { it('should respond 200 for "A record of all pollen samples in time/space for a particular taxon."', function() { - var response = request('get', 'http://localhost:3001/v2.0/data/pollen/500', { + var response = request('get', 'http://localhost:3001/v2.0/data/pollen/9055', { 'time': true }); diff --git a/test/v2.0-data-publications-test.js b/test/v2.0-data-publications-test.js index 099410b1..5c747785 100644 --- a/test/v2.0-data-publications-test.js +++ b/test/v2.0-data-publications-test.js @@ -8,7 +8,7 @@ describe('tests for /v2.0/data/publications', function() { describe('tests for get', function() { it('should respond 200 for "A list of publications."', function() { var response = request('get', 'http://localhost:3001/v2.0/data/publications', { - 'qs': {"publicationid":4903,"datasetid":19947503,"siteid":38778,"familyname":"'sLglW","pubtype":"Book Chapter","year":1527,"search":"ut sit in mollit","limit": 10,"offset": 0}, + 'qs': {"publicationid":1255,"datasetid":13617827,"siteid":44696,"familyname":"MpTf-oof","pubtype":"Book Chapter","year":1521,"search":"ad veniam occaecat","limit": 10,"offset": 0}, 'time': true }); diff --git a/test/v2.0-data-publications-{publicationid}-test.js b/test/v2.0-data-publications-{publicationid}-test.js index 03a5c5d3..24abedf9 100644 --- a/test/v2.0-data-publications-{publicationid}-test.js +++ b/test/v2.0-data-publications-{publicationid}-test.js @@ -7,7 +7,7 @@ var expect = chakram.expect; describe('tests for /v2.0/data/publications/{publicationid}', function() { describe('tests for get', function() { it('should respond 200 for "A list of publications."', function() { - var response = request('get', 'http://localhost:3001/v2.0/data/publications/5728', { + var response = request('get', 'http://localhost:3001/v2.0/data/publications/1784', { 'time': true }); diff --git a/test/v2.0-data-sites-test.js b/test/v2.0-data-sites-test.js index 332ec866..36806888 100644 --- a/test/v2.0-data-sites-test.js +++ b/test/v2.0-data-sites-test.js @@ -8,7 +8,7 @@ describe('tests for /v2.0/data/sites', function() { describe('tests for get', function() { it('should respond 200 for "An array of sites."', function() { var response = request('get', 'http://localhost:3001/v2.0/data/sites', { - 'qs': {"sitename":"nostrud velit dolore in in","database":"Diatom Paleolimnology Data Cooperative (DPDC)","datasettype":"modern biochemistry","altmin": 10,"altmax": 100,"loc":"{\"type\":\"Polygon\",\"crs\":{\"type\":\"name\",\"properties\":{\"name\":\"EPSG:4326\"}},\"coordinates\":[[[13.4,55.92],[13.5,55.92],[13.5,55.95],[13.4,55.95],[13.4,55.92]]]}","siteid":2022,"datasetid":67760076,"doi":"10)73259/W8;78U83/","gpid":5392,"keyword":"bottom","contactid":20094,"taxa":"adipisicing nostrud exercitation","ageyoung": 1000,"ageold": 10000,"ageof":19655794,"limit": 10,"offset": 0}, + 'qs': {"sitename":"veniam nisi","database":"Pollen Database of Siberia and the Russian Far East","datasettype":"diatom surface sample","altmin": 10,"altmax": 100,"loc":"{\"type\":\"Polygon\",\"crs\":{\"type\":\"name\",\"properties\":{\"name\":\"EPSG:4326\"}},\"coordinates\":[[[13.4,55.92],[13.5,55.92],[13.5,55.95],[13.4,55.95],[13.4,55.92]]]}","siteid":32791,"datasetid":51713500,"doi":"10+583361676/:)-","gpid":5392,"keyword":"pre-European","contactid":4167,"taxa":"minim","ageyoung": 1000,"ageold": 10000,"ageof":18393924,"limit": 10,"offset": 0}, 'time': true }); diff --git a/test/v2.0-data-sites-{siteid}-contacts-test.js b/test/v2.0-data-sites-{siteid}-contacts-test.js index 2d4595f4..b4c9d0b2 100644 --- a/test/v2.0-data-sites-{siteid}-contacts-test.js +++ b/test/v2.0-data-sites-{siteid}-contacts-test.js @@ -7,7 +7,7 @@ var expect = chakram.expect; describe('tests for /v2.0/data/sites/{siteid}/contacts', function() { describe('tests for get', function() { it('should respond 200 for "contact"', function() { - var response = request('get', 'http://localhost:3001/v2.0/data/sites/500/contacts', { + var response = request('get', 'http://localhost:3001/v2.0/data/sites/431/contacts', { 'time': true }); diff --git a/test/v2.0-data-sites-{siteid}-test.js b/test/v2.0-data-sites-{siteid}-test.js index 993cfae6..05960ef0 100644 --- a/test/v2.0-data-sites-{siteid}-test.js +++ b/test/v2.0-data-sites-{siteid}-test.js @@ -7,7 +7,7 @@ var expect = chakram.expect; describe('tests for /v2.0/data/sites/{siteid}', function() { describe('tests for get', function() { it('should respond 200 for "An array of sites."', function() { - var response = request('get', 'http://localhost:3001/v2.0/data/sites/500', { + var response = request('get', 'http://localhost:3001/v2.0/data/sites/3909', { 'time': true }); diff --git a/test/v2.0-data-spatial-faunal-test.js b/test/v2.0-data-spatial-faunal-test.js index dda3fd5b..e2cdc36a 100644 --- a/test/v2.0-data-spatial-faunal-test.js +++ b/test/v2.0-data-spatial-faunal-test.js @@ -8,7 +8,7 @@ describe('tests for /v2.0/data/spatial/faunal', function() { describe('tests for get', function() { it('should respond 200 for "An object containing all matched species names, identifiers and a GeoJSON polygon representing the UNIONed ranges for the selected species. All data is derived from:
* Mammal Diversity Database. (2020). Mammal Diversity Database (Version 1.2) [Data set]. Zenodo. DOI: [10.5281/zenodo.4139818](https://doi.org/10.5281/zenodo.4139818).
* Map of Life. (2021). Mammal range maps harmonised to the Mammals Diversity Database [Data set]. Map of Life. [10.48600/MOL-48VZ-P413](https://doi.org/10.48600/MOL-48VZ-P413) "', function() { var response = request('get', 'http://localhost:3001/v2.0/data/spatial/faunal', { - 'qs': {"sciname":"consectetur quis reprehenderit","proj": 4326,"prec": 1000}, + 'qs': {"sciname":"esse veniam commodo do pariatur","proj": 4326,"prec": 1000}, 'time': true }); diff --git a/test/v2.0-data-spatial-icesheet-test.js b/test/v2.0-data-spatial-icesheet-test.js index 0ad635ca..b1cf0a9f 100644 --- a/test/v2.0-data-spatial-icesheet-test.js +++ b/test/v2.0-data-spatial-icesheet-test.js @@ -8,7 +8,7 @@ describe('tests for /v2.0/data/spatial/icesheet', function() { describe('tests for get', function() { it('should respond 200 for "An object containing glacial extents for the selected time period (in **calibrated radiocarbon years**). "', function() { var response = request('get', 'http://localhost:3001/v2.0/data/spatial/icesheet', { - 'qs': {"age":13209,"proj": 4326,"prec": 1000}, + 'qs': {"age":17778,"proj": 4326,"prec": 1000}, 'time': true }); diff --git a/test/v2.0-data-spatial-lakes-test.js b/test/v2.0-data-spatial-lakes-test.js index f828826d..70b01b1d 100644 --- a/test/v2.0-data-spatial-lakes-test.js +++ b/test/v2.0-data-spatial-lakes-test.js @@ -8,7 +8,7 @@ describe('tests for /v2.0/data/spatial/lakes', function() { describe('tests for get', function() { it('should respond 200 for "An object containing all matched lakes within some buffer distance of a site. Data derived from the [HydroLakes database](https://www.hydrosheds.org/products/hydrolakes):
* Messager, M.L., Lehner, B., Grill, G., Nedeva, I., Schmitt, O. (2016). Estimating the volume and age of water stored in global lakes using a geo-statistical approach. *Nature Communications*, 7: 13603. doi: [10.1038/ncomms13603](https://doi.org/10.1038/ncomms13603) "', function() { var response = request('get', 'http://localhost:3001/v2.0/data/spatial/lakes', { - 'qs': {"siteid":14853,"buffer":3021,"prec": 1000,"proj": 4326}, + 'qs': {"siteid":14023,"buffer":5952,"prec": 1000,"proj": 4326}, 'time': true }); diff --git a/test/v2.0-data-speleothems-{collectionunitid}-test.js b/test/v2.0-data-speleothems-{collectionunitid}-test.js index 3bfc6046..8bce5449 100644 --- a/test/v2.0-data-speleothems-{collectionunitid}-test.js +++ b/test/v2.0-data-speleothems-{collectionunitid}-test.js @@ -7,7 +7,7 @@ var expect = chakram.expect; describe('tests for /v2.0/data/speleothems/{collectionunitid}', function() { describe('tests for get', function() { it('should respond 200 for "Metadata associated with speleothems submitted through SISAL."', function() { - var response = request('get', 'http://localhost:3001/v2.0/data/speleothems/7950', { + var response = request('get', 'http://localhost:3001/v2.0/data/speleothems/8805', { 'time': true }); diff --git a/test/v2.0-data-taxa-test.js b/test/v2.0-data-taxa-test.js index 3eae6ad8..323e5eb7 100644 --- a/test/v2.0-data-taxa-test.js +++ b/test/v2.0-data-taxa-test.js @@ -8,7 +8,7 @@ describe('tests for /v2.0/data/taxa', function() { describe('tests for get', function() { it('should respond 200 for "A taxon or array of taxa."', function() { var response = request('get', 'http://localhost:3001/v2.0/data/taxa', { - 'qs': {"taxonname":"do exercitation magna officia cupidatat","taxagroup":"sit commodo","ecolgroup":"laboris elit","status":0,"limit": 10,"offset": 0}, + 'qs': {"taxonname":"non dolor consequat","taxagroup":"in consectetur","ecolgroup":"et ut ex","status":true,"limit": 10,"offset": 0}, 'time': true }); diff --git a/v2.0/handlers/apps_handlers.js b/v2.0/handlers/apps_handlers.js index 36da4272..299c7fa5 100755 --- a/v2.0/handlers/apps_handlers.js +++ b/v2.0/handlers/apps_handlers.js @@ -301,16 +301,21 @@ async function meHandler(req, res) { const sql = ` SELECT l.orcidid, + l.expiresat, c.contactid, - COALESCE(c.contactname, l.orcidname) AS contactname + COALESCE(c.contactname, l.orcidname) AS contactname, + s.stewardid FROM ap.orcidlogins l LEFT JOIN ndb.externalcontacts ec ON ec.identifier = l.orcidid AND ec.extdatabaseid = 7 LEFT JOIN ndb.contacts c ON ec.contactid = c.contactid + LEFT JOIN ti.stewards s + ON s.contactid = c.contactid WHERE l.sessionuuid = $1 LIMIT 1 `; + const rows = await db.any(sql, [sessionuuid]); if (rows.length === 0) { @@ -324,7 +329,9 @@ async function meHandler(req, res) { orcid: rows[0].orcidid, name: rows[0].contactname, contactid: rows[0].contactid, // null if no link + stewardid: rows[0].stewardid, // null if not a steward sessionuuid, + expiresat: rows[0].expiresat, }, }); } catch (err) { diff --git a/v2.0/handlers/data_handlers.js b/v2.0/handlers/data_handlers.js index c435dc45..8e2c6714 100755 --- a/v2.0/handlers/data_handlers.js +++ b/v2.0/handlers/data_handlers.js @@ -155,6 +155,10 @@ module.exports = { const contact = require('../helpers/contacts/contacts.js'); contact.contactsbysiteid(req, res, next); }, + publicationsbycontactid: function(req, res, next) { + const contact = require('../helpers/contacts/contacts.js'); + contact.publicationsbycontactid(req, res, next); + }, // Chronologies chronologiesbyid: function(req, res, next) { const chronology = require('../helpers/chronology/chronology.js'); @@ -227,4 +231,13 @@ module.exports = { const aggregatedatasets = require('../helpers/datasets/datasets.js'); aggregatedatasets.datasetsbyaggid(req, res, next); }, + // AEDNA + aednasequences: function(req, res, next) { + const aedna = require('../helpers/aedna/aedna.js'); + aedna.sequencesbydsid(req, res, next); + }, + aednasequencesbytaxon: function(req, res, next) { + const aedna = require('../helpers/aedna/aedna.js'); + aedna.sequencesbytaxonid(req, res, next); + }, }; diff --git a/v2.0/helpers/aedna/aedna.js b/v2.0/helpers/aedna/aedna.js new file mode 100644 index 00000000..4ac65de2 --- /dev/null +++ b/v2.0/helpers/aedna/aedna.js @@ -0,0 +1,73 @@ +'use strict'; + +const {sql} = require('../../../src/neotomaapi.js'); + +const sequencesQuery = sql('../v2.0/helpers/aedna/sequences.sql'); +const sequencesByTaxonQuery = sql('../v2.0/helpers/aedna/sequencesbytaxon.sql'); + +/** + * Return aeDNA sequences for a dataset, with taxon assignment and model info. + * @param {object} req An Express request object. + * @param {object} res An Express response object. + * @param {object} next An Express next object. + */ +function sequencesbydsid(req, res, next) { + const db = req.app.locals.db; + const dsid = parseInt(req.params.datasetid); + + if (!dsid || isNaN(dsid)) { + return res.status(400).json({ + status: 'failure', + data: null, + message: 'A valid integer dataset ID is required.', + }); + } + + db.oneOrNone(sequencesQuery, {datasetid: dsid}) + .then(function(data) { + res.status(200).json({ + status: 'success', + data: data ? data.result : {datasetid: dsid, sequences: []}, + message: 'Retrieved aeDNA sequences for dataset.', + }); + }) + .catch(function(err) { + return res.status(500).json({ + status: 'failure', + message: err.message, + query: dsid, + }); + }); +} + +function sequencesbytaxonid(req, res, next) { + const db = req.app.locals.db; + const txid = parseInt(req.params.taxonid); + + if (!txid || isNaN(txid)) { + return res.status(400).json({ + status: 'failure', + data: null, + message: 'A valid integer taxon ID is required.', + }); + } + + db.any(sequencesByTaxonQuery, {taxonid: txid}) + .then(function(data) { + res.status(200).json({ + status: 'success', + data: data, + message: 'Retrieved aeDNA sequences for taxon.', + }); + }) + .catch(function(err) { + return res.status(500).json({ + status: 'failure', + message: err.message, + query: txid, + }); + }); +} + +module.exports.sequencesbydsid = sequencesbydsid; +module.exports.sequencesbytaxonid = sequencesbytaxonid; diff --git a/v2.0/helpers/aedna/sequences.sql b/v2.0/helpers/aedna/sequences.sql new file mode 100644 index 00000000..eae75538 --- /dev/null +++ b/v2.0/helpers/aedna/sequences.sql @@ -0,0 +1,77 @@ +WITH RECURSIVE taxon_climb AS ( + SELECT DISTINCT + am.taxonid AS base_taxonid, + t.taxonid, + t.taxonname, + t.highertaxonid, + 1 AS level + FROM ndb.sequences sq + INNER JOIN ndb.aednamodels am ON am.sequenceid = sq.sequenceid + INNER JOIN ndb.taxa t ON t.taxonid = am.taxonid + WHERE sq.datasetid = ${datasetid} + AND am.supersededbymodelid IS NULL + + UNION ALL + + SELECT + tc.base_taxonid, + t.taxonid, + t.taxonname, + t.highertaxonid, + tc.level + 1 + FROM ndb.taxa t + INNER JOIN taxon_climb tc ON t.taxonid = tc.highertaxonid + WHERE tc.highertaxonid IS NOT NULL + AND tc.highertaxonid <> tc.taxonid +), +taxon_chains AS ( + SELECT + base_taxonid, + jsonb_agg(taxonname ORDER BY level DESC) AS taxonchain + FROM taxon_climb + GROUP BY base_taxonid +), +sequence_details AS ( + SELECT + sq.sequenceid, + sq.sequence, + sq.primername, + am.taxonid, + am.model, + pb.doi AS publicationdoi + FROM ndb.sequences sq + INNER JOIN ndb.aednamodels am ON am.sequenceid = sq.sequenceid + LEFT JOIN ndb.publications pb ON pb.publicationid = am.publicationid + WHERE sq.datasetid = ${datasetid} + AND am.supersededbymodelid IS NULL +) +SELECT json_build_object( + 'datasetid', ${datasetid}, + 'sequences', COALESCE(json_agg( + json_build_object( + 'taxonid', g.taxonid, + 'taxonname', g.taxonname, + 'taxonchain', g.taxonchain, + 'sequences', g.seqs + ) + ), '[]'::json) +) AS result +FROM ( + SELECT + sd.taxonid, + tx.taxonname, + tc.taxonchain, + json_agg( + json_build_object( + 'sequenceid', sd.sequenceid, + 'sequence', sd.sequence, + 'model', sd.model, + 'primername', sd.primername, + 'publicationdoi', sd.publicationdoi + ) + ) AS seqs + FROM sequence_details sd + INNER JOIN ndb.taxa tx ON tx.taxonid = sd.taxonid + LEFT JOIN taxon_chains tc ON tc.base_taxonid = sd.taxonid + GROUP BY sd.taxonid, tx.taxonname, tc.taxonchain +) AS g; diff --git a/v2.0/helpers/aedna/sequencesbytaxon.sql b/v2.0/helpers/aedna/sequencesbytaxon.sql new file mode 100644 index 00000000..455be7f8 --- /dev/null +++ b/v2.0/helpers/aedna/sequencesbytaxon.sql @@ -0,0 +1,12 @@ +SELECT + sq.sequenceid, + sq.sequence, + am.model, + sq.primername, + pb.doi AS publicationdoi +FROM ndb.aednamodels am +INNER JOIN ndb.sequences sq ON sq.sequenceid = am.sequenceid +LEFT JOIN ndb.publications pb ON pb.publicationid = am.publicationid +WHERE am.taxonid = ${taxonid} + AND am.supersededbymodelid IS NULL +ORDER BY sq.sequenceid; diff --git a/v2.0/helpers/contacts/contactbyid.sql b/v2.0/helpers/contacts/contactbyid.sql index eabee2ec..7f05706b 100755 --- a/v2.0/helpers/contacts/contactbyid.sql +++ b/v2.0/helpers/contacts/contactbyid.sql @@ -1,5 +1,6 @@ SELECT cnt.contactid, + stw.stewardid, cnt.contactname, cnt.familyname, cnt.leadinginitials, @@ -12,8 +13,9 @@ SELECT cnt.url, cnt.address, cnt.notes, - cst.contactstatus + cst.contactstatus FROM ndb.contacts AS cnt INNER JOIN ndb.contactstatuses AS cst ON cnt.contactstatusid = cst.contactstatusid + LEFT JOIN ti.stewards AS stw ON stw.contactid = cnt.contactid WHERE cnt.contactid IN ($1:csv); diff --git a/v2.0/helpers/contacts/contactquery.sql b/v2.0/helpers/contacts/contactquery.sql index b81fbc0b..1b3c540d 100755 --- a/v2.0/helpers/contacts/contactquery.sql +++ b/v2.0/helpers/contacts/contactquery.sql @@ -6,6 +6,7 @@ WITH tightnames AS ( GROUP BY ct.contactid) SELECT cnt.contactid, + stw.stewardid, cnt.contactname, cnt.familyname, cnt.leadinginitials, @@ -18,11 +19,12 @@ SELECT cnt.url, cnt.address, cnt.notes, - cst.contactstatus + cst.contactstatus FROM ndb.contacts AS cnt INNER JOIN ndb.contactstatuses AS cst ON cnt.contactstatusid = cst.contactstatusid INNER JOIN tightnames AS tn ON tn.contactid = cnt.contactid + LEFT JOIN ti.stewards AS stw ON stw.contactid = cnt.contactid WHERE (${familyname} IS NULL OR LOWER(cnt.familyname) LIKE LOWER(${familyname})) AND (${contactid} IS NULL OR cnt.contactid = ANY(${contactid})) diff --git a/v2.0/helpers/contacts/contacts.js b/v2.0/helpers/contacts/contacts.js index 64b453b1..8ff64ae3 100755 --- a/v2.0/helpers/contacts/contacts.js +++ b/v2.0/helpers/contacts/contacts.js @@ -7,6 +7,7 @@ const contactbyid = sql('../v2.0/helpers/contacts/contactbyid.sql'); const contactquery = sql('../v2.0/helpers/contacts/contactquery.sql'); const contactbydsid = sql('../v2.0/helpers/contacts/contactbydsid.sql'); const contactbystid = sql('../v2.0/helpers/contacts/contactbysiteid.sql'); +const pubbycontactid = sql('../v2.0/helpers/contacts/pubbycontactid.sql'); /** * General call to obtain contact information from the Neotoma Database. @@ -256,8 +257,43 @@ function contactsbysiteid(req, res, next) { }); } +/** + * Return publications for a contact by contact ID. + * @param {req} req An express.js `requests` object. + * @param {res} res An express.js `response` object. + * @param {next} next An express.js `next` object. + */ +function publicationsbycontactid(req, res, next) { + const db = req.app.locals.db; + const contactid = parseInt(req.params.contactid); + + if (!contactid || isNaN(contactid)) { + return res.status(400).json({ + status: 'failure', + data: null, + message: 'A valid integer contact ID is required.', + }); + } + + db.any(pubbycontactid, {contactid}) + .then(function(data) { + res.status(200).json({ + status: 'success', + data: data, + message: 'Retrieved publications for contact.', + }); + }) + .catch(function(err) { + res.status(500).json({ + status: 'failure', + data: err.message, + }); + }); +} + module.exports.contactquery = contacts; module.exports.contactsbyid = contactsbyid; module.exports.contactsbydataid = contactsbydataid; module.exports.contactsbysiteid = contactsbysiteid; module.exports.contactclassbydsid = contactclassbydsid; +module.exports.publicationsbycontactid = publicationsbycontactid; diff --git a/v2.0/helpers/contacts/pubbycontactid.sql b/v2.0/helpers/contacts/pubbycontactid.sql new file mode 100644 index 00000000..2eaff949 --- /dev/null +++ b/v2.0/helpers/contacts/pubbycontactid.sql @@ -0,0 +1,9 @@ +SELECT + p.publicationid, + p.citation, + p.year, + p.doi +FROM ndb.publications p +INNER JOIN ndb.publicationauthors pa ON pa.publicationid = p.publicationid +WHERE pa.contactid = ${contactid} +ORDER BY p.year DESC, p.publicationid; diff --git a/v2.0/helpers/datasets/datasetqueryfaster.sql b/v2.0/helpers/datasets/datasetqueryfaster.sql index 92ffc48d..97c3fc44 100644 --- a/v2.0/helpers/datasets/datasetqueryfaster.sql +++ b/v2.0/helpers/datasets/datasetqueryfaster.sql @@ -25,8 +25,8 @@ WITH filtered_datasets AS ( ORDER BY bigq.siteid, bigq.datasetid -- This is cheating a bit. We're querying a smaller chunk here and hoping that taking 3 times the datasets is enough -- to get us the actual limit. - LIMIT COALESCE(${limit}, 25) * 3 - OFFSET COALESCE(${offset}, 0) + -- LIMIT COALESCE(${limit}, 25) * 3 + -- OFFSET COALESCE(${offset}, 0) ), -- Now these CTEs work on a much smaller dataset dataset_dois AS ( diff --git a/v2.0/helpers/download/download.js b/v2.0/helpers/download/download.js index 23a5f1fc..de310413 100644 --- a/v2.0/helpers/download/download.js +++ b/v2.0/helpers/download/download.js @@ -3,6 +3,7 @@ const { sql, getparam, ifUndef } = require('../../../src/neotomaapi.js'); const downloadsql = sql('../v2.0/helpers/download/downloadbydsid.sql'); +const sequencesql = sql('../v2.0/helpers/download/sequencebydata.sql'); function getdefault (chron) { function quickrank (chronrank) { @@ -81,12 +82,64 @@ function downloadbyid (req, res, next) { } return returner; }) - res.status(200) - .json({ + + // Collect all dataids from datum objects to look up sequenceids + var allDataIds = []; + returner.forEach(function (item) { + try { + var samples = item.site.collectionunit.dataset.samples; + if (Array.isArray(samples)) { + samples.forEach(function (sample) { + if (Array.isArray(sample.datum)) { + sample.datum.forEach(function (d) { + if (d.dataid) { allDataIds.push(d.dataid); } + }); + } + }); + } + } catch (e) { /* skip items without samples */ } + }); + + if (allDataIds.length === 0) { + return res.status(200).json({ status: 'success', data: returner, message: 'Retrieved all tables' }); + } + + var uniqueDataIds = [...new Set(allDataIds)]; + + return db.any(sequencesql, {dataids: uniqueDataIds}) + .then(function (seqData) { + var seqMap = {}; + seqData.forEach(function (row) { + seqMap[row.dataid] = row.sequence; + }); + + returner.forEach(function (item) { + try { + var samples = item.site.collectionunit.dataset.samples; + if (Array.isArray(samples)) { + samples.forEach(function (sample) { + if (Array.isArray(sample.datum)) { + sample.datum.forEach(function (d) { + if (d.dataid && seqMap[d.dataid] !== undefined) { + d.sequence = seqMap[d.dataid]; + } + }); + } + }); + } + } catch (e) { /* skip */ } + }); + + return res.status(200).json({ + status: 'success', + data: returner, + message: 'Retrieved all tables' + }); + }); }) .catch(function (err) { res.status(500) diff --git a/v2.0/helpers/download/sequencebydata.sql b/v2.0/helpers/download/sequencebydata.sql new file mode 100644 index 00000000..8c277656 --- /dev/null +++ b/v2.0/helpers/download/sequencebydata.sql @@ -0,0 +1,5 @@ +SELECT DISTINCT ON (sd.dataid) sd.dataid, sq.sequence +FROM ndb.sequencedata sd +INNER JOIN ndb.sequences sq ON sq.sequenceid = sd.sequenceid +WHERE sd.dataid = ANY(${dataids}) +ORDER BY sd.dataid, sd.sequenceid DESC; diff --git a/v2.0/helpers/publications/pubdsidquery.sql b/v2.0/helpers/publications/pubdsidquery.sql index 4d42870a..0c37bca0 100755 --- a/v2.0/helpers/publications/pubdsidquery.sql +++ b/v2.0/helpers/publications/pubdsidquery.sql @@ -1,7 +1,7 @@ -WITH dpub AS - (SELECT * FROM - ndb.datasetpublications as dp - WHERE ($1 IS NULL OR dp.datasetid IN ($1:csv))) +WITH dpub AS ( + SELECT * FROM ndb.datasetpublications AS dp + WHERE ($1 IS NULL OR dp.datasetid IN ($1:csv)) +) SELECT json_build_object( 'datasets', json_agg(DISTINCT jsonb_build_object('siteid', dsl.siteid, 'datasetid', dpub.datasetid, @@ -35,9 +35,9 @@ SELECT json_build_object( 'givennames', ca.givennames, 'order', pa.authororder))) AS publication FROM ndb.publications AS pub - INNER JOIN ndb.publicationauthors AS pa ON pub.publicationid = pa.publicationid - INNER JOIN ndb.contacts as ca ON ca.contactid = pa.contactid - INNER JOIN ndb.publicationtypes AS pt ON pub.pubtypeid = pt.pubtypeid - INNER JOIN (SELECT * FROM dpub) AS dpub ON dpub.publicationid = pub.publicationid + INNER JOIN dpub ON dpub.publicationid = pub.publicationid + LEFT JOIN ndb.publicationauthors AS pa ON pub.publicationid = pa.publicationid + LEFT JOIN ndb.contacts as ca ON ca.contactid = pa.contactid + LEFT JOIN ndb.publicationtypes AS pt ON pub.pubtypeid = pt.pubtypeid LEFT JOIN ndb.dslinks AS dsl ON dsl.datasetid = dpub.datasetid GROUP BY pub.publicationid, pt.pubtype diff --git a/v2.0/helpers/publications/publications.js b/v2.0/helpers/publications/publications.js index dcf8f535..8558afe0 100755 --- a/v2.0/helpers/publications/publications.js +++ b/v2.0/helpers/publications/publications.js @@ -154,33 +154,10 @@ function publicationbydataset (req, res, next) { db.any(pubbydsid, [datasetid]) .then(function (data) { - // var bibOutput = bib.formatpublbib(data); - var bibOutput = data; - - /* This is a sequence I use to aggregate the publications by site */ - var returner = []; - var uniquepubs = bibOutput.map(x => x.publicationid).filter((x, i, a) => a.indexOf(x) === i) - - for (var i = 0; i < uniquepubs.length; i++) { - returner[i] = { 'publicationid': uniquepubs[i] } - } - - for (i = 0; i < bibOutput.length; i++) { - var returnid = returner.map(x => x.publicationid).indexOf(bibOutput[i].publicationid) - - if (!('title' in returner[returnid])) { - /* Using `title` as a placeholder for any record that hasn't been added. */ - returner[returnid] = bibOutput[i] - returner[returnid].datasetid = [returner[returnid].datasetid] - } else { - returner[returnid]['datasetid'].push(bibOutput[i].datasetid); - } - } - res.status(200) .json({ status: 'success', - data: bibOutput, + data: data, message: 'Retrieved all tables' }); }) diff --git a/v2.0/routes/apps.js b/v2.0/routes/apps.js index 6b4e8649..6cb18b9f 100755 --- a/v2.0/routes/apps.js +++ b/v2.0/routes/apps.js @@ -16,17 +16,6 @@ router.get('/', function(req, res, next) { res.send('NeotomaDB apps API: please provide a valid request'); }); -router.get('/whoami', requireAuth, function(req, res) { - res.status(200).json({ - status: 'success', - data: { - orcidid: req.user.orcidid, - sessionuuid: req.user.sessionuuid, - expiresat: req.user.expiresat, - }, - message: 'Authenticated session', - }); -}); router.post('/logout', requireAuth, async function(req, res) { const db = req.app.locals.db; diff --git a/v2.0/routes/data.js b/v2.0/routes/data.js index 3a64bb7c..820d3bae 100755 --- a/v2.0/routes/data.js +++ b/v2.0/routes/data.js @@ -15,6 +15,7 @@ const handlers = require('../handlers/data_handlers'); router.get('/chronologies/:chronologyid', handlers.chronologiesbyid); router.get('/contacts/:contactid', handlers.contactsbyid); +router.get('/contacts/:contactid/publications', handlers.publicationsbycontactid); router.get('/contacts/', handlers.contactquery); router.get(['/datasets_elc/', '/datasets_elc/:datasetid'], @@ -88,4 +89,8 @@ router.post('/spatial/icesheet', handlers.icesheet); // SPELEOTHEMS router.get('/speleothems/:collectionunitid', handlers.speleothems); +// AEDNA +router.get('/aedna/sequences/:datasetid', handlers.aednasequences); +router.get('/aedna/taxa/:taxonid/sequences', handlers.aednasequencesbytaxon); + module.exports = router;