diff --git a/public/tests.html b/public/tests.html index c87ecf8..a82a386 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 893dab4..dbba904 100644 --- a/public/tests.json +++ b/public/tests.json @@ -2,14 +2,14 @@ "stats": { "suites": 167, "tests": 151, - "passes": 145, + "passes": 146, "pending": 1, - "failures": 5, - "start": "2026-08-06T22:32:33.174Z", - "end": "2026-08-06T22:38:25.580Z", - "duration": 352406, + "failures": 4, + "start": "2026-08-10T18:01:48.866Z", + "end": "2026-08-10T18:05:56.647Z", + "duration": 247781, "testsRegistered": 151, - "passPercent": 96.66666666666667, + "passPercent": 97.33333333333334, "pendingPercent": 0.6622516556291391, "other": 0, "hasOther": false, @@ -18,7 +18,7 @@ }, "results": [ { - "uuid": "03025ee3-fc8d-48ea-8865-c30898e935bf", + "uuid": "b5e66e37-d92f-4155-a83f-b6de72394e34", "title": "", "fullFile": "", "file": "", @@ -37,8 +37,8 @@ "context": null, "code": "checkForUnfulfilledExpectations.call(this);\nrecordedExpects = [];", "err": {}, - "uuid": "b057d3b6-4b3d-462c-a4f6-62c8746e9d59", - "parentUUID": "03025ee3-fc8d-48ea-8865-c30898e935bf", + "uuid": "97f6dae5-de80-4a0d-b58a-05cbb2f61ac3", + "parentUUID": "b5e66e37-d92f-4155-a83f-b6de72394e34", "isHook": true, "skipped": false } @@ -46,464 +46,447 @@ "tests": [], "suites": [ { - "uuid": "ebcb273c-a56a-417f-8c47-0e48fa1f4cd2", - "title": "Get chronology data by datasetid:", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/chronologies.js", - "file": "/test/chronologies.js", + "uuid": "b55e2a92-fba4-42cb-bdba-0ef8db1dc872", + "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": [ + "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": 1, - "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": "a709c5f9-fcea-4240-b975-0f5c8cd3f11c", - "parentUUID": "ebcb273c-a56a-417f-8c47-0e48fa1f4cd2", - "isHook": false, - "skipped": false + "uuid": "142638f8-37f9-46a0-8fdd-a529235fcbd8", + "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", + "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\"", + "timedOut": false, + "duration": 588, + "state": "passed", + "speed": "medium", + "pass": true, + "fail": false, + "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": "8e6282a1-025a-4a0e-98ed-e34be2967d13", + "parentUUID": "142638f8-37f9-46a0-8fdd-a529235fcbd8", + "isHook": false, + "skipped": false + } + ], + "suites": [], + "passes": [ + "8e6282a1-025a-4a0e-98ed-e34be2967d13" + ], + "failures": [], + "pending": [], + "skipped": [], + "duration": 588, + "root": false, + "rootEmpty": false, + "_timeout": 900000 } ], - "suites": [], - "passes": [ - "a709c5f9-fcea-4240-b975-0f5c8cd3f11c" - ], + "passes": [], "failures": [], "pending": [], "skipped": [], - "duration": 1, + "duration": 0, "root": false, "rootEmpty": false, - "_timeout": 5000 + "_timeout": 900000 }, { - "uuid": "964095cb-69c0-4491-ba5c-3867244da07a", - "title": "Get contact data:", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/contacts.js", - "file": "/test/contacts.js", + "uuid": "c67c79c7-a8ab-4c0e-b01e-3e633e299174", + "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": [ - { - "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": 571, - "state": "passed", - "speed": "medium", - "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": "074bc1f6-9e54-41d7-8fb9-93e68d1b3bc0", - "parentUUID": "964095cb-69c0-4491-ba5c-3867244da07a", - "isHook": false, - "skipped": false - }, - { - "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": 81, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "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": "a8e76d4c-2b58-4a67-8916-d1be33b38a8b", - "parentUUID": "964095cb-69c0-4491-ba5c-3867244da07a", - "isHook": false, - "skipped": false - }, - { - "title": "Contact queries should be case insensitive:", - "fullTitle": "Get contact data: Contact queries should be case insensitive:", - "timedOut": false, - "duration": 71, - "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": "36d5e1cd-1c26-4ce4-b4ac-d442485b8cd6", - "parentUUID": "964095cb-69c0-4491-ba5c-3867244da07a", - "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:", - "timedOut": false, - "duration": 74, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "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": "3e1fddc9-434d-4e70-834c-874d0d7e143a", - "parentUUID": "964095cb-69c0-4491-ba5c-3867244da07a", - "isHook": false, - "skipped": false - }, - { - "title": "A single contact (12) should be returned.", - "fullTitle": "Get contact data: A single contact (12) should be returned.", - "timedOut": false, - "duration": 70, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "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": "721d048e-8f81-4382-9654-5b9c37eed8a3", - "parentUUID": "964095cb-69c0-4491-ba5c-3867244da07a", - "isHook": false, - "skipped": false - }, - { - "title": "All contacts from datasets should be returned.", - "fullTitle": "Get contact data: All contacts from datasets should be returned.", - "timedOut": false, - "duration": 72, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "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": "660fd082-ffbb-4398-9978-6c05f06841a9", - "parentUUID": "964095cb-69c0-4491-ba5c-3867244da07a", - "isHook": false, - "skipped": false - }, + "tests": [], + "suites": [ { - "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, + "uuid": "ba7e404f-b649-4d04-bf3b-13fd866b4d38", + "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", + "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\"", + "timedOut": false, + "duration": 71, + "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/contacts', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": {}, + "uuid": "3b2f14d4-8ec4-4498-8eaa-df0445884a93", + "parentUUID": "ba7e404f-b649-4d04-bf3b-13fd866b4d38", + "isHook": false, + "skipped": false + } + ], + "suites": [], + "passes": [ + "3b2f14d4-8ec4-4498-8eaa-df0445884a93" + ], + "failures": [], + "pending": [], + "skipped": [], "duration": 71, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "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": "452ac559-3fb0-4d42-a148-e4589a720cc4", - "parentUUID": "964095cb-69c0-4491-ba5c-3867244da07a", - "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": 70, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "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": "6f5f1be3-5abd-41ab-a2d4-3aad1c683d45", - "parentUUID": "964095cb-69c0-4491-ba5c-3867244da07a", - "isHook": false, - "skipped": false + "root": false, + "rootEmpty": false, + "_timeout": 900000 } ], - "suites": [], - "passes": [ - "074bc1f6-9e54-41d7-8fb9-93e68d1b3bc0", - "a8e76d4c-2b58-4a67-8916-d1be33b38a8b", - "36d5e1cd-1c26-4ce4-b4ac-d442485b8cd6", - "3e1fddc9-434d-4e70-834c-874d0d7e143a", - "721d048e-8f81-4382-9654-5b9c37eed8a3", - "660fd082-ffbb-4398-9978-6c05f06841a9", - "452ac559-3fb0-4d42-a148-e4589a720cc4", - "6f5f1be3-5abd-41ab-a2d4-3aad1c683d45" - ], + "passes": [], "failures": [], "pending": [], "skipped": [], - "duration": 1080, + "duration": 0, "root": false, "rootEmpty": false, - "_timeout": 5000 + "_timeout": 900000 }, { - "uuid": "216978d5-bce5-4805-8bb0-718fde9a0efc", - "title": "Get datasets any number of ways:", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/datasets.js", - "file": "/test/datasets.js", + "uuid": "8fc9a2f3-d4c7-45ec-b9f2-8f6f2416c7a1", + "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": [ - { - "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": 1107, - "state": "passed", - "speed": "slow", - "pass": true, - "fail": false, - "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": "41e41add-1b97-4c26-84cc-c7049230df80", - "parentUUID": "216978d5-bce5-4805-8bb0-718fde9a0efc", - "isHook": false, - "skipped": false - }, + "tests": [], + "suites": [ { - "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": 1047, - "state": "passed", - "speed": "slow", - "pass": true, - "fail": false, - "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": "3473f9b7-39a1-40b7-a14c-ba88f62b52c5", - "parentUUID": "216978d5-bce5-4805-8bb0-718fde9a0efc", - "isHook": false, - "skipped": false - }, - { - "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": 931, - "state": "passed", - "speed": "medium", - "pass": true, - "fail": false, - "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": "2e65688b-8f7b-45c1-8125-b678415490bf", - "parentUUID": "216978d5-bce5-4805-8bb0-718fde9a0efc", - "isHook": false, - "skipped": false - }, - { - "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": 1485, - "state": "passed", - "speed": "slow", - "pass": true, - "fail": false, - "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": "dfdd7662-d516-4c41-a9cc-71c11dd8906a", - "parentUUID": "216978d5-bce5-4805-8bb0-718fde9a0efc", - "isHook": false, - "skipped": false - }, - { - "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": 6, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "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": "9328c893-8c92-4d49-88e9-b0f9b35ecb01", - "parentUUID": "216978d5-bce5-4805-8bb0-718fde9a0efc", - "isHook": false, - "skipped": false - }, - { - "title": "Limits work:", - "fullTitle": "Get datasets any number of ways: Limits work:", - "timedOut": false, - "duration": 39825, - "state": "passed", - "speed": "slow", - "pass": true, - "fail": false, - "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": "a02fe948-fc77-40ee-bfba-4c0a0be3b669", - "parentUUID": "216978d5-bce5-4805-8bb0-718fde9a0efc", - "isHook": false, - "skipped": false - }, - { - "title": "Works with age validation:", - "fullTitle": "Get datasets any number of ways: Works with age validation:", - "timedOut": false, - "duration": 0, - "state": "pending", - "speed": null, - "pass": false, - "fail": false, - "pending": true, - "context": null, - "code": "", - "err": {}, - "uuid": "ca80e6ca-f702-449d-9716-03b3129edff8", - "parentUUID": "216978d5-bce5-4805-8bb0-718fde9a0efc", - "isHook": false, - "skipped": false + "uuid": "fe520c25-7637-4153-977e-e49142e82483", + "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", + "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 \"", + "timedOut": false, + "duration": 40663, + "state": "passed", + "speed": "slow", + "pass": true, + "fail": false, + "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": "3613c9f8-8a6c-40f1-9be3-2f5e9f336925", + "parentUUID": "fe520c25-7637-4153-977e-e49142e82483", + "isHook": false, + "skipped": false + } + ], + "suites": [], + "passes": [ + "3613c9f8-8a6c-40f1-9be3-2f5e9f336925" + ], + "failures": [], + "pending": [], + "skipped": [], + "duration": 40663, + "root": false, + "rootEmpty": false, + "_timeout": 900000 } ], - "suites": [], - "passes": [ - "41e41add-1b97-4c26-84cc-c7049230df80", - "3473f9b7-39a1-40b7-a14c-ba88f62b52c5", - "2e65688b-8f7b-45c1-8125-b678415490bf", - "dfdd7662-d516-4c41-a9cc-71c11dd8906a", - "9328c893-8c92-4d49-88e9-b0f9b35ecb01", - "a02fe948-fc77-40ee-bfba-4c0a0be3b669" - ], + "passes": [], "failures": [], - "pending": [ - "ca80e6ca-f702-449d-9716-03b3129edff8" - ], + "pending": [], "skipped": [], - "duration": 44401, + "duration": 0, "root": false, "rootEmpty": false, - "_timeout": 50000 + "_timeout": 900000 }, { - "uuid": "603c774e-3b54-4ffd-a229-bf8e35c11560", - "title": "Tests for Explorer App Services", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/explorerCalls.js", - "file": "/test/explorerCalls.js", + "uuid": "1269e26f-e9b4-4441-b9ea-81a061660ecc", + "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": "d3b78e38-71b2-4365-8ad2-3805c8853e0d", + "uuid": "b1bc6952-52ea-436b-acaa-eb4e2e38c00e", "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/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 TaxaGroupTypes", - "fullTitle": "Tests for Explorer App Services tests for get should respond 200 for TaxaGroupTypes", - "timedOut": false, - "duration": 136, - "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": "b47ee7e2-c34d-4802-8d5b-a84c43c4e02b", - "parentUUID": "d3b78e38-71b2-4365-8ad2-3805c8853e0d", - "isHook": false, - "skipped": false - }, - { - "title": "should respond 200 for TaphonomyTypes", - "fullTitle": "Tests for Explorer App Services tests for get should respond 200 for TaphonomyTypes", + "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": 7, + "duration": 2474, "state": "passed", - "speed": "fast", + "speed": "slow", "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();", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/sites/6193/datasets_elc', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", "err": {}, - "uuid": "c5d2357b-f213-44e3-a4f9-bbf46b7ec8da", - "parentUUID": "d3b78e38-71b2-4365-8ad2-3805c8853e0d", + "uuid": "0b131835-2e8c-4305-bc4b-4b73e0b17aa8", + "parentUUID": "b1bc6952-52ea-436b-acaa-eb4e2e38c00e", "isHook": false, "skipped": false - }, + } + ], + "suites": [], + "passes": [ + "0b131835-2e8c-4305-bc4b-4b73e0b17aa8" + ], + "failures": [], + "pending": [], + "skipped": [], + "duration": 2474, + "root": false, + "rootEmpty": false, + "_timeout": 900000 + } + ], + "passes": [], + "failures": [], + "pending": [], + "skipped": [], + "duration": 0, + "root": false, + "rootEmpty": false, + "_timeout": 900000 + }, + { + "uuid": "31611690-c1b6-4a4c-af39-a1cf97040a91", + "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": "db9b847b-73f6-40c8-8eba-c9f1491cb007", + "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", + "beforeHooks": [], + "afterHooks": [], + "tests": [ { - "title": "should respond 200 for TaphonomySystems", - "fullTitle": "Tests for Explorer App Services tests for get should respond 200 for TaphonomySystems", + "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": 71, + "duration": 79, "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();", + "code": "var response = request('get', 'http://localhost:3001/v2.0/apps/depenvt', { \n 'qs': {\"siteid\":21712,\"datasetid\":60034299,\"collectionunitid\":59650},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", "err": {}, - "uuid": "bb6b8de3-c2c1-402b-9150-d96399ab91bd", - "parentUUID": "d3b78e38-71b2-4365-8ad2-3805c8853e0d", + "uuid": "8c307df1-2993-4c36-9e5f-7a9ed28ebbec", + "parentUUID": "db9b847b-73f6-40c8-8eba-c9f1491cb007", "isHook": false, "skipped": false - }, + } + ], + "suites": [], + "passes": [ + "8c307df1-2993-4c36-9e5f-7a9ed28ebbec" + ], + "failures": [], + "pending": [], + "skipped": [], + "duration": 79, + "root": false, + "rootEmpty": false, + "_timeout": 900000 + } + ], + "passes": [], + "failures": [], + "pending": [], + "skipped": [], + "duration": 0, + "root": false, + "rootEmpty": false, + "_timeout": 900000 + }, + { + "uuid": "01d80d88-34f6-4764-b8aa-170fe6e35b7b", + "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": "82f458f6-d8e1-4d2c-9488-c8834f69f02a", + "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", + "beforeHooks": [], + "afterHooks": [], + "tests": [ { - "title": "should respond 200 for ElementTypes", - "fullTitle": "Tests for Explorer App Services tests for get should respond 200 for ElementTypes", + "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, + "duration": 79, "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();", + "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": "bb48c44f-863f-42f5-9fcc-247ab423cbf6", - "parentUUID": "d3b78e38-71b2-4365-8ad2-3805c8853e0d", + "uuid": "76a76077-8e38-4d11-929e-e2dfcef4dbb7", + "parentUUID": "82f458f6-d8e1-4d2c-9488-c8834f69f02a", "isHook": false, "skipped": false - }, - { + } + ], + "suites": [], + "passes": [ + "76a76077-8e38-4d11-929e-e2dfcef4dbb7" + ], + "failures": [], + "pending": [], + "skipped": [], + "duration": 79, + "root": false, + "rootEmpty": false, + "_timeout": 900000 + } + ], + "passes": [], + "failures": [], + "pending": [], + "skipped": [], + "duration": 0, + "root": false, + "rootEmpty": false, + "_timeout": 900000 + }, + { + "uuid": "1a295097-066e-48f8-a59d-067ddfb2410f", + "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": "2a2b5e70-712b-4de2-9370-d510eac99cc1", + "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 TaxaGroupTypes", + "fullTitle": "Tests for Explorer App Services tests for get should respond 200 for TaxaGroupTypes", + "timedOut": false, + "duration": 164, + "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": "0d6ea4b3-3c81-4cea-b139-d32b9f942c84", + "parentUUID": "2a2b5e70-712b-4de2-9370-d510eac99cc1", + "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": 20, + "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": "6bd2ce18-0d6a-40c3-ad49-0c23d8f11c31", + "parentUUID": "2a2b5e70-712b-4de2-9370-d510eac99cc1", + "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": 74, + "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": "e751611a-b0c3-4fce-85f9-d8e932f27762", + "parentUUID": "2a2b5e70-712b-4de2-9370-d510eac99cc1", + "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": 76, + "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": "87bf16e3-0ebd-4e05-9ca7-54dfe4aaf3ec", + "parentUUID": "2a2b5e70-712b-4de2-9370-d510eac99cc1", + "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": 3304, + "duration": 5419, "state": "passed", "speed": "slow", "pass": true, @@ -512,8 +495,8 @@ "context": null, "code": "const response = request('get', appServicesLocation + '/TaxaInDatasets', {\n time: true,\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", "err": {}, - "uuid": "8ae4e88d-5fa8-41e2-b05c-1ae5a209b108", - "parentUUID": "d3b78e38-71b2-4365-8ad2-3805c8853e0d", + "uuid": "63d24897-b8ce-4957-9dcf-df44df715154", + "parentUUID": "2a2b5e70-712b-4de2-9370-d510eac99cc1", "isHook": false, "skipped": false }, @@ -521,7 +504,7 @@ "title": "should respond 200 for collectionTypes", "fullTitle": "Tests for Explorer App Services tests for get should respond 200 for collectionTypes", "timedOut": false, - "duration": 68, + "duration": 67, "state": "passed", "speed": "fast", "pass": true, @@ -530,8 +513,8 @@ "context": null, "code": "const response = request('get', appServicesLocation + '/collectionTypes', {\n time: true,\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", "err": {}, - "uuid": "cbdae69d-fa53-40fd-a7e6-ff9db420b447", - "parentUUID": "d3b78e38-71b2-4365-8ad2-3805c8853e0d", + "uuid": "b4d8c55f-f756-4ad5-b7a6-0359238b6571", + "parentUUID": "2a2b5e70-712b-4de2-9370-d510eac99cc1", "isHook": false, "skipped": false }, @@ -539,7 +522,7 @@ "title": "should respond 200 for keywords", "fullTitle": "Tests for Explorer App Services tests for get should respond 200 for keywords", "timedOut": false, - "duration": 68, + "duration": 69, "state": "passed", "speed": "fast", "pass": true, @@ -548,8 +531,8 @@ "context": null, "code": "const response = request('get', appServicesLocation + '/keywords', {\n time: true,\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", "err": {}, - "uuid": "f3a4ac21-e54c-49dc-9c59-cd8d55c0a70f", - "parentUUID": "d3b78e38-71b2-4365-8ad2-3805c8853e0d", + "uuid": "69644149-f28f-4c92-bba0-6fcbd21f7d04", + "parentUUID": "2a2b5e70-712b-4de2-9370-d510eac99cc1", "isHook": false, "skipped": false }, @@ -557,17 +540,17 @@ "title": "should respond 200 for authorpis", "fullTitle": "Tests for Explorer App Services tests for get should respond 200 for authorpis", "timedOut": false, - "duration": 430, + "duration": 613, "state": "passed", - "speed": "fast", + "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": "ff121cb4-eebe-4d64-9562-d9fc583d0740", - "parentUUID": "d3b78e38-71b2-4365-8ad2-3805c8853e0d", + "uuid": "974a4a2c-dd9d-4cc4-873d-5531d1b93851", + "parentUUID": "2a2b5e70-712b-4de2-9370-d510eac99cc1", "isHook": false, "skipped": false }, @@ -575,7 +558,7 @@ "title": "should respond 200 for DepositionalEnvironments", "fullTitle": "Tests for Explorer App Services tests for get should respond 200 for DepositionalEnvironments", "timedOut": false, - "duration": 7, + "duration": 8, "state": "passed", "speed": "fast", "pass": true, @@ -584,8 +567,8 @@ "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": "a56b280a-576d-492b-a015-52b99352e75f", - "parentUUID": "d3b78e38-71b2-4365-8ad2-3805c8853e0d", + "uuid": "ad1a7770-0098-4ecc-b280-b8c4bc8250dd", + "parentUUID": "2a2b5e70-712b-4de2-9370-d510eac99cc1", "isHook": false, "skipped": false }, @@ -602,8 +585,8 @@ "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": "afc99809-3f0c-4959-9670-9ede237cdad3", - "parentUUID": "d3b78e38-71b2-4365-8ad2-3805c8853e0d", + "uuid": "d605c5d8-8f55-46a5-a2d4-6629648d481c", + "parentUUID": "2a2b5e70-712b-4de2-9370-d510eac99cc1", "isHook": false, "skipped": false }, @@ -611,7 +594,7 @@ "title": "should respond 200 for DatasetTypes", "fullTitle": "Tests for Explorer App Services tests for get should respond 200 for DatasetTypes", "timedOut": false, - "duration": 91, + "duration": 100, "state": "passed", "speed": "fast", "pass": true, @@ -620,8 +603,8 @@ "context": null, "code": "const response = request('get', appServicesLocation + '/DatasetTypes', {\n time: true,\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", "err": {}, - "uuid": "abbcc7a9-a29f-4b44-b947-52b8bd14c509", - "parentUUID": "d3b78e38-71b2-4365-8ad2-3805c8853e0d", + "uuid": "773d6c84-56c0-4791-9e88-3e710a4da987", + "parentUUID": "2a2b5e70-712b-4de2-9370-d510eac99cc1", "isHook": false, "skipped": false }, @@ -629,7 +612,7 @@ "title": "should respond 200 for RelativeAges", "fullTitle": "Tests for Explorer App Services tests for get should respond 200 for RelativeAges", "timedOut": false, - "duration": 137, + "duration": 144, "state": "passed", "speed": "fast", "pass": true, @@ -638,8 +621,8 @@ "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": "4b3596eb-f373-480c-9225-02c6a6fac335", - "parentUUID": "d3b78e38-71b2-4365-8ad2-3805c8853e0d", + "uuid": "34852ea4-64a4-4778-b331-8b6bdb0c48f1", + "parentUUID": "2a2b5e70-712b-4de2-9370-d510eac99cc1", "isHook": false, "skipped": false }, @@ -647,7 +630,7 @@ "title": "should respond 200 for Geochronologies", "fullTitle": "Tests for Explorer App Services tests for get should respond 200 for Geochronologies", "timedOut": false, - "duration": 2, + "duration": 6, "state": "passed", "speed": "fast", "pass": true, @@ -656,32 +639,32 @@ "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": "e2b81352-649d-413a-ac32-f58caa3862ea", - "parentUUID": "d3b78e38-71b2-4365-8ad2-3805c8853e0d", + "uuid": "66a6d546-e878-4d04-8dfd-7a978ba6a8d0", + "parentUUID": "2a2b5e70-712b-4de2-9370-d510eac99cc1", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "b47ee7e2-c34d-4802-8d5b-a84c43c4e02b", - "c5d2357b-f213-44e3-a4f9-bbf46b7ec8da", - "bb6b8de3-c2c1-402b-9150-d96399ab91bd", - "bb48c44f-863f-42f5-9fcc-247ab423cbf6", - "8ae4e88d-5fa8-41e2-b05c-1ae5a209b108", - "cbdae69d-fa53-40fd-a7e6-ff9db420b447", - "f3a4ac21-e54c-49dc-9c59-cd8d55c0a70f", - "ff121cb4-eebe-4d64-9562-d9fc583d0740", - "a56b280a-576d-492b-a015-52b99352e75f", - "afc99809-3f0c-4959-9670-9ede237cdad3", - "abbcc7a9-a29f-4b44-b947-52b8bd14c509", - "4b3596eb-f373-480c-9225-02c6a6fac335", - "e2b81352-649d-413a-ac32-f58caa3862ea" + "0d6ea4b3-3c81-4cea-b139-d32b9f942c84", + "6bd2ce18-0d6a-40c3-ad49-0c23d8f11c31", + "e751611a-b0c3-4fce-85f9-d8e932f27762", + "87bf16e3-0ebd-4e05-9ca7-54dfe4aaf3ec", + "63d24897-b8ce-4957-9dcf-df44df715154", + "b4d8c55f-f756-4ad5-b7a6-0359238b6571", + "69644149-f28f-4c92-bba0-6fcbd21f7d04", + "974a4a2c-dd9d-4cc4-873d-5531d1b93851", + "ad1a7770-0098-4ecc-b280-b8c4bc8250dd", + "d605c5d8-8f55-46a5-a2d4-6629648d481c", + "773d6c84-56c0-4791-9e88-3e710a4da987", + "34852ea4-64a4-4778-b331-8b6bdb0c48f1", + "66a6d546-e878-4d04-8dfd-7a978ba6a8d0" ], "failures": [], "pending": [], "skipped": [], - "duration": 4397, + "duration": 6764, "root": false, "rootEmpty": false, "_timeout": 12000 @@ -697,1087 +680,223 @@ "_timeout": 12000 }, { - "uuid": "388f66e1-f8f3-4daf-af5a-826d1a529172", - "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": "e72cbe0d-5a76-4f0e-ab7f-b29b4471edda", - "parentUUID": "388f66e1-f8f3-4daf-af5a-826d1a529172", - "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": 71, - "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": "6f2b6dc0-046f-4fa0-aeeb-8a2aaa2af3cf", - "parentUUID": "388f66e1-f8f3-4daf-af5a-826d1a529172", - "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": 70, - "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": "50247cfa-77c9-4d64-b75b-9b5048e654d4", - "parentUUID": "388f66e1-f8f3-4daf-af5a-826d1a529172", - "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": 70, - "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": "372eecad-fc17-42b6-815f-9c912c9ed50c", - "parentUUID": "388f66e1-f8f3-4daf-af5a-826d1a529172", - "isHook": false, - "skipped": false - } - ], - "suites": [], - "passes": [ - "e72cbe0d-5a76-4f0e-ab7f-b29b4471edda", - "6f2b6dc0-046f-4fa0-aeeb-8a2aaa2af3cf", - "50247cfa-77c9-4d64-b75b-9b5048e654d4", - "372eecad-fc17-42b6-815f-9c912c9ed50c" - ], - "failures": [], - "pending": [], - "skipped": [], - "duration": 287, - "root": false, - "rootEmpty": false, - "_timeout": 5000 - }, - { - "uuid": "85fbd1b1-bcce-43cb-9487-9ff45fcf1527", - "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", + "uuid": "661769bf-0f8e-4d1e-962d-c023b5ac48e9", + "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": [ + "tests": [], + "suites": [ { - "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": "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": "6b57d6a5-7a60-487d-a43f-35ac9d6db81a", - "parentUUID": "85fbd1b1-bcce-43cb-9487-9ff45fcf1527", - "isHook": false, - "skipped": false + "uuid": "acecf9dd-4c85-4bc2-b1dc-6702dfb7f528", + "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", + "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.\"", + "timedOut": false, + "duration": 191, + "state": "passed", + "speed": "fast", + "pass": true, + "fail": false, + "pending": false, + "context": null, + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/datasets', { \n 'qs': {\"sitename\":\"ipsum magna veniam\",\"database\":\"Neotoma Ostracode Database\",\"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]]]}\",\"siteid\":33689,\"datasetid\":8035725,\"doi\":\"10[68243/;V51\",\"gpid\":5392,\"keyword\":\"modern\",\"contactid\":2003,\"taxa\":\"dolor dolore\",\"ageyoung\": 1000,\"ageold\": 10000,\"ageof\":16985787,\"limit\": 10,\"offset\": 0},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": {}, + "uuid": "b818af41-759b-484e-9625-70b4a2238f09", + "parentUUID": "acecf9dd-4c85-4bc2-b1dc-6702dfb7f528", + "isHook": false, + "skipped": false + } + ], + "suites": [], + "passes": [ + "b818af41-759b-484e-9625-70b4a2238f09" + ], + "failures": [], + "pending": [], + "skipped": [], + "duration": 191, + "root": false, + "rootEmpty": false, + "_timeout": 900000 } ], - "suites": [], - "passes": [ - "6b57d6a5-7a60-487d-a43f-35ac9d6db81a" - ], + "passes": [], "failures": [], "pending": [], "skipped": [], - "duration": 2, + "duration": 0, "root": false, "rootEmpty": false, "_timeout": 900000 }, { - "uuid": "092a1738-eefa-475f-8d5d-eb6023c3420a", - "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": "ffc37db7-c614-4094-b25e-3cda33416dda", + "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": [ - { - "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": 0, - "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": "f511bfc3-bf9c-44c3-b364-3da2512e4006", - "parentUUID": "092a1738-eefa-475f-8d5d-eb6023c3420a", - "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": "96b9bffe-be70-4beb-a2b9-59d36938427c", - "parentUUID": "092a1738-eefa-475f-8d5d-eb6023c3420a", - "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": "e9d33a55-35f9-4631-ac85-5ec70127021f", - "parentUUID": "092a1738-eefa-475f-8d5d-eb6023c3420a", - "isHook": false, - "skipped": false - }, - { - "title": "Get occurrence by taxon:", - "fullTitle": "Get occurrence data any number of ways: Get occurrence by taxon:", - "timedOut": false, - "duration": 0, - "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": "bd3bdace-78b7-4fce-9b24-04b5b337d64e", - "parentUUID": "092a1738-eefa-475f-8d5d-eb6023c3420a", - "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": "16d531f3-ef6d-4b41-8c26-c6a10dc44fc9", - "parentUUID": "092a1738-eefa-475f-8d5d-eb6023c3420a", - "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": "978912c9-1967-4477-a7f2-60157d993e72", - "parentUUID": "092a1738-eefa-475f-8d5d-eb6023c3420a", - "isHook": false, - "skipped": false - }, - { - "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": "f9b6f8ea-91d0-4318-ac54-a491c4246621", - "parentUUID": "092a1738-eefa-475f-8d5d-eb6023c3420a", - "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": "be53c96c-6c4d-45a2-be88-7ae1ce5ccddc", - "parentUUID": "092a1738-eefa-475f-8d5d-eb6023c3420a", - "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": "54519592-270d-4703-82a3-498af53ce0c4", - "parentUUID": "092a1738-eefa-475f-8d5d-eb6023c3420a", - "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": "6044ff8b-e317-424e-8b29-a1c3b5ebb09f", - "parentUUID": "092a1738-eefa-475f-8d5d-eb6023c3420a", - "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": "1851076d-afdf-4c4f-b8f9-cd53c7219d17", - "parentUUID": "092a1738-eefa-475f-8d5d-eb6023c3420a", - "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": "eb6fb887-dec2-42f1-87c8-067bd3977575", - "parentUUID": "092a1738-eefa-475f-8d5d-eb6023c3420a", - "isHook": false, - "skipped": false - }, + "tests": [], + "suites": [ { - "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": 0, - "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": "dd614f7d-6566-4c71-8454-b26fe49edcd5", - "parentUUID": "092a1738-eefa-475f-8d5d-eb6023c3420a", - "isHook": false, - "skipped": false + "uuid": "65986b75-23d5-47ad-8693-e2cd9a7c5e17", + "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", + "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\"", + "timedOut": false, + "duration": 75, + "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/lithology', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": {}, + "uuid": "432b8b06-74ca-4bb6-91e7-5b3b25f61e80", + "parentUUID": "65986b75-23d5-47ad-8693-e2cd9a7c5e17", + "isHook": false, + "skipped": false + } + ], + "suites": [], + "passes": [ + "432b8b06-74ca-4bb6-91e7-5b3b25f61e80" + ], + "failures": [], + "pending": [], + "skipped": [], + "duration": 75, + "root": false, + "rootEmpty": false, + "_timeout": 900000 } ], - "suites": [], - "passes": [ - "f511bfc3-bf9c-44c3-b364-3da2512e4006", - "96b9bffe-be70-4beb-a2b9-59d36938427c", - "e9d33a55-35f9-4631-ac85-5ec70127021f", - "bd3bdace-78b7-4fce-9b24-04b5b337d64e", - "16d531f3-ef6d-4b41-8c26-c6a10dc44fc9", - "978912c9-1967-4477-a7f2-60157d993e72", - "f9b6f8ea-91d0-4318-ac54-a491c4246621", - "be53c96c-6c4d-45a2-be88-7ae1ce5ccddc", - "54519592-270d-4703-82a3-498af53ce0c4", - "6044ff8b-e317-424e-8b29-a1c3b5ebb09f", - "1851076d-afdf-4c4f-b8f9-cd53c7219d17", - "eb6fb887-dec2-42f1-87c8-067bd3977575", - "dd614f7d-6566-4c71-8454-b26fe49edcd5" - ], + "passes": [], "failures": [], "pending": [], "skipped": [], "duration": 0, "root": false, "rootEmpty": false, - "_timeout": 30000 + "_timeout": 900000 }, { - "uuid": "70aed97b-6804-42bf-abc6-0a3a7ab82289", - "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", + "uuid": "7a9dfcf4-c840-42e4-80b5-aeff9f07e0fa", + "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": [ + "tests": [], + "suites": [ { - "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": 69, - "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);", - "err": {}, - "uuid": "2fa0a5c8-52ea-4a92-bce0-ae3e0e0b822b", - "parentUUID": "70aed97b-6804-42bf-abc6-0a3a7ab82289", - "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:", - "timedOut": false, - "duration": 70, - "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);", - "err": {}, - "uuid": "9d1d9180-2bc7-4673-8273-f49e13cf900a", - "parentUUID": "70aed97b-6804-42bf-abc6-0a3a7ab82289", - "isHook": false, - "skipped": false - }, - { - "title": "Get publication by querying author:", - "fullTitle": "Get publication data any number of ways: Get publication by querying author:", - "timedOut": false, - "duration": 205, - "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);", - "err": {}, - "uuid": "d6e3f85a-41d7-41e0-af13-3b4e98ec5e75", - "parentUUID": "70aed97b-6804-42bf-abc6-0a3a7ab82289", - "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:", - "timedOut": false, - "duration": 79, - "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);", - "err": {}, - "uuid": "3525ebeb-0383-4d0e-b34d-f7b0ebd5e5f4", - "parentUUID": "70aed97b-6804-42bf-abc6-0a3a7ab82289", - "isHook": false, - "skipped": false - }, - { - "title": "Get publication by site id:", - "fullTitle": "Get publication data any number of ways: Get publication by site id:", - "timedOut": false, - "duration": 79, - "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);", - "err": {}, - "uuid": "a43cbc61-157c-413a-b7e6-844cedf76e6f", - "parentUUID": "70aed97b-6804-42bf-abc6-0a3a7ab82289", - "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:", - "timedOut": false, - "duration": 84, - "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);", - "err": {}, - "uuid": "43384a3f-1231-4142-8ef3-f6215ac3f4de", - "parentUUID": "70aed97b-6804-42bf-abc6-0a3a7ab82289", - "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:", - "timedOut": false, - "duration": 75, - "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);", - "err": {}, - "uuid": "98333005-244f-4a03-9622-d00b8a1e7193", - "parentUUID": "70aed97b-6804-42bf-abc6-0a3a7ab82289", - "isHook": false, - "skipped": false - } - ], - "suites": [], - "passes": [ - "2fa0a5c8-52ea-4a92-bce0-ae3e0e0b822b", - "9d1d9180-2bc7-4673-8273-f49e13cf900a", - "d6e3f85a-41d7-41e0-af13-3b4e98ec5e75", - "3525ebeb-0383-4d0e-b34d-f7b0ebd5e5f4", - "a43cbc61-157c-413a-b7e6-844cedf76e6f", - "43384a3f-1231-4142-8ef3-f6215ac3f4de", - "98333005-244f-4a03-9622-d00b8a1e7193" - ], - "failures": [], - "pending": [], - "skipped": [], - "duration": 661, - "root": false, - "rootEmpty": false, - "_timeout": 15000 - }, - { - "uuid": "5824b392-0ef1-4e09-b708-565973967dad", - "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": 95, - "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 });", - "err": {}, - "uuid": "4c951b38-3079-4e32-a0f6-169bdfed9176", - "parentUUID": "5824b392-0ef1-4e09-b708-565973967dad", - "isHook": false, - "skipped": false - }, - { - "title": "Get site by altitude:", - "fullTitle": "Get site data any number of ways: Get site by altitude:", - "timedOut": true, - "duration": 5001, - "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": "Error: Timeout of 5000ms exceeded. For async tests and hooks, ensure \"done()\" is called; if returning a Promise, ensure it resolves. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/sites.js)", - "estack": "Error: Timeout of 5000ms exceeded. For async tests and hooks, ensure \"done()\" is called; if returning a Promise, ensure it resolves. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/sites.js)\n at createTimeoutError (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/mocha/lib/errors.js:386:15)\n at Runnable._timeoutError (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/mocha/lib/runnable.js:431:10)\n at Timeout. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/mocha/lib/runnable.js:246:24)\n at listOnTimeout (node:internal/timers:614:17)\n at process.processTimers (node:internal/timers:549:7)", - "diff": null - }, - "uuid": "3d0a2e4c-d7af-4319-9f13-ebec59607cc6", - "parentUUID": "5824b392-0ef1-4e09-b708-565973967dad", - "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": 4, - "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 });", - "err": {}, - "uuid": "69f04718-f432-4f37-8b55-6de3337804a0", - "parentUUID": "5824b392-0ef1-4e09-b708-565973967dad", - "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": 542, - "state": "passed", - "speed": "medium", - "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 });", - "err": {}, - "uuid": "1761b1b8-06d4-41d1-90c5-1c8e6473cd93", - "parentUUID": "5824b392-0ef1-4e09-b708-565973967dad", - "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": 189, - "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);", - "err": {}, - "uuid": "9647c218-aec5-4c1e-9ac3-ff1ef44903f7", - "parentUUID": "5824b392-0ef1-4e09-b708-565973967dad", - "isHook": false, - "skipped": false - } - ], - "suites": [], - "passes": [ - "4c951b38-3079-4e32-a0f6-169bdfed9176", - "69f04718-f432-4f37-8b55-6de3337804a0", - "1761b1b8-06d4-41d1-90c5-1c8e6473cd93", - "9647c218-aec5-4c1e-9ac3-ff1ef44903f7" - ], - "failures": [ - "3d0a2e4c-d7af-4319-9f13-ebec59607cc6" - ], - "pending": [], - "skipped": [], - "duration": 5831, - "root": false, - "rootEmpty": false, - "_timeout": 5000 - }, - { - "uuid": "ba189be5-83bc-4ed3-a93c-d24c34d4562c", - "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": 425, - "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": "dfdd7f98-bcdd-4e31-a680-194e076d6479", - "parentUUID": "ba189be5-83bc-4ed3-a93c-d24c34d4562c", - "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": true, - "duration": 15001, - "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": "Error: Timeout of 15000ms exceeded. For async tests and hooks, ensure \"done()\" is called; if returning a Promise, ensure it resolves. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/spatial.js)", - "estack": "Error: Timeout of 15000ms exceeded. For async tests and hooks, ensure \"done()\" is called; if returning a Promise, ensure it resolves. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/spatial.js)\n at createTimeoutError (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/mocha/lib/errors.js:386:15)\n at Runnable._timeoutError (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/mocha/lib/runnable.js:431:10)\n at Timeout. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/mocha/lib/runnable.js:246:24)\n at listOnTimeout (node:internal/timers:614:17)\n at process.processTimers (node:internal/timers:549:7)", - "diff": null - }, - "uuid": "e3a604a0-6013-4cf0-ba48-1c8863291b9a", - "parentUUID": "ba189be5-83bc-4ed3-a93c-d24c34d4562c", - "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": true, - "duration": 15001, - "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": "Error: Timeout of 15000ms exceeded. For async tests and hooks, ensure \"done()\" is called; if returning a Promise, ensure it resolves. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/spatial.js)", - "estack": "Error: Timeout of 15000ms exceeded. For async tests and hooks, ensure \"done()\" is called; if returning a Promise, ensure it resolves. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/spatial.js)\n at createTimeoutError (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/mocha/lib/errors.js:386:15)\n at Runnable._timeoutError (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/mocha/lib/runnable.js:431:10)\n at Timeout. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/mocha/lib/runnable.js:246:24)\n at listOnTimeout (node:internal/timers:614:17)\n at process.processTimers (node:internal/timers:549:7)", - "diff": null - }, - "uuid": "5f3a7b99-b9d2-4008-8c68-d402d31989c0", - "parentUUID": "ba189be5-83bc-4ed3-a93c-d24c34d4562c", - "isHook": false, - "skipped": false - } - ], - "suites": [], - "passes": [ - "dfdd7f98-bcdd-4e31-a680-194e076d6479" - ], - "failures": [ - "e3a604a0-6013-4cf0-ba48-1c8863291b9a", - "5f3a7b99-b9d2-4008-8c68-d402d31989c0" - ], - "pending": [], - "skipped": [], - "duration": 30427, - "root": false, - "rootEmpty": false, - "_timeout": 15000 - }, - { - "uuid": "594a1e61-dafc-4cb0-8163-f439e6aee4ff", - "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": 1100, - "state": "passed", - "speed": "slow", - "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": "f36ce617-c3bc-4275-84a6-a53e9ebf4f28", - "parentUUID": "594a1e61-dafc-4cb0-8163-f439e6aee4ff", - "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": 440, - "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": "92efaaf5-8ccf-4b89-8ce7-81f535261198", - "parentUUID": "594a1e61-dafc-4cb0-8163-f439e6aee4ff", - "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": true, - "duration": 15001, - "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": "Error: Timeout of 15000ms exceeded. For async tests and hooks, ensure \"done()\" is called; if returning a Promise, ensure it resolves. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/spatial.js)", - "estack": "Error: Timeout of 15000ms exceeded. For async tests and hooks, ensure \"done()\" is called; if returning a Promise, ensure it resolves. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/spatial.js)\n at createTimeoutError (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/mocha/lib/errors.js:386:15)\n at Runnable._timeoutError (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/mocha/lib/runnable.js:431:10)\n at Timeout. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/mocha/lib/runnable.js:246:24)\n at listOnTimeout (node:internal/timers:614:17)\n at process.processTimers (node:internal/timers:549:7)", - "diff": null - }, - "uuid": "efee7b52-9f26-4fb1-9693-3970a7c0be4b", - "parentUUID": "594a1e61-dafc-4cb0-8163-f439e6aee4ff", - "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": true, - "duration": 15002, - "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": "Error: Timeout of 15000ms exceeded. For async tests and hooks, ensure \"done()\" is called; if returning a Promise, ensure it resolves. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/spatial.js)", - "estack": "Error: Timeout of 15000ms exceeded. For async tests and hooks, ensure \"done()\" is called; if returning a Promise, ensure it resolves. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/spatial.js)\n at createTimeoutError (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/mocha/lib/errors.js:386:15)\n at Runnable._timeoutError (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/mocha/lib/runnable.js:431:10)\n at Timeout. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/mocha/lib/runnable.js:246:24)\n at listOnTimeout (node:internal/timers:614:17)\n at process.processTimers (node:internal/timers:549:7)", - "diff": null - }, - "uuid": "e5cfcc14-ad91-4e80-b756-52b46e984d76", - "parentUUID": "594a1e61-dafc-4cb0-8163-f439e6aee4ff", - "isHook": false, - "skipped": false - } - ], - "suites": [], - "passes": [ - "f36ce617-c3bc-4275-84a6-a53e9ebf4f28", - "92efaaf5-8ccf-4b89-8ce7-81f535261198" - ], - "failures": [ - "efee7b52-9f26-4fb1-9693-3970a7c0be4b", - "e5cfcc14-ad91-4e80-b756-52b46e984d76" - ], - "pending": [], - "skipped": [], - "duration": 31543, - "root": false, - "rootEmpty": false, - "_timeout": 15000 - }, - { - "uuid": "6abd3238-05a8-4597-99b7-c18f7ee9e94f", - "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": 847, - "state": "passed", - "speed": "medium", - "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": "a5d0b768-ce94-4ec3-aa4d-0a2624e5c54b", - "parentUUID": "6abd3238-05a8-4597-99b7-c18f7ee9e94f", - "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": 72, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "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": "f655b25f-c965-4084-94de-4ded68916496", - "parentUUID": "6abd3238-05a8-4597-99b7-c18f7ee9e94f", - "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": 186, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "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": "c523ded0-f81c-4445-bfaa-ec542a4d6d9a", - "parentUUID": "6abd3238-05a8-4597-99b7-c18f7ee9e94f", - "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": 138, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "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": "874d34ff-2b78-4b1c-b404-0f6d705f15d1", - "parentUUID": "6abd3238-05a8-4597-99b7-c18f7ee9e94f", - "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": 390, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "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": "d767501e-ba78-48bc-9734-74150b6a59bb", - "parentUUID": "6abd3238-05a8-4597-99b7-c18f7ee9e94f", - "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": 160, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "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": "d542d4e3-1ede-4846-8ce4-ec0bcae63f8c", - "parentUUID": "6abd3238-05a8-4597-99b7-c18f7ee9e94f", - "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": 1333, - "state": "passed", - "speed": "slow", - "pass": true, - "fail": false, - "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": "33e059a0-897c-4f44-ba77-3814429b5117", - "parentUUID": "6abd3238-05a8-4597-99b7-c18f7ee9e94f", - "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": 572, - "state": "passed", - "speed": "medium", - "pass": true, - "fail": false, - "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": "6d9aff35-836f-4179-b6c6-3ce0462cbeff", - "parentUUID": "6abd3238-05a8-4597-99b7-c18f7ee9e94f", - "isHook": false, - "skipped": false + "uuid": "45f455d3-8458-4390-ab63-fc5213bffc91", + "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", + "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\"", + "timedOut": false, + "duration": 110, + "state": "passed", + "speed": "fast", + "pass": true, + "fail": false, + "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": "08125039-bb44-4d9f-95fe-ecf390a9e746", + "parentUUID": "45f455d3-8458-4390-ab63-fc5213bffc91", + "isHook": false, + "skipped": false + } + ], + "suites": [], + "passes": [ + "08125039-bb44-4d9f-95fe-ecf390a9e746" + ], + "failures": [], + "pending": [], + "skipped": [], + "duration": 110, + "root": false, + "rootEmpty": false, + "_timeout": 900000 } ], - "suites": [], - "passes": [ - "a5d0b768-ce94-4ec3-aa4d-0a2624e5c54b", - "f655b25f-c965-4084-94de-4ded68916496", - "c523ded0-f81c-4445-bfaa-ec542a4d6d9a", - "874d34ff-2b78-4b1c-b404-0f6d705f15d1", - "d767501e-ba78-48bc-9734-74150b6a59bb", - "d542d4e3-1ede-4846-8ce4-ec0bcae63f8c", - "33e059a0-897c-4f44-ba77-3814429b5117", - "6d9aff35-836f-4179-b6c6-3ce0462cbeff" - ], + "passes": [], "failures": [], "pending": [], "skipped": [], - "duration": 3698, + "duration": 0, "root": false, "rootEmpty": false, "_timeout": 900000 }, { - "uuid": "3551a882-ffa6-4a56-91a4-3e2ee25c5f76", - "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": "32c387e0-1ec6-4ae6-95aa-c73498591915", + "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": "239b5932-59ae-4a52-ace8-b0283c024a5c", + "uuid": "f07f8a03-7f43-49c0-bfd3-2aa8482ee221", "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-datasets-{datasetid}-sites-test.js", + "file": "/test/v2.0-data-datasets-{datasetid}-sites-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 \"Site\"", + "fullTitle": "tests for /v2.0/data/datasets/{datasetid}/sites tests for get should respond 200 for \"Site\"", "timedOut": false, - "duration": 218, + "duration": 101, "state": "passed", "speed": "fast", "pass": true, "fail": false, "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();", + "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": "f460ebe2-5f3d-46ae-8eb2-f2c4b6c92054", - "parentUUID": "239b5932-59ae-4a52-ace8-b0283c024a5c", + "uuid": "faa6af19-ae69-4c9d-9eb6-4578c8cc8da3", + "parentUUID": "f07f8a03-7f43-49c0-bfd3-2aa8482ee221", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "f460ebe2-5f3d-46ae-8eb2-f2c4b6c92054" + "faa6af19-ae69-4c9d-9eb6-4578c8cc8da3" ], "failures": [], "pending": [], "skipped": [], - "duration": 218, + "duration": 101, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -1793,49 +912,49 @@ "_timeout": 900000 }, { - "uuid": "76f083e6-8773-4e5e-9a2f-efc6a2282d2a", - "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": "1834fb86-4d6a-4767-97bd-617369f0ba59", + "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": "be803a67-d8b8-421b-898c-69b784e6ba9f", + "uuid": "d84ce8a6-4ac2-4864-9092-e7beec1755d0", "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/v2.0-data-summary-rawbymonth-test.js", + "file": "/test/v2.0-data-summary-rawbymonth-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 \"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": 5612, + "duration": 15311, "state": "passed", "speed": "slow", "pass": true, "fail": false, "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();", + "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": "3054b260-40a8-40a8-97fb-ebbe26ec766e", - "parentUUID": "be803a67-d8b8-421b-898c-69b784e6ba9f", + "uuid": "35f55c52-daa8-48d9-bcb9-cd6b7b855d6f", + "parentUUID": "d84ce8a6-4ac2-4864-9092-e7beec1755d0", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "3054b260-40a8-40a8-97fb-ebbe26ec766e" + "35f55c52-daa8-48d9-bcb9-cd6b7b855d6f" ], "failures": [], "pending": [], "skipped": [], - "duration": 5612, + "duration": 15311, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -1851,49 +970,49 @@ "_timeout": 900000 }, { - "uuid": "6590ab75-245f-427a-880b-525cb27a87f9", - "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": "08ef9c1e-4545-47c4-9480-ecb0dcf5ba03", + "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": "7eccd90e-baf4-46e8-8f10-6c1ce6dcde7e", + "uuid": "696a497f-6431-4d8f-ab62-ca586b93206d", "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-data-contacts-test.js", + "file": "/test/v2.0-data-contacts-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.\"", + "title": "should respond 200 for \"contact\"", + "fullTitle": "tests for /v2.0/data/contacts tests for get should respond 200 for \"contact\"", "timedOut": false, - "duration": 66, + "duration": 77, "state": "passed", "speed": "fast", "pass": true, "fail": false, "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();", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/contacts', { \n 'qs': {\"contactid\":452,\"familyname\":\"rej\",\"contactname\":\"BxJatQC\",\"contactstatus\":\"deceased\",\"limit\": 10,\"offset\": 0},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", "err": {}, - "uuid": "19b1cf88-4f97-4d72-b808-60ab909ebd2f", - "parentUUID": "7eccd90e-baf4-46e8-8f10-6c1ce6dcde7e", + "uuid": "48236dca-e775-4902-b7fe-70f74a2f34ea", + "parentUUID": "696a497f-6431-4d8f-ab62-ca586b93206d", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "19b1cf88-4f97-4d72-b808-60ab909ebd2f" + "48236dca-e775-4902-b7fe-70f74a2f34ea" ], "failures": [], "pending": [], "skipped": [], - "duration": 66, + "duration": 77, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -1909,49 +1028,49 @@ "_timeout": 900000 }, { - "uuid": "870fd401-655a-4004-99a3-19c598867592", - "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": "252fd2ed-01e7-45ba-9187-30b0f31153b1", + "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": "e019c0b2-b501-404a-909e-4295b1ef66ce", + "uuid": "153e4ce4-6519-4ae9-b8da-a81b3f36844c", "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-data-dbtables-test.js", + "file": "/test/v2.0-data-dbtables-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 \"Returned table.\"", + "fullTitle": "tests for /v2.0/data/dbtables tests for get should respond 200 for \"Returned table.\"", "timedOut": false, - "duration": 84, + "duration": 72, "state": "passed", "speed": "fast", "pass": true, "fail": false, "pending": false, "context": null, - "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();", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/dbtables', { \n 'qs': {\"table\":\"mollit ut sed id ullamco\",\"count\":false,\"limit\": 10,\"offset\": 0},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", "err": {}, - "uuid": "aa69a52e-752c-40c8-81a5-2c0fc6db41ec", - "parentUUID": "e019c0b2-b501-404a-909e-4295b1ef66ce", + "uuid": "d02d8c8b-4190-42da-ba79-fa5b7d973abf", + "parentUUID": "153e4ce4-6519-4ae9-b8da-a81b3f36844c", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "aa69a52e-752c-40c8-81a5-2c0fc6db41ec" + "d02d8c8b-4190-42da-ba79-fa5b7d973abf" ], "failures": [], "pending": [], "skipped": [], - "duration": 84, + "duration": 72, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -1967,49 +1086,49 @@ "_timeout": 900000 }, { - "uuid": "d1abd71f-9199-4e65-9772-18f4a912e6fe", - "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": "ee184f5c-1c18-45bd-a997-72f49cdac357", + "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": "ed73278f-4ea3-4f30-aa62-3f7a01b8a082", + "uuid": "46831d1e-f316-477e-b324-aa083f674d32", "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/v2.0-data-frozen-{datasetid}-test.js", + "file": "/test/v2.0-data-frozen-{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 /v2.0/data/frozen/{datasetid} tests for get should respond 200 for \"Returned download object.\"", "timedOut": false, - "duration": 2839, + "duration": 164, "state": "passed", - "speed": "slow", + "speed": "fast", "pass": true, "fail": false, "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();", + "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": "809c0050-ebc6-4c67-a06a-1de6a7cb9343", - "parentUUID": "ed73278f-4ea3-4f30-aa62-3f7a01b8a082", + "uuid": "16c9f0d9-510d-49ff-b166-aeca3edb2a7e", + "parentUUID": "46831d1e-f316-477e-b324-aa083f674d32", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "809c0050-ebc6-4c67-a06a-1de6a7cb9343" + "16c9f0d9-510d-49ff-b166-aeca3edb2a7e" ], "failures": [], "pending": [], "skipped": [], - "duration": 2839, + "duration": 164, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -2025,49 +1144,49 @@ "_timeout": 900000 }, { - "uuid": "d369ef99-c2c3-4183-8158-127b48453ded", - "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": "2df50e7f-2d48-4805-9830-9780ef104596", + "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": "7290da55-b63f-4812-b21f-1aa395cc035b", + "uuid": "2d9b5b86-d96b-45df-be7c-cba7851c99f5", "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-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 \"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 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": 892, + "duration": 78, "state": "passed", - "speed": "medium", + "speed": "fast", "pass": true, "fail": false, "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();", + "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": {}, - "uuid": "bf6383a4-1bdc-4ffc-9e46-2d3f7e67c7e0", - "parentUUID": "7290da55-b63f-4812-b21f-1aa395cc035b", + "uuid": "6797b5c3-74b1-4ed1-8c79-15e830c6d248", + "parentUUID": "2d9b5b86-d96b-45df-be7c-cba7851c99f5", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "bf6383a4-1bdc-4ffc-9e46-2d3f7e67c7e0" + "6797b5c3-74b1-4ed1-8c79-15e830c6d248" ], "failures": [], "pending": [], "skipped": [], - "duration": 892, + "duration": 78, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -2083,49 +1202,49 @@ "_timeout": 900000 }, { - "uuid": "cd98acf3-34d9-4649-8fac-082ea80c9274", - "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": "46ee8ebf-bf61-400e-bc09-e9c5adc403a9", + "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": "484aec3e-282b-483f-8245-dd76b65a1ad4", + "uuid": "f133edc3-bc2e-4883-b832-33cfa21e7fe6", "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-datasets_elc-{datasetid}-test.js", + "file": "/test/v2.0-data-datasets_elc-{datasetid}-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 \"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": 676, + "duration": 2422, "state": "passed", - "speed": "medium", + "speed": "slow", "pass": true, "fail": false, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v1.5/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();", + "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": "3bcf66d9-9b28-4619-84b5-e6d1e4075ee9", - "parentUUID": "484aec3e-282b-483f-8245-dd76b65a1ad4", + "uuid": "d1d51b41-70f3-4b22-852d-df8e0ba52de3", + "parentUUID": "f133edc3-bc2e-4883-b832-33cfa21e7fe6", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "3bcf66d9-9b28-4619-84b5-e6d1e4075ee9" + "d1d51b41-70f3-4b22-852d-df8e0ba52de3" ], "failures": [], "pending": [], "skipped": [], - "duration": 676, + "duration": 2422, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -2141,49 +1260,49 @@ "_timeout": 900000 }, { - "uuid": "62e64fb9-b891-4236-9250-65feab4f25bd", - "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": "6db44940-c1fa-4576-94e1-00a1746754a0", + "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": "5a14e967-12d2-48a3-9802-b1f7123b11f4", + "uuid": "2094222f-b3be-469b-8507-064866b114b7", "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-taxa-{taxonid}-test.js", + "file": "/test/v2.0-data-taxa-{taxonid}-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 \"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": 74, + "duration": 83, "state": "passed", "speed": "fast", "pass": true, "fail": false, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v1.5/data/geopoliticalunits/1068', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "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": "a6c2e828-4576-43a5-aec0-f823cf697209", - "parentUUID": "5a14e967-12d2-48a3-9802-b1f7123b11f4", + "uuid": "8e582786-05c6-4cae-a574-eea6974cdbd4", + "parentUUID": "2094222f-b3be-469b-8507-064866b114b7", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "a6c2e828-4576-43a5-aec0-f823cf697209" + "8e582786-05c6-4cae-a574-eea6974cdbd4" ], "failures": [], "pending": [], "skipped": [], - "duration": 74, + "duration": 83, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -2199,49 +1318,165 @@ "_timeout": 900000 }, { - "uuid": "0690d645-1155-4b47-9610-be35708f1750", - "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": "03e662a4-ead5-4092-b152-591878513bdf", + "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": "9d43f8d8-024b-49d2-8441-f7b09bd4bf2e", + "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", + "beforeHooks": [], + "afterHooks": [], + "tests": [ + { + "title": "should respond 200 for \"occurrence\"", + "fullTitle": "tests for /v2.0/data/occurrences tests for get should respond 200 for \"occurrence\"", + "timedOut": false, + "duration": 99, + "state": "passed", + "speed": "fast", + "pass": true, + "fail": false, + "pending": false, + "context": null, + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/occurrences', { \n 'qs': {\"taxonname\":\"occaecat cupidatat Ut\",\"taxonid\":35699,\"siteid\":48470,\"sitename\":\"voluptate\",\"datasettype\":\"modern plant 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]]]}\",\"ageof\":23352942,\"ageyoung\": 1000,\"ageold\": 10000,\"limit\": 10,\"offset\": 0},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "err": {}, + "uuid": "2a049bd0-e0db-43e7-99c8-d05407520323", + "parentUUID": "9d43f8d8-024b-49d2-8441-f7b09bd4bf2e", + "isHook": false, + "skipped": false + } + ], + "suites": [], + "passes": [ + "2a049bd0-e0db-43e7-99c8-d05407520323" + ], + "failures": [], + "pending": [], + "skipped": [], + "duration": 99, + "root": false, + "rootEmpty": false, + "_timeout": 900000 + } + ], + "passes": [], + "failures": [], + "pending": [], + "skipped": [], + "duration": 0, + "root": false, + "rootEmpty": false, + "_timeout": 900000 + }, + { + "uuid": "86721e0d-430c-47dd-960e-a2bf9fa43c81", + "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": "3a79ce21-6312-4369-a1e7-e9a1deaee99f", + "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", + "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.\"", + "timedOut": false, + "duration": 75, + "state": "passed", + "speed": "fast", + "pass": true, + "fail": false, + "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": "0e1b4177-b403-4335-9bbf-0fbae2dac1f0", + "parentUUID": "3a79ce21-6312-4369-a1e7-e9a1deaee99f", + "isHook": false, + "skipped": false + } + ], + "suites": [], + "passes": [ + "0e1b4177-b403-4335-9bbf-0fbae2dac1f0" + ], + "failures": [], + "pending": [], + "skipped": [], + "duration": 75, + "root": false, + "rootEmpty": false, + "_timeout": 900000 + } + ], + "passes": [], + "failures": [], + "pending": [], + "skipped": [], + "duration": 0, + "root": false, + "rootEmpty": false, + "_timeout": 900000 + }, + { + "uuid": "b6642877-303d-4f4a-a513-9c6229e1c056", + "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": "f0095751-501b-4bf0-b88c-48760b094fee", + "uuid": "cab7ca80-734f-48a7-807e-77b76ca671ff", "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/v1.5-data-contacts-{contactid}-test.js", + "file": "/test/v1.5-data-contacts-{contactid}-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 \"Contact\"", + "fullTitle": "tests for /v1.5/data/contacts/{contactid} tests for get should respond 200 for \"Contact\"", "timedOut": false, - "duration": 103, + "duration": 71, "state": "passed", "speed": "fast", "pass": true, "fail": false, "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();", + "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": {}, - "uuid": "6e97e1da-5580-43f0-8b7f-afceaa0d5751", - "parentUUID": "f0095751-501b-4bf0-b88c-48760b094fee", + "uuid": "e6b6e018-8eda-4fbf-afae-638655e38cde", + "parentUUID": "cab7ca80-734f-48a7-807e-77b76ca671ff", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "6e97e1da-5580-43f0-8b7f-afceaa0d5751" + "e6b6e018-8eda-4fbf-afae-638655e38cde" ], "failures": [], "pending": [], "skipped": [], - "duration": 103, + "duration": 71, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -2257,49 +1492,49 @@ "_timeout": 900000 }, { - "uuid": "0ad2fb89-c1eb-4111-8a53-ea80efb5012f", - "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": "a20bf39f-8b7a-4b57-8d85-123a8fe1343f", + "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": "27214b0a-0a63-4e7c-a057-2eb9ef78b6ca", + "uuid": "f4c979a0-bec4-421d-9fa1-732545936767", "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-chronologies-{chronid}-test.js", + "file": "/test/v2.0-data-chronologies-{chronid}-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 \"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": 70, + "duration": 89, "state": "passed", "speed": "fast", "pass": true, "fail": false, "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();", + "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": "1bcfd5b5-82e1-4974-b943-b0b6cec1b513", - "parentUUID": "27214b0a-0a63-4e7c-a057-2eb9ef78b6ca", + "uuid": "70e0d674-e24d-4b15-b1fb-c42eb5d7bfae", + "parentUUID": "f4c979a0-bec4-421d-9fa1-732545936767", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "1bcfd5b5-82e1-4974-b943-b0b6cec1b513" + "70e0d674-e24d-4b15-b1fb-c42eb5d7bfae" ], "failures": [], "pending": [], "skipped": [], - "duration": 70, + "duration": 89, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -2315,49 +1550,49 @@ "_timeout": 900000 }, { - "uuid": "fe410741-f749-4429-8ae4-bf1d6792ef9a", - "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": "cd222990-18e9-4997-8a29-6f8b6435c326", + "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": "c47e3b26-4b77-4cec-b68d-7969b8821ff0", + "uuid": "30b820c4-885c-426a-9e2d-878313d446e5", "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-publications-test.js", + "file": "/test/v2.0-data-publications-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 list of publications.\"", + "fullTitle": "tests for /v2.0/data/publications tests for get should respond 200 for \"A list of publications.\"", "timedOut": false, - "duration": 85, + "duration": 76, "state": "passed", "speed": "fast", "pass": true, "fail": false, "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();", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/publications', { \n 'qs': {\"publicationid\":10734,\"datasetid\":92176777,\"siteid\":3269,\"familyname\":\"R-eZmtqPJWL\",\"pubtype\":\"Undergraduate thesis\",\"year\":1533,\"search\":\"eiusmod velit quis\",\"limit\": 10,\"offset\": 0},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", "err": {}, - "uuid": "1f99c65a-ec2d-44f6-8f11-0bb9d125e90d", - "parentUUID": "c47e3b26-4b77-4cec-b68d-7969b8821ff0", + "uuid": "b10f08a4-2098-47db-91b6-87fe37f18dc6", + "parentUUID": "30b820c4-885c-426a-9e2d-878313d446e5", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "1f99c65a-ec2d-44f6-8f11-0bb9d125e90d" + "b10f08a4-2098-47db-91b6-87fe37f18dc6" ], "failures": [], "pending": [], "skipped": [], - "duration": 85, + "duration": 76, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -2373,49 +1608,49 @@ "_timeout": 900000 }, { - "uuid": "eb6a0644-de01-413c-aa3d-bfeb3dac8643", - "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", + "uuid": "3f5bba6b-41d5-4cc5-b301-4ea4749db90b", + "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": "13019a7c-25d4-4702-ad02-8e950d0a1381", + "uuid": "79c5b9a1-b578-4b98-b41d-fe2a08500003", "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", + "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 \"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.\"", + "fullTitle": "tests for /v2.0/apps/taxagrouptypes tests for get should respond 200 for \"A table of Neotoma collection types.\"", "timedOut": false, - "duration": 845, + "duration": 116, "state": "passed", - "speed": "medium", + "speed": "fast", "pass": true, "fail": false, "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();", + "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": "8ea3e5c6-83cc-4761-819a-ef2e2202c7c2", - "parentUUID": "13019a7c-25d4-4702-ad02-8e950d0a1381", + "uuid": "04f5e5ef-2003-4868-93a6-5d5777abb483", + "parentUUID": "79c5b9a1-b578-4b98-b41d-fe2a08500003", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "8ea3e5c6-83cc-4761-819a-ef2e2202c7c2" + "04f5e5ef-2003-4868-93a6-5d5777abb483" ], "failures": [], "pending": [], "skipped": [], - "duration": 845, + "duration": 116, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -2431,49 +1666,145 @@ "_timeout": 900000 }, { - "uuid": "7b0dff9c-0e60-4662-a4c0-6ecb4a619feb", - "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": "6f85699d-b0f9-4069-b139-2a438e9bf45b", + "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": 88, + "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": "7f37cedf-6ef1-448a-9cc5-392aab11a57b", + "parentUUID": "6f85699d-b0f9-4069-b139-2a438e9bf45b", + "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": 72, + "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": "cc3481dd-799d-4503-a23c-797410d137b0", + "parentUUID": "6f85699d-b0f9-4069-b139-2a438e9bf45b", + "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": 72, + "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": "9ded50ab-ff63-46c4-a62d-98ae590316cc", + "parentUUID": "6f85699d-b0f9-4069-b139-2a438e9bf45b", + "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": 72, + "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": "9428641e-6804-4d34-b783-b6cb6dd98504", + "parentUUID": "6f85699d-b0f9-4069-b139-2a438e9bf45b", + "isHook": false, + "skipped": false + } + ], + "suites": [], + "passes": [ + "7f37cedf-6ef1-448a-9cc5-392aab11a57b", + "cc3481dd-799d-4503-a23c-797410d137b0", + "9ded50ab-ff63-46c4-a62d-98ae590316cc", + "9428641e-6804-4d34-b783-b6cb6dd98504" + ], + "failures": [], + "pending": [], + "skipped": [], + "duration": 304, + "root": false, + "rootEmpty": false, + "_timeout": 5000 + }, + { + "uuid": "b1d48d9d-5604-49c5-b1b3-026111358f19", + "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": "97afe6a4-7544-4707-bd31-07e9c51d3d6f", + "uuid": "e1519a84-1119-41dd-83b8-fe5a2ef7997f", "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/v2.0-data-datasets_elc-test.js", + "file": "/test/v2.0-data-datasets_elc-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 \"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": 67, + "duration": 79, "state": "passed", "speed": "fast", "pass": true, "fail": false, "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();", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/datasets_elc', { \n 'qs': {\"siteid\":32407,\"contactid\":17454,\"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\":22904221},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", "err": {}, - "uuid": "4522b377-f57b-42b4-85e7-46bf14823a01", - "parentUUID": "97afe6a4-7544-4707-bd31-07e9c51d3d6f", + "uuid": "1ee95b81-14d8-4315-a053-8ec9cd15e46e", + "parentUUID": "e1519a84-1119-41dd-83b8-fe5a2ef7997f", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "4522b377-f57b-42b4-85e7-46bf14823a01" + "1ee95b81-14d8-4315-a053-8ec9cd15e46e" ], "failures": [], "pending": [], "skipped": [], - "duration": 67, + "duration": 79, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -2489,49 +1820,49 @@ "_timeout": 900000 }, { - "uuid": "1cf3d28e-d7e2-485b-b93e-979f4a0c853c", - "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": "cbff194e-6258-44ba-8ce4-5f8c24f95481", + "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": "e7b59700-9b9e-46a4-9eb3-e16f5efeb747", + "uuid": "f6a9d4bc-07c5-41bc-b87d-4d530ae04456", "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}-sites-test.js", + "file": "/test/v2.0-data-geopoliticalunits-{gpid}-sites-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 sites.\"", + "fullTitle": "tests for /v2.0/data/geopoliticalunits/{gpid}/sites tests for get should respond 200 for \"An array of sites.\"", "timedOut": false, - "duration": 66720, + "duration": 149, "state": "passed", - "speed": "slow", + "speed": "fast", "pass": true, "fail": false, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/apps/constdb/datasetages', { \n 'qs': {\"dbid\":21},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/geopoliticalunits/2999/sites', { \n 'qs': {\"limit\": 10,\"offset\": 0},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", "err": {}, - "uuid": "99403969-3b4c-4948-ab8d-39ce1299dd42", - "parentUUID": "e7b59700-9b9e-46a4-9eb3-e16f5efeb747", + "uuid": "3ef2b0b1-781a-4895-92bd-f388204ea243", + "parentUUID": "f6a9d4bc-07c5-41bc-b87d-4d530ae04456", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "99403969-3b4c-4948-ab8d-39ce1299dd42" + "3ef2b0b1-781a-4895-92bd-f388204ea243" ], "failures": [], "pending": [], "skipped": [], - "duration": 66720, + "duration": 149, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -2547,49 +1878,49 @@ "_timeout": 900000 }, { - "uuid": "7e97a0a5-1186-4b06-8d6a-2def597e7f20", - "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": "0a8e6803-7324-4572-bb0b-9d9f3c7dcfea", + "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": "f45166fa-ce7a-41a4-80e5-061e283c591f", + "uuid": "e1d2ac41-b29e-4a1c-bb8b-402aaa608a97", "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/v2.0-data-summary-dstypemonth-test.js", + "file": "/test/v2.0-data-summary-dstypemonth-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 \"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": 149, + "duration": 203, "state": "passed", "speed": "fast", "pass": true, "fail": false, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/apps/constdb/datasets', { \n 'qs': {\"dbid\":7},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "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": "08efb405-1450-4675-8717-40f87ce29fe5", - "parentUUID": "f45166fa-ce7a-41a4-80e5-061e283c591f", + "uuid": "cce979cf-eabf-4ad3-a100-fa89ba3ad18f", + "parentUUID": "e1d2ac41-b29e-4a1c-bb8b-402aaa608a97", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "08efb405-1450-4675-8717-40f87ce29fe5" + "cce979cf-eabf-4ad3-a100-fa89ba3ad18f" ], "failures": [], "pending": [], "skipped": [], - "duration": 149, + "duration": 203, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -2605,49 +1936,49 @@ "_timeout": 900000 }, { - "uuid": "61fddec7-a63d-4797-842b-ab2b270b2c01", - "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", + "uuid": "bc8f5625-ec2d-43e9-8396-36386cfa5cbb", + "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": "1f43527b-9790-445e-bc45-6546c5d45626", + "uuid": "52ecfe3a-0c79-4f23-bc5e-c85aac1d327d", "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", + "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 \"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. \"", + "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": 102, + "duration": 7166, "state": "passed", - "speed": "fast", + "speed": "slow", "pass": true, "fail": false, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/apps/constdb/datasetuploads', { \n 'qs': {\"dbid\":29},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "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": "97057c9f-db23-4c7b-97d0-4f57aa63f194", - "parentUUID": "1f43527b-9790-445e-bc45-6546c5d45626", + "uuid": "e500ebf2-2954-49f7-a59b-9f9a45b9c4db", + "parentUUID": "52ecfe3a-0c79-4f23-bc5e-c85aac1d327d", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "97057c9f-db23-4c7b-97d0-4f57aa63f194" + "e500ebf2-2954-49f7-a59b-9f9a45b9c4db" ], "failures": [], "pending": [], "skipped": [], - "duration": 102, + "duration": 7166, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -2663,49 +1994,49 @@ "_timeout": 900000 }, { - "uuid": "e89e3362-1621-4c17-a2bd-e5a4f5d3c869", - "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": "48fa8509-c347-4876-8417-3cd6e68c330b", + "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": [], "suites": [ { - "uuid": "961bcf33-6aba-4b2d-958f-9a36c6d6f55d", + "uuid": "b21ef8be-3813-417d-b7bc-c1b52170d099", "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-contacts-{contactid}-test.js", + "file": "/test/v2.0-data-contacts-{contactid}-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 \"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": 62769, + "duration": 68, "state": "passed", - "speed": "slow", + "speed": "fast", "pass": true, "fail": false, "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();", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/contacts/7269', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", "err": {}, - "uuid": "8fd4af49-6202-4489-8f9d-a60dd95196bb", - "parentUUID": "961bcf33-6aba-4b2d-958f-9a36c6d6f55d", + "uuid": "07c69279-d6fa-473c-a904-04f77976f804", + "parentUUID": "b21ef8be-3813-417d-b7bc-c1b52170d099", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "8fd4af49-6202-4489-8f9d-a60dd95196bb" + "07c69279-d6fa-473c-a904-04f77976f804" ], "failures": [], "pending": [], "skipped": [], - "duration": 62769, + "duration": 68, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -2721,49 +2052,49 @@ "_timeout": 900000 }, { - "uuid": "fc9d8052-ab1a-4927-a150-85f3a8f570fa", - "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": "0f65ca79-4a9e-4654-83bd-8b401aab5b0d", + "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": "d26a3a86-36f4-460f-bcd5-ed766a8bd259", + "uuid": "c7e3c833-355d-464e-abb2-c76ed358d7df", "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-data-taxa-test.js", + "file": "/test/v2.0-data-taxa-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.\"", + "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": 192, + "duration": 152, "state": "passed", "speed": "fast", "pass": true, "fail": false, "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();", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/taxa', { \n 'qs': {\"taxonname\":\"aliqua ullamco Lorem\",\"taxagroup\":\"aliquip laboris nostrud\",\"ecolgroup\":\"ut ad\",\"status\":true,\"limit\": 10,\"offset\": 0},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", "err": {}, - "uuid": "8b388e22-a536-40e5-906e-4cd6aef1da56", - "parentUUID": "d26a3a86-36f4-460f-bcd5-ed766a8bd259", + "uuid": "f8d9b3c0-18a3-4194-9176-1e043ba4c717", + "parentUUID": "c7e3c833-355d-464e-abb2-c76ed358d7df", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "8b388e22-a536-40e5-906e-4cd6aef1da56" + "f8d9b3c0-18a3-4194-9176-1e043ba4c717" ], "failures": [], "pending": [], "skipped": [], - "duration": 192, + "duration": 152, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -2779,49 +2110,49 @@ "_timeout": 900000 }, { - "uuid": "656dfca1-f5b7-456e-ad6d-de13241b29a0", - "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": "9ee7e2a2-dae4-4416-b12f-4244d40ca107", + "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", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "b334a9d6-50e2-488a-bb78-04bed9f2116a", + "uuid": "d556af3f-fe74-41d2-9654-5d7f0d4cc383", "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-apps-constdb-datasetuploads-test.js", + "file": "/test/v2.0-apps-constdb-datasetuploads-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 \"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": 73, + "duration": 84, "state": "passed", "speed": "fast", "pass": true, "fail": false, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/apps/depenvt', { \n 'qs': {\"siteid\":24258,\"datasetid\":17777919,\"collectionunitid\":53393},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "code": "var response = request('get', 'http://localhost:3001/v2.0/apps/constdb/datasetuploads', { \n 'qs': {\"dbid\":17},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", "err": {}, - "uuid": "812d12e4-9b6d-4225-8ac0-97cdc20b87a5", - "parentUUID": "b334a9d6-50e2-488a-bb78-04bed9f2116a", + "uuid": "75992bb6-efed-49f5-9e67-524002925b9e", + "parentUUID": "d556af3f-fe74-41d2-9654-5d7f0d4cc383", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "812d12e4-9b6d-4225-8ac0-97cdc20b87a5" + "75992bb6-efed-49f5-9e67-524002925b9e" ], "failures": [], "pending": [], "skipped": [], - "duration": 73, + "duration": 84, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -2837,49 +2168,49 @@ "_timeout": 900000 }, { - "uuid": "ea68c127-ab35-4b4b-9096-c9da9582dc20", - "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": "5060d849-3628-4d0a-9047-71d2b955e1fd", + "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": "bbba31bc-58f8-41da-9c55-5f617dc7566a", + "uuid": "20e90990-71c4-43d9-afb2-aa3277f4540c", "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-geopoliticalunits-test.js", + "file": "/test/v2.0-data-geopoliticalunits-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 geopolitical units.\"", + "fullTitle": "tests for /v2.0/data/geopoliticalunits tests for get should respond 200 for \"An array of geopolitical units.\"", "timedOut": false, - "duration": 66, + "duration": 72, "state": "passed", "speed": "fast", "pass": true, "fail": false, "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();", + "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": {}, - "uuid": "83d2551b-20fe-4730-9c94-86d16e310292", - "parentUUID": "bbba31bc-58f8-41da-9c55-5f617dc7566a", + "uuid": "6d2bce92-d8f3-42a8-9896-9bf7fba502b1", + "parentUUID": "20e90990-71c4-43d9-afb2-aa3277f4540c", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "83d2551b-20fe-4730-9c94-86d16e310292" + "6d2bce92-d8f3-42a8-9896-9bf7fba502b1" ], "failures": [], "pending": [], "skipped": [], - "duration": 66, + "duration": 72, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -2895,49 +2226,49 @@ "_timeout": 900000 }, { - "uuid": "e49efd37-921c-41a2-af01-cc62c256470a", - "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": "c55de71d-6fee-4f53-b7dd-5671aa6552cc", + "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": "35005df8-598c-4c1b-826b-5871dd3342fa", + "uuid": "a325f2a1-17de-4c00-ae48-985b72cf2f70", "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-spatial-icesheet-test.js", + "file": "/test/v2.0-data-spatial-icesheet-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 \"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": 71, + "duration": 273, "state": "passed", "speed": "fast", "pass": true, "fail": false, "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();", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/spatial/icesheet', { \n 'qs': {\"age\":16742,\"proj\": 4326,\"prec\": 1000},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", "err": {}, - "uuid": "9d2b458a-173d-41e7-8ad5-45c0a61b0aa6", - "parentUUID": "35005df8-598c-4c1b-826b-5871dd3342fa", + "uuid": "a81eddc8-59db-4d48-bd7e-e61dec321347", + "parentUUID": "a325f2a1-17de-4c00-ae48-985b72cf2f70", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "9d2b458a-173d-41e7-8ad5-45c0a61b0aa6" + "a81eddc8-59db-4d48-bd7e-e61dec321347" ], "failures": [], "pending": [], "skipped": [], - "duration": 71, + "duration": 273, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -2953,49 +2284,49 @@ "_timeout": 900000 }, { - "uuid": "bbab50a5-75c3-4b1a-8c91-7de479b4edc1", - "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": "ee9effef-f0c5-481a-a127-3d1b732c7521", + "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": "22a0c59d-f024-4efd-b62b-07c9038806a8", + "uuid": "9944967e-4ede-4a56-a79d-210fdfa34674", "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-pollen-{id}-test.js", + "file": "/test/v2.0-data-pollen-{id}-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 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": 74, + "duration": 5, "state": "passed", "speed": "fast", "pass": true, "fail": false, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/apps/taphonomysystems', { \n 'qs': {\"datasettypeid\":17},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/pollen/5379', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", "err": {}, - "uuid": "0fcfeae8-a553-42b6-bcf5-6854743be517", - "parentUUID": "22a0c59d-f024-4efd-b62b-07c9038806a8", + "uuid": "c5872fa8-29fc-4586-bb6c-4e8a83c2fd6c", + "parentUUID": "9944967e-4ede-4a56-a79d-210fdfa34674", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "0fcfeae8-a553-42b6-bcf5-6854743be517" + "c5872fa8-29fc-4586-bb6c-4e8a83c2fd6c" ], "failures": [], "pending": [], "skipped": [], - "duration": 74, + "duration": 5, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -3011,49 +2342,49 @@ "_timeout": 900000 }, { - "uuid": "131d0567-6dc6-4586-9042-3fdb7d909eb4", - "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": "51ce9bfb-c6cf-412f-8128-d5c451ecce9f", + "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": "439b8a53-a2f4-4ba5-90d4-aaba0c1bf8e8", + "uuid": "f7b4ab1a-063d-4f45-bedd-00bba63fdbfa", "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/v1.5-data-geopoliticalunits-test.js", + "file": "/test/v1.5-data-geopoliticalunits-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 \"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": 119, + "duration": 98, "state": "passed", "speed": "fast", "pass": true, "fail": false, "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();", + "code": "var response = request('get', 'http://localhost:3001/v1.5/data/geopoliticalunits', { \n 'qs': {\"gpid\":5392,\"gpname\":\"Canada\",\"rank\":3,\"lower\":true},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", "err": {}, - "uuid": "4e81dd13-97d6-4474-aa14-d14915e05beb", - "parentUUID": "439b8a53-a2f4-4ba5-90d4-aaba0c1bf8e8", + "uuid": "41eeae47-7a3e-4c4e-a40d-34fff8233cb6", + "parentUUID": "f7b4ab1a-063d-4f45-bedd-00bba63fdbfa", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "4e81dd13-97d6-4474-aa14-d14915e05beb" + "41eeae47-7a3e-4c4e-a40d-34fff8233cb6" ], "failures": [], "pending": [], "skipped": [], - "duration": 119, + "duration": 98, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -3069,49 +2400,49 @@ "_timeout": 900000 }, { - "uuid": "7d7ac09c-88cf-4e4d-932c-852caccdd2c7", - "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": "73701b41-4692-4225-8935-f819298bd08a", + "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": "9dee92f7-6847-4171-b982-610c969827f7", + "uuid": "cabc43b5-4f44-4eeb-88f9-b16b2daf4dda", "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}-chronologies-test.js", + "file": "/test/v2.0-data-sites-{siteid}-chronologies-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 \"chronology\"", + "fullTitle": "tests for /v2.0/data/sites/{siteid}/chronologies tests for get should respond 200 for \"chronology\"", "timedOut": false, - "duration": 6318, + "duration": 84, "state": "passed", - "speed": "slow", + "speed": "fast", "pass": true, "fail": false, "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();", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/sites/1641/chronologies', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", "err": {}, - "uuid": "8a653429-5c4c-4472-9e35-80d663f15997", - "parentUUID": "9dee92f7-6847-4171-b982-610c969827f7", + "uuid": "c9cd2e15-29d8-4dea-97f7-51aebe9fba1e", + "parentUUID": "cabc43b5-4f44-4eeb-88f9-b16b2daf4dda", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "8a653429-5c4c-4472-9e35-80d663f15997" + "c9cd2e15-29d8-4dea-97f7-51aebe9fba1e" ], "failures": [], "pending": [], "skipped": [], - "duration": 6318, + "duration": 84, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -3127,49 +2458,49 @@ "_timeout": 900000 }, { - "uuid": "5ec0dc50-4af6-4538-bfb6-660236d4fa37", - "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", + "uuid": "65edbdc9-78d4-45f8-9558-4167ba0a8110", + "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": [], "suites": [ { - "uuid": "1414e114-9535-4ae2-8c9a-202c3c8bebcc", + "uuid": "4c85feec-d76f-4285-8369-0a2497b2aed2", "title": "tests for get", - "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", + "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 \"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.\"", + "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": 76, + "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/aedna/sequences/500', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "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": {}, - "uuid": "35c181fb-1d45-4af6-bd63-3bdd94af8fc7", - "parentUUID": "1414e114-9535-4ae2-8c9a-202c3c8bebcc", + "uuid": "04d990b5-7d1e-4d9e-9eab-2e632fa584c5", + "parentUUID": "4c85feec-d76f-4285-8369-0a2497b2aed2", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "35c181fb-1d45-4af6-bd63-3bdd94af8fc7" + "04d990b5-7d1e-4d9e-9eab-2e632fa584c5" ], "failures": [], "pending": [], "skipped": [], - "duration": 76, + "duration": 74, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -3185,49 +2516,49 @@ "_timeout": 900000 }, { - "uuid": "85a21095-8e9c-42f1-ad00-e7824deb573e", - "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", + "uuid": "0c210bcf-1ce7-4f04-b333-e347033032b9", + "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": "2170a557-cd24-4a34-aa28-daf8532efe00", + "uuid": "9da26cd0-4276-4be8-b8b6-9bd19305bd19", "title": "tests for get", - "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", + "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 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.\"", + "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": 67, + "duration": 69, "state": "passed", "speed": "fast", "pass": true, "fail": false, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/aedna/taxa/1452/sequences', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "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": "fdae5379-7117-4199-8c53-239f11abf1ff", - "parentUUID": "2170a557-cd24-4a34-aa28-daf8532efe00", + "uuid": "f3816f74-1e42-4224-a08f-71064e847c18", + "parentUUID": "9da26cd0-4276-4be8-b8b6-9bd19305bd19", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "fdae5379-7117-4199-8c53-239f11abf1ff" + "f3816f74-1e42-4224-a08f-71064e847c18" ], "failures": [], "pending": [], "skipped": [], - "duration": 67, + "duration": 69, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -3243,107 +2574,279 @@ "_timeout": 900000 }, { - "uuid": "eddaedbe-59ff-4f4e-906e-447e2f2d90e8", - "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": "4a64f792-0a12-4fa9-bdfb-f3dcf7a421b7", + "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": "6c21fa98-727e-4a5f-8719-36f55301889e", + "uuid": "fadac25a-3669-4fd3-895f-cef401741185", "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", + "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 \"An array of datasets.\"", - "fullTitle": "tests for /v2.0/data/aggregatedatasets/{aggdatasetid} tests for get should respond 200 for \"An array of datasets.\"", + "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": 83, + "duration": 69, "state": "passed", "speed": "fast", "pass": true, "fail": false, "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();", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/dbtables/pariatursintnisi', { \n 'qs': {\"count\":false,\"limit\": 10,\"offset\": 0},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", "err": {}, - "uuid": "1e44d13b-dd97-4b8e-b31a-61f538d9d00e", - "parentUUID": "6c21fa98-727e-4a5f-8719-36f55301889e", + "uuid": "a358abc9-4792-4b11-b720-f1c2dbb05179", + "parentUUID": "fadac25a-3669-4fd3-895f-cef401741185", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "1e44d13b-dd97-4b8e-b31a-61f538d9d00e" + "a358abc9-4792-4b11-b720-f1c2dbb05179" ], "failures": [], "pending": [], "skipped": [], - "duration": 83, + "duration": 69, "root": false, "rootEmpty": false, "_timeout": 900000 } ], - "passes": [], + "passes": [], + "failures": [], + "pending": [], + "skipped": [], + "duration": 0, + "root": false, + "rootEmpty": false, + "_timeout": 900000 + }, + { + "uuid": "97e7f315-8d81-4bcd-a02a-8b83849a3724", + "title": "Get contact data:", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/contacts.js", + "file": "/test/contacts.js", + "beforeHooks": [], + "afterHooks": [], + "tests": [ + { + "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": "bf07d4e1-3b01-4bd0-81ac-beee35d9155e", + "parentUUID": "97e7f315-8d81-4bcd-a02a-8b83849a3724", + "isHook": false, + "skipped": false + }, + { + "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": 81, + "state": "passed", + "speed": "fast", + "pass": true, + "fail": false, + "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": "b2b42c32-b01f-43b4-97f3-8aa707b7c6d3", + "parentUUID": "97e7f315-8d81-4bcd-a02a-8b83849a3724", + "isHook": false, + "skipped": false + }, + { + "title": "Contact queries should be case insensitive:", + "fullTitle": "Get contact data: Contact queries should be case insensitive:", + "timedOut": false, + "duration": 75, + "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": "518944e6-ea9e-4d8b-93b6-eab7994f6096", + "parentUUID": "97e7f315-8d81-4bcd-a02a-8b83849a3724", + "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:", + "timedOut": false, + "duration": 76, + "state": "passed", + "speed": "fast", + "pass": true, + "fail": false, + "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": "1b4bf138-46c6-43cb-ad6a-bf8675d5279a", + "parentUUID": "97e7f315-8d81-4bcd-a02a-8b83849a3724", + "isHook": false, + "skipped": false + }, + { + "title": "A single contact (12) should be returned.", + "fullTitle": "Get contact data: A single contact (12) should be returned.", + "timedOut": false, + "duration": 75, + "state": "passed", + "speed": "fast", + "pass": true, + "fail": false, + "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": "61caad56-9682-410c-935d-9a2432976ded", + "parentUUID": "97e7f315-8d81-4bcd-a02a-8b83849a3724", + "isHook": false, + "skipped": false + }, + { + "title": "All contacts from datasets should be returned.", + "fullTitle": "Get contact data: All contacts from datasets should be returned.", + "timedOut": false, + "duration": 72, + "state": "passed", + "speed": "fast", + "pass": true, + "fail": false, + "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": "cfdb9e5b-4ce7-4d0c-939e-38f8cb736eea", + "parentUUID": "97e7f315-8d81-4bcd-a02a-8b83849a3724", + "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.", + "timedOut": false, + "duration": 101, + "state": "passed", + "speed": "fast", + "pass": true, + "fail": false, + "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": "c74972ce-ac7d-4ccd-9073-a2f850b4f0c1", + "parentUUID": "97e7f315-8d81-4bcd-a02a-8b83849a3724", + "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": 74, + "state": "passed", + "speed": "fast", + "pass": true, + "fail": false, + "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": "77da9e68-1631-417b-a81b-9cde9b9aab85", + "parentUUID": "97e7f315-8d81-4bcd-a02a-8b83849a3724", + "isHook": false, + "skipped": false + } + ], + "suites": [], + "passes": [ + "bf07d4e1-3b01-4bd0-81ac-beee35d9155e", + "b2b42c32-b01f-43b4-97f3-8aa707b7c6d3", + "518944e6-ea9e-4d8b-93b6-eab7994f6096", + "1b4bf138-46c6-43cb-ad6a-bf8675d5279a", + "61caad56-9682-410c-935d-9a2432976ded", + "cfdb9e5b-4ce7-4d0c-939e-38f8cb736eea", + "c74972ce-ac7d-4ccd-9073-a2f850b4f0c1", + "77da9e68-1631-417b-a81b-9cde9b9aab85" + ], "failures": [], "pending": [], "skipped": [], - "duration": 0, + "duration": 628, "root": false, "rootEmpty": false, - "_timeout": 900000 + "_timeout": 5000 }, { - "uuid": "710c26d5-f130-45ba-a163-e9cb5a376bba", - "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": "c1d26cf0-83c5-455b-b5aa-606373d8d3cc", + "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": "119427c0-1453-4850-b87b-80bbc6558c9e", + "uuid": "a4932026-6ed2-4028-adc8-18e2870dbed0", "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-contacts-{contactid}-publications-test.js", + "file": "/test/v2.0-data-contacts-{contactid}-publications-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 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": 128, + "duration": 71, "state": "passed", "speed": "fast", "pass": true, "fail": false, "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();", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/contacts/500/publications', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", "err": {}, - "uuid": "7ab7c24b-23d3-4c36-b7ea-a31c77e4dd19", - "parentUUID": "119427c0-1453-4850-b87b-80bbc6558c9e", + "uuid": "dacfd742-f0eb-4765-bb6d-47b5a474544f", + "parentUUID": "a4932026-6ed2-4028-adc8-18e2870dbed0", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "7ab7c24b-23d3-4c36-b7ea-a31c77e4dd19" + "dacfd742-f0eb-4765-bb6d-47b5a474544f" ], "failures": [], "pending": [], "skipped": [], - "duration": 128, + "duration": 71, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -3359,107 +2862,88 @@ "_timeout": 900000 }, { - "uuid": "ac418dbb-81ea-48ce-9656-c43950927f75", - "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": "da91dbc5-c18d-4b19-ba65-71fbc01a451d", + "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": [], - "suites": [ + "tests": [ { - "uuid": "11365856-fdb6-4e6e-a752-e05a89f7dc45", - "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", - "beforeHooks": [], - "afterHooks": [], - "tests": [ - { - "title": "should respond 200 for \"contact\"", - "fullTitle": "tests for /v2.0/data/contacts tests for get should respond 200 for \"contact\"", - "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/contacts', { \n 'qs': {\"contactid\":8846,\"familyname\":\"y-NZdTlQpz \",\"contactname\":\"NKlgiHNwnj\",\"contactstatus\":\"retired\",\"limit\": 10,\"offset\": 0},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "a10723f7-fba6-407b-9489-821084101a9d", - "parentUUID": "11365856-fdb6-4e6e-a752-e05a89f7dc45", - "isHook": false, - "skipped": false - } - ], - "suites": [], - "passes": [ - "a10723f7-fba6-407b-9489-821084101a9d" - ], - "failures": [], - "pending": [], - "skipped": [], - "duration": 78, - "root": false, - "rootEmpty": false, - "_timeout": 900000 + "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": "3396999a-e547-4195-9150-54325b3e685c", + "parentUUID": "da91dbc5-c18d-4b19-ba65-71fbc01a451d", + "isHook": false, + "skipped": false } ], - "passes": [], + "suites": [], + "passes": [ + "3396999a-e547-4195-9150-54325b3e685c" + ], "failures": [], "pending": [], "skipped": [], "duration": 0, "root": false, "rootEmpty": false, - "_timeout": 900000 + "_timeout": 5000 }, { - "uuid": "dcd6bc7f-53f6-477c-948a-434b2274a3b7", - "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", + "uuid": "cbdbf15b-852b-4aed-97a5-0c36c0c4b028", + "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": "a8999778-5f73-481c-8559-ad6507ce189c", + "uuid": "aed10d4b-f97a-4764-999c-4c43dc8492f6", "title": "tests for get", - "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", + "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 \"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.\"", + "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": 74, + "duration": 21641, "state": "passed", - "speed": "fast", + "speed": "slow", "pass": true, "fail": false, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/contacts/2640/publications', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "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": {}, - "uuid": "0d0b3770-ec75-4a38-bae6-90c85ad6b32e", - "parentUUID": "a8999778-5f73-481c-8559-ad6507ce189c", + "uuid": "f5dc263d-f6da-406f-9736-8dc661db50fc", + "parentUUID": "aed10d4b-f97a-4764-999c-4c43dc8492f6", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "0d0b3770-ec75-4a38-bae6-90c85ad6b32e" + "f5dc263d-f6da-406f-9736-8dc661db50fc" ], "failures": [], "pending": [], "skipped": [], - "duration": 74, + "duration": 21641, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -3475,49 +2959,49 @@ "_timeout": 900000 }, { - "uuid": "4b416769-7aa4-4705-a77b-d225d2f1c8ad", - "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": "805213b7-c359-4b05-b3d8-6bf739a02990", + "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": "531f2543-e799-4db0-88bd-d54c18ebec32", + "uuid": "9bb2afe5-b4fd-43c9-8377-5ba4e819b681", "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-apps-taxaindatasets-test.js", + "file": "/test/v2.0-apps-taxaindatasets-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 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": 101, + "duration": 6237, "state": "passed", - "speed": "fast", + "speed": "slow", "pass": true, "fail": false, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/contacts/5825/sites', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "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": "f32e7633-1600-4066-80c1-726b0b0a034e", - "parentUUID": "531f2543-e799-4db0-88bd-d54c18ebec32", + "uuid": "32b53bce-9c07-4ae4-ae41-1043af9fea85", + "parentUUID": "9bb2afe5-b4fd-43c9-8377-5ba4e819b681", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "f32e7633-1600-4066-80c1-726b0b0a034e" + "32b53bce-9c07-4ae4-ae41-1043af9fea85" ], "failures": [], "pending": [], "skipped": [], - "duration": 101, + "duration": 6237, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -3533,49 +3017,49 @@ "_timeout": 900000 }, { - "uuid": "2eb3506c-4c03-466c-b6ba-1987c6389810", - "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": "c096aea1-5898-46bb-8037-0ec6389f3887", + "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": "ac764be0-123e-4ce0-97bd-9f2a85d3d21b", + "uuid": "639f3403-17d6-4e8f-a610-3dc44ea3b43b", "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-pollen-test.js", + "file": "/test/v2.0-data-pollen-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 \"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": 71, + "duration": 2, "state": "passed", "speed": "fast", "pass": true, "fail": false, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/contacts/2394', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/pollen', { \n 'qs': {\"taxonname\":\"cillum velit in nostrud\",\"taxonid\":43692,\"siteid\":16565,\"sitename\":\"minim\",\"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]]]}\",\"ageof\":11194815,\"ageyoung\": 1000,\"ageold\": 10000,\"limit\": 10,\"offset\": 0},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", "err": {}, - "uuid": "a7e5ac45-f71f-4f10-b449-9cba55b1e488", - "parentUUID": "ac764be0-123e-4ce0-97bd-9f2a85d3d21b", + "uuid": "4dc50dcb-de22-41d6-b230-8d8b7693f2b5", + "parentUUID": "639f3403-17d6-4e8f-a610-3dc44ea3b43b", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "a7e5ac45-f71f-4f10-b449-9cba55b1e488" + "4dc50dcb-de22-41d6-b230-8d8b7693f2b5" ], "failures": [], "pending": [], "skipped": [], - "duration": 71, + "duration": 2, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -3591,7 +3075,7 @@ "_timeout": 900000 }, { - "uuid": "3cbee897-27d3-4eba-bb33-87f99499f692", + "uuid": "271d2cd7-cd40-4fcc-b7d5-8be6590c2165", "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", @@ -3600,7 +3084,7 @@ "tests": [], "suites": [ { - "uuid": "44cc4ebf-8506-4103-a092-f7c0e7a21eaa", + "uuid": "66f3b495-ae67-4773-a209-52bb667b8853", "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", @@ -3611,29 +3095,29 @@ "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": 53756, + "duration": 23184, "state": "passed", "speed": "slow", "pass": true, "fail": false, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/datasets/db', { \n 'qs': {\"limit\": 10,\"offset\": 0,\"database\":\"Faunal Isotope Database\"},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/datasets/db', { \n 'qs': {\"limit\": 10,\"offset\": 0,\"database\":\"French Institute of Pondicherry Palynology and Paleoecology Database\"},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", "err": {}, - "uuid": "c1e7192b-4667-4bf3-bcab-7a2091c9f240", - "parentUUID": "44cc4ebf-8506-4103-a092-f7c0e7a21eaa", + "uuid": "d02e07b3-4cea-4668-a912-e312c6498d4c", + "parentUUID": "66f3b495-ae67-4773-a209-52bb667b8853", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "c1e7192b-4667-4bf3-bcab-7a2091c9f240" + "d02e07b3-4cea-4668-a912-e312c6498d4c" ], "failures": [], "pending": [], "skipped": [], - "duration": 53756, + "duration": 23184, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -3649,107 +3133,203 @@ "_timeout": 900000 }, { - "uuid": "8522af5b-a2fd-48ef-9792-7b8f7f8434f4", - "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": "af92f245-c372-4439-be5b-c66fed14c217", + "title": "Get datasets any number of ways:", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/datasets.js", + "file": "/test/datasets.js", "beforeHooks": [], "afterHooks": [], - "tests": [], - "suites": [ + "tests": [ + { + "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": 1145, + "state": "passed", + "speed": "slow", + "pass": true, + "fail": false, + "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": "43fac58a-1e25-480f-8287-e8206aebb5e1", + "parentUUID": "af92f245-c372-4439-be5b-c66fed14c217", + "isHook": false, + "skipped": false + }, + { + "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": 1023, + "state": "passed", + "speed": "slow", + "pass": true, + "fail": false, + "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": "55d6e3ae-a0cf-4e4e-b3a4-e3b68118c456", + "parentUUID": "af92f245-c372-4439-be5b-c66fed14c217", + "isHook": false, + "skipped": false + }, + { + "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": 1038, + "state": "passed", + "speed": "slow", + "pass": true, + "fail": false, + "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": "fd6c934b-a66a-4813-9508-621211732727", + "parentUUID": "af92f245-c372-4439-be5b-c66fed14c217", + "isHook": false, + "skipped": false + }, + { + "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": 1555, + "state": "passed", + "speed": "slow", + "pass": true, + "fail": false, + "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": "3e9aaf26-a9e0-4cf2-a8fd-ad1b52028e44", + "parentUUID": "af92f245-c372-4439-be5b-c66fed14c217", + "isHook": false, + "skipped": false + }, + { + "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": 2, + "state": "passed", + "speed": "fast", + "pass": true, + "fail": false, + "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": "1e1f0fd3-6623-42b6-a107-506ac3ad5df4", + "parentUUID": "af92f245-c372-4439-be5b-c66fed14c217", + "isHook": false, + "skipped": false + }, { - "uuid": "890b9bf9-7737-4bc4-a082-132eff06cc38", - "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", - "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.\"", - "timedOut": false, - "duration": 188, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "pending": false, - "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/datasets', { \n 'qs': {\"sitename\":\"eiusmod incididunt culpa adipisicing\",\"database\":\"Neotoma Ostracode Database\",\"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\":49244,\"datasetid\":61572416,\"doi\":\"10K48404/QE\",\"gpid\":5392,\"keyword\":\"bottom\",\"contactid\":19343,\"taxa\":\"incididunt Lorem consectetur consequat anim\",\"ageyoung\": 1000,\"ageold\": 10000,\"ageof\":11916304,\"limit\": 10,\"offset\": 0},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "caca0ee1-5dea-4e1b-8c3c-ab4179b176f6", - "parentUUID": "890b9bf9-7737-4bc4-a082-132eff06cc38", - "isHook": false, - "skipped": false - } - ], - "suites": [], - "passes": [ - "caca0ee1-5dea-4e1b-8c3c-ab4179b176f6" - ], - "failures": [], - "pending": [], - "skipped": [], - "duration": 188, - "root": false, - "rootEmpty": false, - "_timeout": 900000 + "title": "Limits work:", + "fullTitle": "Get datasets any number of ways: Limits work:", + "timedOut": false, + "duration": 23259, + "state": "passed", + "speed": "slow", + "pass": true, + "fail": false, + "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": "b21b7d84-46ce-4ec1-934a-ce3326046edd", + "parentUUID": "af92f245-c372-4439-be5b-c66fed14c217", + "isHook": false, + "skipped": false + }, + { + "title": "Works with age validation:", + "fullTitle": "Get datasets any number of ways: Works with age validation:", + "timedOut": false, + "duration": 0, + "state": "pending", + "speed": null, + "pass": false, + "fail": false, + "pending": true, + "context": null, + "code": "", + "err": {}, + "uuid": "e4447084-52cb-4093-8636-3a41a8ef2666", + "parentUUID": "af92f245-c372-4439-be5b-c66fed14c217", + "isHook": false, + "skipped": false } ], - "passes": [], + "suites": [], + "passes": [ + "43fac58a-1e25-480f-8287-e8206aebb5e1", + "55d6e3ae-a0cf-4e4e-b3a4-e3b68118c456", + "fd6c934b-a66a-4813-9508-621211732727", + "3e9aaf26-a9e0-4cf2-a8fd-ad1b52028e44", + "1e1f0fd3-6623-42b6-a107-506ac3ad5df4", + "b21b7d84-46ce-4ec1-934a-ce3326046edd" + ], "failures": [], - "pending": [], + "pending": [ + "e4447084-52cb-4093-8636-3a41a8ef2666" + ], "skipped": [], - "duration": 0, + "duration": 28022, "root": false, "rootEmpty": false, - "_timeout": 900000 + "_timeout": 50000 }, { - "uuid": "1aad57d4-1279-4fc6-807c-496850637c11", - "title": "tests for /v2.0/data/datasets/{datasetid}/assays", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-datasets-{datasetid}-assays-test.js", - "file": "/test/v2.0-data-datasets-{datasetid}-assays-test.js", + "uuid": "3c00f758-763d-46bf-94ac-8dfc210a5833", + "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": "89683cb5-7db9-42ef-8a63-0d091320a009", + "uuid": "5624ee24-4833-4a73-b3cb-7a46e06ecc0a", "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-datasets-{datasetid}-assays-test.js", - "file": "/test/v2.0-data-datasets-{datasetid}-assays-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 \"Assays\"", - "fullTitle": "tests for /v2.0/data/datasets/{datasetid}/assays tests for get should respond 200 for \"Assays\"", + "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": 74, + "duration": 695, "state": "passed", - "speed": "fast", + "speed": "medium", "pass": true, "fail": false, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/datasets/500/assays', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "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": "b779ecab-12de-422d-a4a9-b5a6ed470556", - "parentUUID": "89683cb5-7db9-42ef-8a63-0d091320a009", + "uuid": "5a87f470-5dcc-49e9-8205-9910e7833e28", + "parentUUID": "5624ee24-4833-4a73-b3cb-7a46e06ecc0a", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "b779ecab-12de-422d-a4a9-b5a6ed470556" + "5a87f470-5dcc-49e9-8205-9910e7833e28" ], "failures": [], "pending": [], "skipped": [], - "duration": 74, + "duration": 695, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -3765,49 +3345,49 @@ "_timeout": 900000 }, { - "uuid": "f85d44b9-4975-4a44-b7f9-52f6ce8bd2ef", - "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": "ac7ad70b-a24b-46ba-80d7-d0b9d373805f", + "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": "7655ce4c-b533-464e-a207-edeadbe8d3bc", + "uuid": "328c60e3-9a0b-4aac-9856-314a5098f0ce", "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/v1.5-data-datasets-{datasetid}-test.js", + "file": "/test/v1.5-data-datasets-{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 \"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": 80, + "duration": 1501, "state": "passed", - "speed": "fast", + "speed": "slow", "pass": true, "fail": false, "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();", + "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": "2e609700-e498-4089-91b0-27ee105b9173", - "parentUUID": "7655ce4c-b533-464e-a207-edeadbe8d3bc", + "uuid": "33e2f485-3121-43a7-848f-0c81b720ef9e", + "parentUUID": "328c60e3-9a0b-4aac-9856-314a5098f0ce", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "2e609700-e498-4089-91b0-27ee105b9173" + "33e2f485-3121-43a7-848f-0c81b720ef9e" ], "failures": [], "pending": [], "skipped": [], - "duration": 80, + "duration": 1501, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -3823,49 +3403,49 @@ "_timeout": 900000 }, { - "uuid": "b4127a5f-b11b-4c42-8d3f-15bab7cf54c9", - "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": "574bd9db-47f5-4489-8c15-59d03b275783", + "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": [ { - "uuid": "2e3ede1b-721e-4e6a-96e5-01c2f30eeec3", + "uuid": "069caa80-ba8f-488e-93bd-dbbaf02dc21d", "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-geopoliticalunits-{gpid}-test.js", + "file": "/test/v2.0-data-geopoliticalunits-{gpid}-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 \"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": 65, + "duration": 72, "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/contacts', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/geopoliticalunits/8242', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", "err": {}, - "uuid": "3ce366d6-60d0-43ad-b663-81c2dcadd7db", - "parentUUID": "2e3ede1b-721e-4e6a-96e5-01c2f30eeec3", + "uuid": "b1b7fae0-3cc2-4360-99db-28c6eb976bc1", + "parentUUID": "069caa80-ba8f-488e-93bd-dbbaf02dc21d", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "3ce366d6-60d0-43ad-b663-81c2dcadd7db" + "b1b7fae0-3cc2-4360-99db-28c6eb976bc1" ], "failures": [], "pending": [], "skipped": [], - "duration": 65, + "duration": 72, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -3881,49 +3461,49 @@ "_timeout": 900000 }, { - "uuid": "e928df21-81a1-43de-9359-257d5bc93b14", - "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", + "uuid": "23b41bd9-9247-4ea8-97fc-f93ad4b9435a", + "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": "949b8856-54e5-44ec-857a-e96ebf093aab", + "uuid": "f2444027-3930-4a6e-83cb-ae0750d205da", "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", + "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 \"DOI\"", - "fullTitle": "tests for /v2.0/data/datasets/{datasetid}/doi tests for get should respond 200 for \"DOI\"", + "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": 67, + "duration": 72, "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();", + "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": "cf5ba705-df27-4aad-a0e3-f677dac5b2b0", - "parentUUID": "949b8856-54e5-44ec-857a-e96ebf093aab", + "uuid": "a303d53e-3a7f-4c02-8d07-6b4cbbbbb54e", + "parentUUID": "f2444027-3930-4a6e-83cb-ae0750d205da", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "cf5ba705-df27-4aad-a0e3-f677dac5b2b0" + "a303d53e-3a7f-4c02-8d07-6b4cbbbbb54e" ], "failures": [], "pending": [], "skipped": [], - "duration": 67, + "duration": 72, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -3939,49 +3519,49 @@ "_timeout": 900000 }, { - "uuid": "56b9b2aa-6ddc-460f-b9c8-6c3fce8aaef2", - "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": "de308a87-afc3-4c51-b3bb-2e5b2f11b153", + "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": "8eda08fc-d30a-4995-8625-ab5a9c8c35a5", + "uuid": "212e0792-1ba1-404c-b3f1-83c3adb821f0", "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-spatial-lakes-test.js", + "file": "/test/v2.0-data-spatial-lakes-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 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, + "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/datasets/500/lithology', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/spatial/lakes', { \n 'qs': {\"siteid\":49987,\"buffer\":3806,\"prec\": 1000,\"proj\": 4326},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", "err": {}, - "uuid": "011aa96c-a2c3-48b2-8487-d23859103d09", - "parentUUID": "8eda08fc-d30a-4995-8625-ab5a9c8c35a5", + "uuid": "db6e2957-9b19-403d-b86a-5b205220d2f9", + "parentUUID": "212e0792-1ba1-404c-b3f1-83c3adb821f0", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "011aa96c-a2c3-48b2-8487-d23859103d09" + "db6e2957-9b19-403d-b86a-5b205220d2f9" ], "failures": [], "pending": [], "skipped": [], - "duration": 71, + "duration": 78, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -3997,165 +3577,236 @@ "_timeout": 900000 }, { - "uuid": "fc5c3734-2337-4e33-b820-099440460ec9", - "title": "tests for /v2.0/data/datasets/{datasetid}/projects", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-datasets-{datasetid}-projects-test.js", - "file": "/test/v2.0-data-datasets-{datasetid}-projects-test.js", + "uuid": "cc688fae-71ab-4164-b226-4799ed033d26", + "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": [], - "suites": [ + "tests": [ { - "uuid": "47228d84-e185-4873-b2ca-05367ed5e559", - "title": "tests for get", - "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-datasets-{datasetid}-projects-test.js", - "file": "/test/v2.0-data-datasets-{datasetid}-projects-test.js", - "beforeHooks": [], - "afterHooks": [], - "tests": [ - { - "title": "should respond 200 for \"Projects\"", - "fullTitle": "tests for /v2.0/data/datasets/{datasetid}/projects tests for get should respond 200 for \"Projects\"", - "timedOut": false, - "duration": 107, - "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/projects', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "fc4450d8-17c6-4d01-b67b-c28bdf3291dd", - "parentUUID": "47228d84-e185-4873-b2ca-05367ed5e559", - "isHook": false, - "skipped": false - } - ], - "suites": [], - "passes": [ - "fc4450d8-17c6-4d01-b67b-c28bdf3291dd" - ], - "failures": [], - "pending": [], - "skipped": [], - "duration": 107, - "root": false, - "rootEmpty": false, - "_timeout": 900000 + "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": 359, + "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": "e1c3a9d9-7e20-45bd-9722-878656b61e0e", + "parentUUID": "cc688fae-71ab-4164-b226-4799ed033d26", + "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": 14094, + "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": "de8ec5e2-7291-4e2b-9548-20f4668b83d0", + "parentUUID": "cc688fae-71ab-4164-b226-4799ed033d26", + "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": true, + "duration": 15001, + "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": "Error: Timeout of 15000ms exceeded. For async tests and hooks, ensure \"done()\" is called; if returning a Promise, ensure it resolves. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/spatial.js)", + "estack": "Error: Timeout of 15000ms exceeded. For async tests and hooks, ensure \"done()\" is called; if returning a Promise, ensure it resolves. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/spatial.js)\n at createTimeoutError (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/mocha/lib/errors.js:386:15)\n at Runnable._timeoutError (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/mocha/lib/runnable.js:431:10)\n at Timeout. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/mocha/lib/runnable.js:246:24)\n at listOnTimeout (node:internal/timers:614:17)\n at process.processTimers (node:internal/timers:549:7)", + "diff": null + }, + "uuid": "9b8c7fe4-5523-4db0-a8ba-00323085156e", + "parentUUID": "cc688fae-71ab-4164-b226-4799ed033d26", + "isHook": false, + "skipped": false } ], - "passes": [], - "failures": [], + "suites": [], + "passes": [ + "e1c3a9d9-7e20-45bd-9722-878656b61e0e", + "de8ec5e2-7291-4e2b-9548-20f4668b83d0" + ], + "failures": [ + "9b8c7fe4-5523-4db0-a8ba-00323085156e" + ], "pending": [], "skipped": [], - "duration": 0, + "duration": 29454, "root": false, "rootEmpty": false, - "_timeout": 900000 + "_timeout": 15000 }, { - "uuid": "ff5d68f5-83cb-4ffc-8a4f-337205f49dd8", - "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": "04ec6e0b-5609-4b27-a3e2-98597d686215", + "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": [], - "suites": [ + "tests": [ { - "uuid": "bf7eb424-967a-478d-af71-1778aba6808d", - "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", - "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\"", - "timedOut": false, - "duration": 99, - "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/publications', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "c4cb98e9-cd26-4b15-be1a-0c9768529e0d", - "parentUUID": "bf7eb424-967a-478d-af71-1778aba6808d", - "isHook": false, - "skipped": false - } - ], - "suites": [], - "passes": [ - "c4cb98e9-cd26-4b15-be1a-0c9768529e0d" - ], - "failures": [], - "pending": [], - "skipped": [], - "duration": 99, - "root": false, - "rootEmpty": false, - "_timeout": 900000 + "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": 1224, + "state": "passed", + "speed": "slow", + "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": "18dcbbfe-478f-49c8-a816-ce7b40e340b9", + "parentUUID": "04ec6e0b-5609-4b27-a3e2-98597d686215", + "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": 530, + "state": "passed", + "speed": "medium", + "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": "1e20f1f7-b174-42f3-8986-8be4d778382d", + "parentUUID": "04ec6e0b-5609-4b27-a3e2-98597d686215", + "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": true, + "duration": 15001, + "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": "Error: Timeout of 15000ms exceeded. For async tests and hooks, ensure \"done()\" is called; if returning a Promise, ensure it resolves. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/spatial.js)", + "estack": "Error: Timeout of 15000ms exceeded. For async tests and hooks, ensure \"done()\" is called; if returning a Promise, ensure it resolves. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/spatial.js)\n at createTimeoutError (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/mocha/lib/errors.js:386:15)\n at Runnable._timeoutError (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/mocha/lib/runnable.js:431:10)\n at Timeout. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/mocha/lib/runnable.js:246:24)\n at listOnTimeout (node:internal/timers:614:17)\n at process.processTimers (node:internal/timers:549:7)", + "diff": null + }, + "uuid": "6e2371ba-e6f4-448c-9cb7-8631eb9d4cae", + "parentUUID": "04ec6e0b-5609-4b27-a3e2-98597d686215", + "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": true, + "duration": 15002, + "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": "Error: Timeout of 15000ms exceeded. For async tests and hooks, ensure \"done()\" is called; if returning a Promise, ensure it resolves. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/spatial.js)", + "estack": "Error: Timeout of 15000ms exceeded. For async tests and hooks, ensure \"done()\" is called; if returning a Promise, ensure it resolves. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/spatial.js)\n at createTimeoutError (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/mocha/lib/errors.js:386:15)\n at Runnable._timeoutError (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/mocha/lib/runnable.js:431:10)\n at Timeout. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/mocha/lib/runnable.js:246:24)\n at listOnTimeout (node:internal/timers:614:17)\n at process.processTimers (node:internal/timers:549:7)", + "diff": null + }, + "uuid": "4bc47658-876d-4e2a-8a1a-f03f947c0cf6", + "parentUUID": "04ec6e0b-5609-4b27-a3e2-98597d686215", + "isHook": false, + "skipped": false } ], - "passes": [], - "failures": [], + "suites": [], + "passes": [ + "18dcbbfe-478f-49c8-a816-ce7b40e340b9", + "1e20f1f7-b174-42f3-8986-8be4d778382d" + ], + "failures": [ + "6e2371ba-e6f4-448c-9cb7-8631eb9d4cae", + "4bc47658-876d-4e2a-8a1a-f03f947c0cf6" + ], "pending": [], "skipped": [], - "duration": 0, + "duration": 31757, "root": false, "rootEmpty": false, - "_timeout": 900000 + "_timeout": 15000 }, { - "uuid": "3e20f63c-2617-4156-bbfd-fccf355fa7a2", - "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": "73363527-6811-48a9-816e-a45d71a1ba97", + "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": "041e5a46-e24f-4039-9cf7-b1eefe25c51b", + "uuid": "88d0a61d-308a-4ccd-b3a2-909607dce39c", "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-datasets-{datasetid}-chronologies-test.js", + "file": "/test/v2.0-data-datasets-{datasetid}-chronologies-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 \"chronology\"", + "fullTitle": "tests for /v2.0/data/datasets/{datasetid}/chronologies tests for get should respond 200 for \"chronology\"", "timedOut": false, - "duration": 99, + "duration": 617, "state": "passed", - "speed": "fast", + "speed": "medium", "pass": true, "fail": false, "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();", + "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": "3d113a3a-2394-4dc2-a8c7-b0d96196676e", - "parentUUID": "041e5a46-e24f-4039-9cf7-b1eefe25c51b", + "uuid": "c0f236e3-8be4-4de9-a0bb-6aaa9e84383f", + "parentUUID": "88d0a61d-308a-4ccd-b3a2-909607dce39c", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "3d113a3a-2394-4dc2-a8c7-b0d96196676e" + "c0f236e3-8be4-4de9-a0bb-6aaa9e84383f" ], "failures": [], "pending": [], "skipped": [], - "duration": 99, + "duration": 617, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -4171,165 +3822,221 @@ "_timeout": 900000 }, { - "uuid": "a530f0a9-b054-4d6b-af79-61387f3d3d6b", - "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": "8b21ce53-c69e-468d-a7b6-9faf03e99cee", + "title": "Get taxon data:", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/taxa.js", + "file": "/test/taxa.js", "beforeHooks": [], "afterHooks": [], - "tests": [], - "suites": [ + "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": 205, + "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": "28cf7b4a-3fce-4037-8856-87e86631fb38", + "parentUUID": "8b21ce53-c69e-468d-a7b6-9faf03e99cee", + "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": 83, + "state": "passed", + "speed": "fast", + "pass": true, + "fail": false, + "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": "2ba07dce-fe5c-47b7-9e24-7b96676f15c9", + "parentUUID": "8b21ce53-c69e-468d-a7b6-9faf03e99cee", + "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": 274, + "state": "passed", + "speed": "fast", + "pass": true, + "fail": false, + "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": "ef57be4f-4d76-4c56-b7cc-0f2d3917afe5", + "parentUUID": "8b21ce53-c69e-468d-a7b6-9faf03e99cee", + "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": 221, + "state": "passed", + "speed": "fast", + "pass": true, + "fail": false, + "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": "f8e65c8c-814f-40dd-92b1-8fc014898b76", + "parentUUID": "8b21ce53-c69e-468d-a7b6-9faf03e99cee", + "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": 625, + "state": "passed", + "speed": "medium", + "pass": true, + "fail": false, + "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": "28288c7a-c880-4a23-bfd4-7ad64f7ec137", + "parentUUID": "8b21ce53-c69e-468d-a7b6-9faf03e99cee", + "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": 166, + "state": "passed", + "speed": "fast", + "pass": true, + "fail": false, + "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": "d44a7ec5-3d3f-4963-a799-0e1fc83b4024", + "parentUUID": "8b21ce53-c69e-468d-a7b6-9faf03e99cee", + "isHook": false, + "skipped": false + }, { - "uuid": "938e36be-0555-4937-8975-2a5db5a141dc", - "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", - "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\"", - "timedOut": false, - "duration": 76, - "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/taxa', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "096d21be-7aec-44d3-bce0-32f1657ce8f1", - "parentUUID": "938e36be-0555-4937-8975-2a5db5a141dc", - "isHook": false, - "skipped": false - } - ], - "suites": [], - "passes": [ - "096d21be-7aec-44d3-bce0-32f1657ce8f1" - ], - "failures": [], - "pending": [], - "skipped": [], - "duration": 76, - "root": false, - "rootEmpty": false, - "_timeout": 900000 - } - ], - "passes": [], - "failures": [], - "pending": [], - "skipped": [], - "duration": 0, - "root": false, - "rootEmpty": false, - "_timeout": 900000 - }, - { - "uuid": "5b6e19c7-3537-4e5e-8a49-c56822dbc4a7", - "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": [ + "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": 1255, + "state": "passed", + "speed": "slow", + "pass": true, + "fail": false, + "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": "5717f99a-70e8-4822-857c-a10832999e5f", + "parentUUID": "8b21ce53-c69e-468d-a7b6-9faf03e99cee", + "isHook": false, + "skipped": false + }, { - "uuid": "a76f6e75-de61-4dc2-9dab-42a4d32ae4fe", - "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", - "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.\"", - "timedOut": false, - "duration": 1155, - "state": "passed", - "speed": "slow", - "pass": true, - "fail": false, - "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": "268a46dd-a3d3-4ab7-ad1c-32e1f2430207", - "parentUUID": "a76f6e75-de61-4dc2-9dab-42a4d32ae4fe", - "isHook": false, - "skipped": false - } - ], - "suites": [], - "passes": [ - "268a46dd-a3d3-4ab7-ad1c-32e1f2430207" - ], - "failures": [], - "pending": [], - "skipped": [], - "duration": 1155, - "root": false, - "rootEmpty": false, - "_timeout": 900000 + "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": 626, + "state": "passed", + "speed": "medium", + "pass": true, + "fail": false, + "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": "4b9245fa-f648-4237-b3fd-5970b02bd394", + "parentUUID": "8b21ce53-c69e-468d-a7b6-9faf03e99cee", + "isHook": false, + "skipped": false } ], - "passes": [], + "suites": [], + "passes": [ + "28cf7b4a-3fce-4037-8856-87e86631fb38", + "2ba07dce-fe5c-47b7-9e24-7b96676f15c9", + "ef57be4f-4d76-4c56-b7cc-0f2d3917afe5", + "f8e65c8c-814f-40dd-92b1-8fc014898b76", + "28288c7a-c880-4a23-bfd4-7ad64f7ec137", + "d44a7ec5-3d3f-4963-a799-0e1fc83b4024", + "5717f99a-70e8-4822-857c-a10832999e5f", + "4b9245fa-f648-4237-b3fd-5970b02bd394" + ], "failures": [], "pending": [], "skipped": [], - "duration": 0, + "duration": 3455, "root": false, "rootEmpty": false, "_timeout": 900000 }, { - "uuid": "1090f999-5051-4723-9908-bd4573a07ea8", - "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": "fe1e84b5-d9ba-45fb-9c96-da9ca63ed69e", + "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": "bf1abbce-4b38-4d4c-b9f9-48ead9851287", + "uuid": "88722502-f1b0-45c0-8bfd-b56e5a7866d2", "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-sites-{siteid}-geopoliticalunits-test.js", + "file": "/test/v2.0-data-sites-{siteid}-geopoliticalunits-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 \"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": 82, + "duration": 157, "state": "passed", "speed": "fast", "pass": true, "fail": false, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/datasets_elc', { \n 'qs': {\"siteid\":36138,\"contactid\":14811,\"datasettype\":\"chironomid\",\"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\":22041623},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "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": "1d8dc97d-abc8-4991-9888-b5232928abf7", - "parentUUID": "bf1abbce-4b38-4d4c-b9f9-48ead9851287", + "uuid": "a730cc53-a769-46f3-a78e-f36fc8933234", + "parentUUID": "88722502-f1b0-45c0-8bfd-b56e5a7866d2", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "1d8dc97d-abc8-4991-9888-b5232928abf7" + "a730cc53-a769-46f3-a78e-f36fc8933234" ], "failures": [], "pending": [], "skipped": [], - "duration": 82, + "duration": 157, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -4345,49 +4052,49 @@ "_timeout": 900000 }, { - "uuid": "db78c501-219c-426c-b4f5-a874d0fa2d2e", - "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": "75d414c4-7b08-4b9b-bf17-9f5953be8b64", + "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": "fa9edafe-d20f-4fc0-bfd5-df2457b88496", + "uuid": "f9117673-2f6e-4ddc-af9d-2d4ed8be8e98", "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-data-sites-{siteid}-test.js", + "file": "/test/v2.0-data-sites-{siteid}-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 \"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": 2638, + "duration": 495, "state": "passed", - "speed": "slow", + "speed": "fast", "pass": true, "fail": false, "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();", + "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": "db23f049-01ae-4faa-a8bc-c9ebd99e0176", - "parentUUID": "fa9edafe-d20f-4fc0-bfd5-df2457b88496", + "uuid": "874ea886-5491-4a86-b2c8-d6592b5568cb", + "parentUUID": "f9117673-2f6e-4ddc-af9d-2d4ed8be8e98", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "db23f049-01ae-4faa-a8bc-c9ebd99e0176" + "874ea886-5491-4a86-b2c8-d6592b5568cb" ], "failures": [], "pending": [], "skipped": [], - "duration": 2638, + "duration": 495, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -4403,49 +4110,49 @@ "_timeout": 900000 }, { - "uuid": "853f357b-0364-4113-a1fa-1f954175d852", - "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": "7eb3b8f7-947b-4432-befb-2632a9035eef", + "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": "8eb71588-4c87-4a6a-b6eb-9270245aada3", + "uuid": "8adfe029-1941-4f73-b08d-283657d093e9", "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-datasets-{datasetid}-taxa-test.js", + "file": "/test/v2.0-data-datasets-{datasetid}-taxa-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 \"Taxa\"", + "fullTitle": "tests for /v2.0/data/datasets/{datasetid}/taxa tests for get should respond 200 for \"Taxa\"", "timedOut": false, - "duration": 127, + "duration": 128, "state": "passed", "speed": "fast", "pass": true, "fail": false, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/dbtables', { \n 'qs': {\"table\":\"aute non\",\"count\":true,\"limit\": 10,\"offset\": 0},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "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": "0bbbcaa8-9714-4d3b-9b9c-312f656e4db8", - "parentUUID": "8eb71588-4c87-4a6a-b6eb-9270245aada3", + "uuid": "807355a4-f29b-4f11-a1d4-36a7b68c95d4", + "parentUUID": "8adfe029-1941-4f73-b08d-283657d093e9", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "0bbbcaa8-9714-4d3b-9b9c-312f656e4db8" + "807355a4-f29b-4f11-a1d4-36a7b68c95d4" ], "failures": [], "pending": [], "skipped": [], - "duration": 127, + "duration": 128, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -4461,49 +4168,49 @@ "_timeout": 900000 }, { - "uuid": "4d52689e-edd3-4a94-8a37-b0a9be914a75", - "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": "d1343aa7-54a0-4db8-a18c-d4dd23ba47a2", + "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": "f2e2155d-241a-4f70-8e57-8bd5ee74cec4", + "uuid": "3636acec-7915-418e-bdf6-a180dcd8ad9a", "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/v1.5-data-geopoliticalunits-{gpid}-test.js", + "file": "/test/v1.5-data-geopoliticalunits-{gpid}-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 \"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": 67, + "duration": 117, "state": "passed", "speed": "fast", "pass": true, "fail": false, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/dbtables/aliquipveniam', { \n 'qs': {\"count\":false,\"limit\": 10,\"offset\": 0},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "code": "var response = request('get', 'http://localhost:3001/v1.5/data/geopoliticalunits/7129', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", "err": {}, - "uuid": "6494936a-0656-4d3b-a339-5f9387c1be12", - "parentUUID": "f2e2155d-241a-4f70-8e57-8bd5ee74cec4", + "uuid": "72b72f64-59f3-4521-bc66-f8d6807e6fb5", + "parentUUID": "3636acec-7915-418e-bdf6-a180dcd8ad9a", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "6494936a-0656-4d3b-a339-5f9387c1be12" + "72b72f64-59f3-4521-bc66-f8d6807e6fb5" ], "failures": [], "pending": [], "skipped": [], - "duration": 67, + "duration": 117, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -4519,49 +4226,49 @@ "_timeout": 900000 }, { - "uuid": "6495f381-c2f6-4a4c-bdfe-08609fa1206d", - "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": "c7cf7f34-79a6-476f-a514-81a3050cd507", + "title": "tests for /v2.0/data/datasets/{datasetid}/projects", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-datasets-{datasetid}-projects-test.js", + "file": "/test/v2.0-data-datasets-{datasetid}-projects-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "94aefd2a-72ec-4c8c-b0b5-9515e20a4261", + "uuid": "62c9041d-0c27-46c9-8a2e-6768174e43f1", "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-{datasetid}-projects-test.js", + "file": "/test/v2.0-data-datasets-{datasetid}-projects-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 \"Projects\"", + "fullTitle": "tests for /v2.0/data/datasets/{datasetid}/projects tests for get should respond 200 for \"Projects\"", "timedOut": false, - "duration": 2685, + "duration": 169, "state": "passed", - "speed": "slow", + "speed": "fast", "pass": true, "fail": false, "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();", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/datasets/500/projects', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", "err": {}, - "uuid": "460f8538-5a62-42c4-af4c-d86bd3266363", - "parentUUID": "94aefd2a-72ec-4c8c-b0b5-9515e20a4261", + "uuid": "6956cccd-adba-49ab-a04f-c8c551f59612", + "parentUUID": "62c9041d-0c27-46c9-8a2e-6768174e43f1", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "460f8538-5a62-42c4-af4c-d86bd3266363" + "6956cccd-adba-49ab-a04f-c8c551f59612" ], "failures": [], "pending": [], "skipped": [], - "duration": 2685, + "duration": 169, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -4577,49 +4284,49 @@ "_timeout": 900000 }, { - "uuid": "715b0654-d8eb-410f-bb34-7d7bee56cd35", - "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": "62ccd9ab-1b36-40c8-bbb2-04e0d3a0d175", + "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": "de3dcd94-576e-4dff-b92d-e6b5dcb6c109", + "uuid": "8db81a91-0578-47d7-8670-4530e6c6124b", "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-summary-dsdbmonth-test.js", + "file": "/test/v2.0-data-summary-dsdbmonth-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 \"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": 152, + "duration": 377, "state": "passed", "speed": "fast", "pass": true, "fail": false, "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();", + "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": "13703b3a-4ee6-4fef-b68d-7a306423eb24", - "parentUUID": "de3dcd94-576e-4dff-b92d-e6b5dcb6c109", + "uuid": "d9ea056e-ab76-45ee-ad3d-9260cea26bcc", + "parentUUID": "8db81a91-0578-47d7-8670-4530e6c6124b", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "13703b3a-4ee6-4fef-b68d-7a306423eb24" + "d9ea056e-ab76-45ee-ad3d-9260cea26bcc" ], "failures": [], "pending": [], "skipped": [], - "duration": 152, + "duration": 377, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -4635,49 +4342,49 @@ "_timeout": 900000 }, { - "uuid": "38444560-5b17-496f-846b-96de8dfc46fa", - "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": "ea42243e-0c52-4fe9-91d1-87adad98dc33", + "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": "18f6ab24-0f5a-4410-959a-92e89a8dc0b4", + "uuid": "265865d1-2ece-4028-a5dc-ba1960e4252b", "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-data-datasets-{datasetid}-test.js", + "file": "/test/v2.0-data-datasets-{datasetid}-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 \"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": 69, + "duration": 1245, "state": "passed", - "speed": "fast", + "speed": "slow", "pass": true, "fail": false, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/geopoliticalunits', { \n 'qs': {\"gpid\":5392,\"gpname\":\"Canada\",\"rank\":2,\"lower\":true},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "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": "a6a26408-0c6d-4839-879c-7841c2f40127", - "parentUUID": "18f6ab24-0f5a-4410-959a-92e89a8dc0b4", + "uuid": "67d707a9-cad2-4199-80f9-d4200a76aa23", + "parentUUID": "265865d1-2ece-4028-a5dc-ba1960e4252b", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "a6a26408-0c6d-4839-879c-7841c2f40127" + "67d707a9-cad2-4199-80f9-d4200a76aa23" ], "failures": [], "pending": [], "skipped": [], - "duration": 69, + "duration": 1245, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -4693,49 +4400,49 @@ "_timeout": 900000 }, { - "uuid": "a30d7c2c-d82d-43d0-bd0b-925edc5d30c9", - "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": "59c3c501-a203-419b-bfb3-63482a3bddfe", + "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": "883cbb93-f131-451c-a349-2cc982d4e314", + "uuid": "8f4909ed-0bde-4c8b-9f71-677ef7567321", "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/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 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 \"Returned table.\"", + "fullTitle": "tests for /v1.5/dbtables/{table} tests for get should respond 200 for \"Returned table.\"", "timedOut": false, - "duration": 105, + "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/geopoliticalunits/2369/datasets', { \n 'qs': {\"limit\": 10,\"offset\": 0},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "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": "5d9c3eb9-64f9-496c-814f-0a9bcec2ad0a", - "parentUUID": "883cbb93-f131-451c-a349-2cc982d4e314", + "uuid": "0c5686dc-ab14-434d-bff5-ad7d4d40ec34", + "parentUUID": "8f4909ed-0bde-4c8b-9f71-677ef7567321", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "5d9c3eb9-64f9-496c-814f-0a9bcec2ad0a" + "0c5686dc-ab14-434d-bff5-ad7d4d40ec34" ], "failures": [], "pending": [], "skipped": [], - "duration": 105, + "duration": 74, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -4751,49 +4458,49 @@ "_timeout": 900000 }, { - "uuid": "55f99e2f-0cec-4c01-8f36-34a55975d349", - "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": "b9494a1c-fcdb-4d04-be0e-ac245da8204d", + "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": "4d71423d-2b74-4011-8006-12be91647322", + "uuid": "148da618-aeea-4a1d-bb1e-f5f3a2a741cd", "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/v1.5-data-occurrence-{occurrenceid}-test.js", + "file": "/test/v1.5-data-occurrence-{occurrenceid}-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 \"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": 89, + "duration": 108, "state": "passed", "speed": "fast", "pass": true, "fail": false, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/geopoliticalunits/3926/sites', { \n 'qs': {\"limit\": 10,\"offset\": 0},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "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": "4f102dd6-3225-455f-9953-7514f30d98fa", - "parentUUID": "4d71423d-2b74-4011-8006-12be91647322", + "uuid": "af88d399-2c73-4515-b552-e2d52c7453b9", + "parentUUID": "148da618-aeea-4a1d-bb1e-f5f3a2a741cd", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "4f102dd6-3225-455f-9953-7514f30d98fa" + "af88d399-2c73-4515-b552-e2d52c7453b9" ], "failures": [], "pending": [], "skipped": [], - "duration": 89, + "duration": 108, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -4809,107 +4516,374 @@ "_timeout": 900000 }, { - "uuid": "93ad7e34-9f38-4ef1-8bac-4f07b3476e37", - "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": "bfdec21a-1ffa-4828-b120-a89417fd4ee6", + "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": [ { - "uuid": "72c13342-f5ae-435d-9716-5c2f77186c0a", + "uuid": "b2cf7500-51ab-4717-b088-b8d4b8c540bf", "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-aggregatedatasets-{aggdatasetid}-test.js", + "file": "/test/v2.0-data-aggregatedatasets-{aggdatasetid}-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 \"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": 70, + "duration": 105, "state": "passed", "speed": "fast", "pass": true, "fail": false, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/geopoliticalunits/1971', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "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": {}, - "uuid": "963be712-197d-415d-9e45-0066d15fd608", - "parentUUID": "72c13342-f5ae-435d-9716-5c2f77186c0a", + "uuid": "f51d6c83-5153-405b-97ae-6d9999e31b50", + "parentUUID": "b2cf7500-51ab-4717-b088-b8d4b8c540bf", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "963be712-197d-415d-9e45-0066d15fd608" + "f51d6c83-5153-405b-97ae-6d9999e31b50" ], "failures": [], "pending": [], "skipped": [], - "duration": 70, + "duration": 105, "root": false, "rootEmpty": false, "_timeout": 900000 } ], - "passes": [], + "passes": [], + "failures": [], + "pending": [], + "skipped": [], + "duration": 0, + "root": false, + "rootEmpty": false, + "_timeout": 900000 + }, + { + "uuid": "36ee89a5-1664-496e-9291-ac9b829c1687", + "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 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": 0, + "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": "fffa3df5-c751-41dd-9b8f-73639b021818", + "parentUUID": "36ee89a5-1664-496e-9291-ac9b829c1687", + "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": "f16014d2-e1ab-4a9c-a2cf-824c40ba83b1", + "parentUUID": "36ee89a5-1664-496e-9291-ac9b829c1687", + "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": "8d5a6103-3de7-4544-a9f6-fb978e2d41bb", + "parentUUID": "36ee89a5-1664-496e-9291-ac9b829c1687", + "isHook": false, + "skipped": false + }, + { + "title": "Get occurrence by taxon:", + "fullTitle": "Get occurrence data any number of ways: Get occurrence by taxon:", + "timedOut": false, + "duration": 0, + "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": "3956a44b-ed7e-413d-b821-e3cbff566ae3", + "parentUUID": "36ee89a5-1664-496e-9291-ac9b829c1687", + "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": "c3a65e98-34b5-4c74-a96e-08ae6a12bff3", + "parentUUID": "36ee89a5-1664-496e-9291-ac9b829c1687", + "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": "cd218e02-1c5a-4bc5-8cd1-a487bd4924f7", + "parentUUID": "36ee89a5-1664-496e-9291-ac9b829c1687", + "isHook": false, + "skipped": false + }, + { + "title": "Occurrences filter by age:", + "fullTitle": "Get occurrence data any number of ways: Occurrences filter by age:", + "timedOut": false, + "duration": 1, + "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": "be9a3fd8-024e-4b1f-a163-289d19740e3a", + "parentUUID": "36ee89a5-1664-496e-9291-ac9b829c1687", + "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": "1af2ba38-ecc5-441f-acc5-872acfa6f62d", + "parentUUID": "36ee89a5-1664-496e-9291-ac9b829c1687", + "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": "16ac4403-c7f3-4d8f-aa29-a5343d744b91", + "parentUUID": "36ee89a5-1664-496e-9291-ac9b829c1687", + "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": "023b8919-7a23-430f-9098-876562e84540", + "parentUUID": "36ee89a5-1664-496e-9291-ac9b829c1687", + "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": 1, + "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": "7346c1d9-08e3-4b08-a0bb-f130ebcdddc6", + "parentUUID": "36ee89a5-1664-496e-9291-ac9b829c1687", + "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": "43a2d8b5-a096-4595-a1d3-a00deee4a6ad", + "parentUUID": "36ee89a5-1664-496e-9291-ac9b829c1687", + "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, + "duration": 0, + "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": "61294dd7-0a37-4f2b-a4b9-8cf50fee666e", + "parentUUID": "36ee89a5-1664-496e-9291-ac9b829c1687", + "isHook": false, + "skipped": false + } + ], + "suites": [], + "passes": [ + "fffa3df5-c751-41dd-9b8f-73639b021818", + "f16014d2-e1ab-4a9c-a2cf-824c40ba83b1", + "8d5a6103-3de7-4544-a9f6-fb978e2d41bb", + "3956a44b-ed7e-413d-b821-e3cbff566ae3", + "c3a65e98-34b5-4c74-a96e-08ae6a12bff3", + "cd218e02-1c5a-4bc5-8cd1-a487bd4924f7", + "be9a3fd8-024e-4b1f-a163-289d19740e3a", + "1af2ba38-ecc5-441f-acc5-872acfa6f62d", + "16ac4403-c7f3-4d8f-aa29-a5343d744b91", + "023b8919-7a23-430f-9098-876562e84540", + "7346c1d9-08e3-4b08-a0bb-f130ebcdddc6", + "43a2d8b5-a096-4595-a1d3-a00deee4a6ad", + "61294dd7-0a37-4f2b-a4b9-8cf50fee666e" + ], "failures": [], "pending": [], "skipped": [], - "duration": 0, + "duration": 2, "root": false, "rootEmpty": false, - "_timeout": 900000 + "_timeout": 30000 }, { - "uuid": "8e58c175-6a43-4d1d-875a-4d097b4f6943", - "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": "158216ed-59ec-4ffb-9c5b-baee24efeb4c", + "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": "09de14d0-8206-456c-9463-595f08de4588", + "uuid": "849767df-879b-4ec5-afc0-666189245dc0", "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-downloads-{datasetid}-test.js", + "file": "/test/v2.0-data-downloads-{datasetid}-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 \"Returned download object.\"", + "fullTitle": "tests for /v2.0/data/downloads/{datasetid} tests for get should respond 200 for \"Returned download object.\"", "timedOut": false, - "duration": 87, + "duration": 7166, "state": "passed", - "speed": "fast", + "speed": "slow", "pass": true, "fail": false, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/occurrences', { \n 'qs': {\"taxonname\":\"ea ad amet\",\"taxonid\":16568,\"siteid\":36683,\"sitename\":\"minim ea nisi\",\"datasettype\":\"energy dispersive X-ray spectroscopy (EDS/EDX)\",\"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\":11712579,\"ageyoung\": 1000,\"ageold\": 10000,\"limit\": 10,\"offset\": 0},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "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": "7046ac6d-4e91-4a40-a18c-5c5f9f404321", - "parentUUID": "09de14d0-8206-456c-9463-595f08de4588", + "uuid": "fb1d5f80-6053-4f96-84c5-b5e89f307830", + "parentUUID": "849767df-879b-4ec5-afc0-666189245dc0", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "7046ac6d-4e91-4a40-a18c-5c5f9f404321" + "fb1d5f80-6053-4f96-84c5-b5e89f307830" ], "failures": [], "pending": [], "skipped": [], - "duration": 87, + "duration": 7166, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -4925,339 +4899,361 @@ "_timeout": 900000 }, { - "uuid": "e6ac513f-ca84-40fa-a11f-91ebf00f1582", - "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", + "uuid": "ad1ae0e8-cdcd-400d-a128-ff4776501cb9", + "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": [], - "suites": [ + "tests": [ { - "uuid": "2ae141e8-ec39-4e16-9125-d4de21678a1e", - "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": 77, - "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": "ddcd0bc8-6c8e-48c2-a696-4170bab6b46a", - "parentUUID": "2ae141e8-ec39-4e16-9125-d4de21678a1e", - "isHook": false, - "skipped": false - } - ], - "suites": [], - "passes": [ - "ddcd0bc8-6c8e-48c2-a696-4170bab6b46a" - ], - "failures": [], - "pending": [], - "skipped": [], + "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": 77, - "root": false, - "rootEmpty": false, - "_timeout": 900000 - } - ], - "passes": [], - "failures": [], - "pending": [], - "skipped": [], - "duration": 0, - "root": false, - "rootEmpty": false, - "_timeout": 900000 - }, - { - "uuid": "01da5fa2-a0b1-472b-a2ad-977a235cf341", - "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": [ + "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);", + "err": {}, + "uuid": "6ba2557b-d822-44fb-bc1b-d0b1032e1636", + "parentUUID": "ad1ae0e8-cdcd-400d-a128-ff4776501cb9", + "isHook": false, + "skipped": false + }, { - "uuid": "60367382-8fbc-413c-a1dc-ff3b58f7226d", - "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", - "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.\"", - "timedOut": false, - "duration": 2, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "pending": false, - "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/pollen', { \n 'qs': {\"taxonname\":\"ex fugiat enim\",\"taxonid\":45846,\"siteid\":28440,\"sitename\":\"occaecat\",\"datasettype\":\"loss-on-ignition\",\"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\":9015612,\"ageyoung\": 1000,\"ageold\": 10000,\"limit\": 10,\"offset\": 0},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "40277859-85c6-4115-a85c-409c02602d51", - "parentUUID": "60367382-8fbc-413c-a1dc-ff3b58f7226d", - "isHook": false, - "skipped": false - } - ], - "suites": [], - "passes": [ - "40277859-85c6-4115-a85c-409c02602d51" - ], - "failures": [], - "pending": [], - "skipped": [], - "duration": 2, - "root": false, - "rootEmpty": false, - "_timeout": 900000 - } - ], - "passes": [], - "failures": [], - "pending": [], - "skipped": [], - "duration": 0, - "root": false, - "rootEmpty": false, - "_timeout": 900000 - }, - { - "uuid": "d463a7b1-977a-41e1-bf47-eca56b691d41", - "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": [ + "title": "Get publication by comma sepatarated ids:", + "fullTitle": "Get publication data any number of ways: Get publication by comma sepatarated ids:", + "timedOut": false, + "duration": 76, + "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);", + "err": {}, + "uuid": "c9da47a8-12cc-4d8e-ae1a-8541c9cea640", + "parentUUID": "ad1ae0e8-cdcd-400d-a128-ff4776501cb9", + "isHook": false, + "skipped": false + }, { - "uuid": "e961f9a9-78e8-4dd6-8529-b5c7068f9a94", - "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", - "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.\"", - "timedOut": false, - "duration": 1, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "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": "6a5d1926-6e80-4276-b260-527d48aba674", - "parentUUID": "e961f9a9-78e8-4dd6-8529-b5c7068f9a94", - "isHook": false, - "skipped": false - } - ], - "suites": [], - "passes": [ - "6a5d1926-6e80-4276-b260-527d48aba674" - ], - "failures": [], - "pending": [], - "skipped": [], - "duration": 1, - "root": false, - "rootEmpty": false, - "_timeout": 900000 + "title": "Get publication by querying author:", + "fullTitle": "Get publication data any number of ways: Get publication by querying author:", + "timedOut": false, + "duration": 309, + "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);", + "err": {}, + "uuid": "90bbc6c5-46da-4720-9310-a5b925d1fc68", + "parentUUID": "ad1ae0e8-cdcd-400d-a128-ff4776501cb9", + "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:", + "timedOut": false, + "duration": 89, + "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);", + "err": {}, + "uuid": "e55ff303-7026-42ea-9170-5188dcdec387", + "parentUUID": "ad1ae0e8-cdcd-400d-a128-ff4776501cb9", + "isHook": false, + "skipped": false + }, + { + "title": "Get publication by site id:", + "fullTitle": "Get publication data any number of ways: Get publication by site id:", + "timedOut": false, + "duration": 84, + "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);", + "err": {}, + "uuid": "ef0303e0-1197-462a-aa0e-aad136ccc2f3", + "parentUUID": "ad1ae0e8-cdcd-400d-a128-ff4776501cb9", + "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:", + "timedOut": false, + "duration": 83, + "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);", + "err": {}, + "uuid": "f0dfa1ed-c8e7-44e6-83b7-f5209421642c", + "parentUUID": "ad1ae0e8-cdcd-400d-a128-ff4776501cb9", + "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:", + "timedOut": false, + "duration": 90, + "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);", + "err": {}, + "uuid": "79257859-85e7-47de-b885-f73536c06127", + "parentUUID": "ad1ae0e8-cdcd-400d-a128-ff4776501cb9", + "isHook": false, + "skipped": false } ], - "passes": [], + "suites": [], + "passes": [ + "6ba2557b-d822-44fb-bc1b-d0b1032e1636", + "c9da47a8-12cc-4d8e-ae1a-8541c9cea640", + "90bbc6c5-46da-4720-9310-a5b925d1fc68", + "e55ff303-7026-42ea-9170-5188dcdec387", + "ef0303e0-1197-462a-aa0e-aad136ccc2f3", + "f0dfa1ed-c8e7-44e6-83b7-f5209421642c", + "79257859-85e7-47de-b885-f73536c06127" + ], "failures": [], "pending": [], "skipped": [], - "duration": 0, + "duration": 808, "root": false, "rootEmpty": false, - "_timeout": 900000 + "_timeout": 15000 }, { - "uuid": "5c979ae5-b7a5-4c27-a2a4-67d741efa0e0", - "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": "2a7b481c-9542-47d3-ada9-ff140ebd74b4", + "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": [], - "suites": [ + "tests": [ { - "uuid": "76482370-b3a8-4fd8-81e4-f0f1154726f6", - "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", - "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.\"", - "timedOut": false, - "duration": 73, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "pending": false, - "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/publications', { \n 'qs': {\"publicationid\":4160,\"datasetid\":29192022,\"siteid\":14337,\"familyname\":\"lWFSgcHQt'd\",\"pubtype\":\"Website\",\"year\":1601,\"search\":\"esse dolor\",\"limit\": 10,\"offset\": 0},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "4604d4cd-75e2-41b7-860f-d188ca8bbc83", - "parentUUID": "76482370-b3a8-4fd8-81e4-f0f1154726f6", - "isHook": false, - "skipped": false - } - ], - "suites": [], - "passes": [ - "4604d4cd-75e2-41b7-860f-d188ca8bbc83" - ], - "failures": [], - "pending": [], - "skipped": [], - "duration": 73, - "root": false, - "rootEmpty": false, - "_timeout": 900000 + "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": 111, + "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 });", + "err": {}, + "uuid": "a096ba33-f5cf-4c3e-bbb7-52bbd7f1d1be", + "parentUUID": "2a7b481c-9542-47d3-ada9-ff140ebd74b4", + "isHook": false, + "skipped": false + }, + { + "title": "Get site by altitude:", + "fullTitle": "Get site data any number of ways: Get site by altitude:", + "timedOut": true, + "duration": 5002, + "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": "Error: Timeout of 5000ms exceeded. For async tests and hooks, ensure \"done()\" is called; if returning a Promise, ensure it resolves. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/sites.js)", + "estack": "Error: Timeout of 5000ms exceeded. For async tests and hooks, ensure \"done()\" is called; if returning a Promise, ensure it resolves. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/sites.js)\n at createTimeoutError (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/mocha/lib/errors.js:386:15)\n at Runnable._timeoutError (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/mocha/lib/runnable.js:431:10)\n at Timeout. (/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/node_modules/mocha/lib/runnable.js:246:24)\n at listOnTimeout (node:internal/timers:614:17)\n at process.processTimers (node:internal/timers:549:7)", + "diff": null + }, + "uuid": "bc523478-05dd-4416-b1c4-d94a05572eb9", + "parentUUID": "2a7b481c-9542-47d3-ada9-ff140ebd74b4", + "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": 5, + "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 });", + "err": {}, + "uuid": "175599f3-27bb-434c-9a79-c73b243c43eb", + "parentUUID": "2a7b481c-9542-47d3-ada9-ff140ebd74b4", + "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": 556, + "state": "passed", + "speed": "medium", + "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 });", + "err": {}, + "uuid": "099f294a-156d-4ebc-90b2-5e7eefc958b6", + "parentUUID": "2a7b481c-9542-47d3-ada9-ff140ebd74b4", + "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": 374, + "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);", + "err": {}, + "uuid": "c65fee66-10e5-4b23-a466-caf30cbc8543", + "parentUUID": "2a7b481c-9542-47d3-ada9-ff140ebd74b4", + "isHook": false, + "skipped": false } ], - "passes": [], - "failures": [], + "suites": [], + "passes": [ + "a096ba33-f5cf-4c3e-bbb7-52bbd7f1d1be", + "175599f3-27bb-434c-9a79-c73b243c43eb", + "099f294a-156d-4ebc-90b2-5e7eefc958b6", + "c65fee66-10e5-4b23-a466-caf30cbc8543" + ], + "failures": [ + "bc523478-05dd-4416-b1c4-d94a05572eb9" + ], "pending": [], "skipped": [], - "duration": 0, + "duration": 6048, "root": false, "rootEmpty": false, - "_timeout": 900000 + "_timeout": 5000 }, { - "uuid": "68e9537f-1a29-4af5-b6f0-40581b07469b", - "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": "d513ae07-6663-419e-84dc-d29cec6ece5a", + "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": [], - "suites": [ + "tests": [ { - "uuid": "a9134e00-8169-40b3-8784-aff0b4ace867", - "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": 72, - "state": "passed", - "speed": "fast", - "pass": true, - "fail": false, - "pending": false, - "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/publications/1562', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", - "err": {}, - "uuid": "55c3641f-fc0e-4fbd-a78c-0120bf48406b", - "parentUUID": "a9134e00-8169-40b3-8784-aff0b4ace867", - "isHook": false, - "skipped": false - } - ], - "suites": [], - "passes": [ - "55c3641f-fc0e-4fbd-a78c-0120bf48406b" - ], - "failures": [], - "pending": [], - "skipped": [], - "duration": 72, - "root": false, - "rootEmpty": false, - "_timeout": 900000 + "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": "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": "44ace4d7-4aa6-4eef-8d22-5a66808c5afb", + "parentUUID": "d513ae07-6663-419e-84dc-d29cec6ece5a", + "isHook": false, + "skipped": false } ], - "passes": [], + "suites": [], + "passes": [ + "44ace4d7-4aa6-4eef-8d22-5a66808c5afb" + ], "failures": [], "pending": [], "skipped": [], - "duration": 0, + "duration": 2, "root": false, "rootEmpty": false, "_timeout": 900000 }, { - "uuid": "b35932f0-bac4-4d58-a2c6-8ebc9022f6e5", - "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": "57513529-8168-4861-97cc-dc843209b3ec", + "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": "262661fb-b03b-40ca-b40b-a22ab486fda7", + "uuid": "3c4f4f2b-1d40-4852-b2cf-13fe6d9e8a10", "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/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 sites.\"", - "fullTitle": "tests for /v2.0/data/sites tests for get should respond 200 for \"An array of sites.\"", + "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": 729, + "duration": 78, "state": "passed", - "speed": "medium", + "speed": "fast", "pass": true, "fail": false, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/sites', { \n 'qs': {\"sitename\":\"laborum in ad\",\"database\":\"NDSU Insect Database\",\"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\":26029,\"datasetid\":17655811,\"doi\":\"10871090516/ZS\",\"gpid\":5392,\"keyword\":\"pre-European\",\"contactid\":8050,\"taxa\":\"commodo proident dolore ullamco\",\"ageyoung\": 1000,\"ageold\": 10000,\"ageof\":6043174,\"limit\": 10,\"offset\": 0},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "code": "var response = request('get', 'http://localhost:3001/v2.0/apps/constdb/datasets', { \n 'qs': {\"dbid\":18},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", "err": {}, - "uuid": "c5d3ef3e-7a37-49cb-adf3-d3278f0c234d", - "parentUUID": "262661fb-b03b-40ca-b40b-a22ab486fda7", + "uuid": "b27a423a-2e29-48fd-a657-9df122978a98", + "parentUUID": "3c4f4f2b-1d40-4852-b2cf-13fe6d9e8a10", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "c5d3ef3e-7a37-49cb-adf3-d3278f0c234d" + "b27a423a-2e29-48fd-a657-9df122978a98" ], "failures": [], "pending": [], "skipped": [], - "duration": 729, + "duration": 78, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -5273,49 +5269,49 @@ "_timeout": 900000 }, { - "uuid": "735aa674-aaaa-4b32-aefb-8e91a782c45f", - "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": "e9dc010d-170f-4524-86b0-37b555e853e3", + "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": "06b7c17a-e89d-423f-8ce6-d162e3651742", + "uuid": "2e5e4203-1a87-416b-9c18-5a5f2ea6984c", "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-contacts-{contactid}-sites-test.js", + "file": "/test/v2.0-data-contacts-{contactid}-sites-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 \"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": 205, + "duration": 99, "state": "passed", "speed": "fast", "pass": true, "fail": false, "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();", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/contacts/6654/sites', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", "err": {}, - "uuid": "c7188cb4-af9b-4dad-8716-0f58ccd46d59", - "parentUUID": "06b7c17a-e89d-423f-8ce6-d162e3651742", + "uuid": "4fa9cab2-7b85-4954-87e2-2cd9a94bb753", + "parentUUID": "2e5e4203-1a87-416b-9c18-5a5f2ea6984c", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "c7188cb4-af9b-4dad-8716-0f58ccd46d59" + "4fa9cab2-7b85-4954-87e2-2cd9a94bb753" ], "failures": [], "pending": [], "skipped": [], - "duration": 205, + "duration": 99, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -5331,49 +5327,49 @@ "_timeout": 900000 }, { - "uuid": "8a1b45a0-057e-423c-aeaa-a715f0bf4992", - "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": "a214fb0a-e249-4314-9934-b851bb27275c", + "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": "e98d24f4-0d5f-41c9-a4a5-9c871f2bedd4", + "uuid": "53a7091f-4a58-4e8b-bbd6-c4338558958a", "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/v2.0-data-speleothems-{collectionunitid}-test.js", + "file": "/test/v2.0-data-speleothems-{collectionunitid}-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 \"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": 113, + "duration": 101, "state": "passed", "speed": "fast", "pass": true, "fail": false, "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();", + "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": {}, - "uuid": "2b13fc67-c9fb-4887-86b0-667e3167244b", - "parentUUID": "e98d24f4-0d5f-41c9-a4a5-9c871f2bedd4", + "uuid": "bf6cca29-3264-4838-8486-a99976e3a70a", + "parentUUID": "53a7091f-4a58-4e8b-bbd6-c4338558958a", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "2b13fc67-c9fb-4887-86b0-667e3167244b" + "bf6cca29-3264-4838-8486-a99976e3a70a" ], "failures": [], "pending": [], "skipped": [], - "duration": 113, + "duration": 101, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -5389,49 +5385,49 @@ "_timeout": 900000 }, { - "uuid": "e30197ed-2666-4bd1-8a2d-278c47c989f6", - "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": "fa92c019-b324-478b-8db3-d28904c284bb", + "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": "9be61cf9-1afd-4972-9091-557f0cb3503b", + "uuid": "13b7dd54-073d-4052-8f0e-405c36bbcb35", "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-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/sites/{siteid}/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/datasettypes tests for get should respond 200 for \"A table of Neotoma collection types.\"", "timedOut": false, - "duration": 1150, + "duration": 112, "state": "passed", - "speed": "slow", + "speed": "fast", "pass": true, "fail": false, "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();", + "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": "414154b1-c785-46ba-ada5-c90ccd6b19b2", - "parentUUID": "9be61cf9-1afd-4972-9091-557f0cb3503b", + "uuid": "93991a2c-1fa5-4cac-8af8-26eebb4687ae", + "parentUUID": "13b7dd54-073d-4052-8f0e-405c36bbcb35", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "414154b1-c785-46ba-ada5-c90ccd6b19b2" + "93991a2c-1fa5-4cac-8af8-26eebb4687ae" ], "failures": [], "pending": [], "skipped": [], - "duration": 1150, + "duration": 112, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -5447,49 +5443,49 @@ "_timeout": 900000 }, { - "uuid": "2308c239-e6a9-4b46-ac40-70ab9a1c42cc", - "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": "da45889e-f0a3-4603-8141-84a2190e7975", + "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": "5092ed78-0d13-4a64-8a59-19dde2076b6c", + "uuid": "8c755e8f-4df1-4965-a807-243b1ed5fafd", "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-sites-test.js", + "file": "/test/v2.0-data-sites-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 array of sites.\"", + "fullTitle": "tests for /v2.0/data/sites tests for get should respond 200 for \"An array of sites.\"", "timedOut": false, - "duration": 2434, + "duration": 729, "state": "passed", - "speed": "slow", + "speed": "medium", "pass": true, "fail": false, "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();", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/sites', { \n 'qs': {\"sitename\":\"ex ea nostrud\",\"database\":\"Indo-Pacific Pollen Database\",\"datasettype\":\"energy dispersive X-ray spectroscopy (EDS/EDX)\",\"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\":24072,\"datasetid\":1420415,\"doi\":\"10s728234426/YV6:IWR;;\",\"gpid\":5392,\"keyword\":\"interglacial\",\"contactid\":20081,\"taxa\":\"eu\",\"ageyoung\": 1000,\"ageold\": 10000,\"ageof\":15801863,\"limit\": 10,\"offset\": 0},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", "err": {}, - "uuid": "4a91a58e-768f-48bc-974b-b8a17dec090a", - "parentUUID": "5092ed78-0d13-4a64-8a59-19dde2076b6c", + "uuid": "55184b95-0451-4062-8d40-33d33d6990ab", + "parentUUID": "8c755e8f-4df1-4965-a807-243b1ed5fafd", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "4a91a58e-768f-48bc-974b-b8a17dec090a" + "55184b95-0451-4062-8d40-33d33d6990ab" ], "failures": [], "pending": [], "skipped": [], - "duration": 2434, + "duration": 729, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -5505,49 +5501,49 @@ "_timeout": 900000 }, { - "uuid": "490b3fc5-9d2a-4338-a575-03dd47a1ec69", - "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": "bc4de0c9-9126-40ad-9922-dac2d506460f", + "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": "facb356e-bf88-4552-89f6-6f08091f6549", + "uuid": "960d6443-c628-4d3e-966d-812c904521aa", "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-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 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 \"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": 76, + "duration": 91, "state": "passed", "speed": "fast", "pass": true, "fail": false, "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();", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/spatial/faunal', { \n 'qs': {\"sciname\":\"esse\",\"proj\": 4326,\"prec\": 1000},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", "err": {}, - "uuid": "50c75893-fef9-474e-bade-4cef2ed493cb", - "parentUUID": "facb356e-bf88-4552-89f6-6f08091f6549", + "uuid": "fb3877c1-f4a6-48a2-a787-97e76e030411", + "parentUUID": "960d6443-c628-4d3e-966d-812c904521aa", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "50c75893-fef9-474e-bade-4cef2ed493cb" + "fb3877c1-f4a6-48a2-a787-97e76e030411" ], "failures": [], "pending": [], "skipped": [], - "duration": 76, + "duration": 91, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -5563,49 +5559,49 @@ "_timeout": 900000 }, { - "uuid": "45ce5b25-b58a-474f-b0c2-6edfb1b6fcbd", - "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": "fa08e4dc-ec68-4c23-b05c-0c642d59175c", + "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": [], "suites": [ { - "uuid": "00a31eb3-97f7-4f63-8af3-15ea65c58d5d", + "uuid": "6a3bd9f1-5958-4979-9e49-e727e7aa9488", "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/v1.5-apps-collectionTypes-test.js", + "file": "/test/v1.5-apps-collectionTypes-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 \"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": 84, + "duration": 68, "state": "passed", "speed": "fast", "pass": true, "fail": false, "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();", + "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": "7f117412-6376-4137-bb69-1fc0a3cc67b2", - "parentUUID": "00a31eb3-97f7-4f63-8af3-15ea65c58d5d", + "uuid": "1f2fb06a-c172-46eb-830f-3905051e783b", + "parentUUID": "6a3bd9f1-5958-4979-9e49-e727e7aa9488", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "7f117412-6376-4137-bb69-1fc0a3cc67b2" + "1f2fb06a-c172-46eb-830f-3905051e783b" ], "failures": [], "pending": [], "skipped": [], - "duration": 84, + "duration": 68, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -5621,49 +5617,49 @@ "_timeout": 900000 }, { - "uuid": "63f8ad0c-acf4-4c27-b49a-eb6cf8c5e827", - "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", + "uuid": "2063622c-a231-4e42-9fe6-be3dc0debba5", + "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": "2bc4ccaf-a7e3-4bd0-840d-e367cc5a3f24", + "uuid": "c4ac23cb-f524-4def-a31c-5247968892c3", "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", + "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 \"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) \"", + "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": 79, + "duration": 93, "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\":\"eu quis consectetur Excepteur\",\"proj\": 4326,\"prec\": 1000},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "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": {}, - "uuid": "9d28909a-feca-48dd-9aee-2347feeee4f0", - "parentUUID": "2bc4ccaf-a7e3-4bd0-840d-e367cc5a3f24", + "uuid": "f92dc5e7-2404-4371-8858-6c7ec87afbeb", + "parentUUID": "c4ac23cb-f524-4def-a31c-5247968892c3", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "9d28909a-feca-48dd-9aee-2347feeee4f0" + "f92dc5e7-2404-4371-8858-6c7ec87afbeb" ], "failures": [], "pending": [], "skipped": [], - "duration": 79, + "duration": 93, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -5679,49 +5675,49 @@ "_timeout": 900000 }, { - "uuid": "5a49360f-482a-49e0-aa1f-834974f15395", - "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", + "uuid": "db26b31a-67a2-493f-8378-0a95f6235f05", + "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": "00eac448-f8ac-47f4-89da-6025d74e77b3", + "uuid": "2ce11dbf-4752-4b02-bd87-baeda722da7b", "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", + "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 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**). \"", + "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": 273, + "duration": 749, "state": "passed", - "speed": "fast", + "speed": "medium", "pass": true, "fail": false, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/spatial/icesheet', { \n 'qs': {\"age\":16520,\"proj\": 4326,\"prec\": 1000},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "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": "ca2e4e7b-78f8-4c67-b9f8-2aa2889dd53a", - "parentUUID": "00eac448-f8ac-47f4-89da-6025d74e77b3", + "uuid": "49a3be2f-1d51-4e72-8b74-1216ac8050ce", + "parentUUID": "2ce11dbf-4752-4b02-bd87-baeda722da7b", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "ca2e4e7b-78f8-4c67-b9f8-2aa2889dd53a" + "49a3be2f-1d51-4e72-8b74-1216ac8050ce" ], "failures": [], "pending": [], "skipped": [], - "duration": 273, + "duration": 749, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -5737,49 +5733,49 @@ "_timeout": 900000 }, { - "uuid": "7f2832a8-c101-4454-bde8-78d6d8e773b3", - "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": "6eee8822-364e-435a-89ca-f066732cac0e", + "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": "44f13b2e-bd6d-437f-8903-5c71e474b407", + "uuid": "fe17e7a6-49e6-475e-b584-8b3bb8df66e5", "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/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 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 \"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": 137, + "duration": 75, "state": "passed", "speed": "fast", "pass": true, "fail": false, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/spatial/lakes', { \n 'qs': {\"siteid\":28976,\"buffer\":6379,\"prec\": 1000,\"proj\": 4326},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "code": "var response = request('get', 'http://localhost:3001/v1.5/data/sites/660', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", "err": {}, - "uuid": "21d23676-19a3-46fd-a9c5-5a417910df14", - "parentUUID": "44f13b2e-bd6d-437f-8903-5c71e474b407", + "uuid": "73556f3e-413e-47e9-a8af-9e740f5f1f21", + "parentUUID": "fe17e7a6-49e6-475e-b584-8b3bb8df66e5", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "21d23676-19a3-46fd-a9c5-5a417910df14" + "73556f3e-413e-47e9-a8af-9e740f5f1f21" ], "failures": [], "pending": [], "skipped": [], - "duration": 137, + "duration": 75, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -5795,49 +5791,49 @@ "_timeout": 900000 }, { - "uuid": "7d93e2b6-3e7b-4f7a-ae9b-c9b514871f6a", - "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": "8a49fc15-d96c-4df2-aa44-094c46fe017c", + "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": "6ea80e6b-d26d-48ab-b1f1-f9beb49c4f48", + "uuid": "5f5d8c06-a296-438f-b95d-166b0243cbd5", "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-taphonomysystems-test.js", + "file": "/test/v2.0-apps-taphonomysystems-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 \"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": 104, + "duration": 76, "state": "passed", "speed": "fast", "pass": true, "fail": false, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/speleothems/7038', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "code": "var response = request('get', 'http://localhost:3001/v2.0/apps/taphonomysystems', { \n 'qs': {\"datasettypeid\":28},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", "err": {}, - "uuid": "5c12b1b3-a6ec-4685-88c3-7b91b1b118ae", - "parentUUID": "6ea80e6b-d26d-48ab-b1f1-f9beb49c4f48", + "uuid": "d813fea9-11c4-4589-84f9-449be4f0b8db", + "parentUUID": "5f5d8c06-a296-438f-b95d-166b0243cbd5", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "5c12b1b3-a6ec-4685-88c3-7b91b1b118ae" + "d813fea9-11c4-4589-84f9-449be4f0b8db" ], "failures": [], "pending": [], "skipped": [], - "duration": 104, + "duration": 76, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -5853,49 +5849,49 @@ "_timeout": 900000 }, { - "uuid": "63a0d30d-9d70-4b1d-a829-57c79a5e15b9", - "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", + "uuid": "cb1d6f03-f0eb-44e8-b8e0-0f27b0ef60a4", + "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": "4f2bf7e7-2efb-473b-889f-d692bfe7bf88", + "uuid": "f4fca9e6-585e-4ef2-9884-066484d15f87", "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", + "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 \"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.\"", + "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": 236, + "duration": 132, "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();", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/geopoliticalunits/4173/datasets', { \n 'qs': {\"limit\": 10,\"offset\": 0},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", "err": {}, - "uuid": "fbfbc039-1670-48bb-96de-aba9cfd8148d", - "parentUUID": "4f2bf7e7-2efb-473b-889f-d692bfe7bf88", + "uuid": "33984b99-d0eb-42fd-be96-6a55270cb914", + "parentUUID": "f4fca9e6-585e-4ef2-9884-066484d15f87", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "fbfbc039-1670-48bb-96de-aba9cfd8148d" + "33984b99-d0eb-42fd-be96-6a55270cb914" ], "failures": [], "pending": [], "skipped": [], - "duration": 236, + "duration": 132, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -5911,49 +5907,49 @@ "_timeout": 900000 }, { - "uuid": "bd6dac1d-e18c-40d0-8a9e-86c3f437e3bf", - "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": "7f9846bb-9243-45d0-bb79-691b308f8760", + "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": [], "suites": [ { - "uuid": "111e8b87-557d-49e8-a864-3a6768788e6a", + "uuid": "89bf8e25-0c72-40cb-b0dd-9d66bcf637bd", "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/v1.5-apps-DatasetTypes-test.js", + "file": "/test/v1.5-apps-DatasetTypes-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 \"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": 214, + "duration": 117, "state": "passed", "speed": "fast", "pass": true, "fail": false, "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();", + "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": "cc9dd1a3-8c8a-4524-9139-ef1f436d10b7", - "parentUUID": "111e8b87-557d-49e8-a864-3a6768788e6a", + "uuid": "a5c010d8-4119-47c1-8149-24ece9986253", + "parentUUID": "89bf8e25-0c72-40cb-b0dd-9d66bcf637bd", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "cc9dd1a3-8c8a-4524-9139-ef1f436d10b7" + "a5c010d8-4119-47c1-8149-24ece9986253" ], "failures": [], "pending": [], "skipped": [], - "duration": 214, + "duration": 117, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -5969,49 +5965,49 @@ "_timeout": 900000 }, { - "uuid": "bdceb252-ce23-43d0-9bab-fc47e357c596", - "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": "300c3efd-6920-41b5-bf98-9d2c19f43b69", + "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": "d3b63965-5aba-4578-afa4-7495fc334fb4", + "uuid": "e608aa8e-0733-43ac-9f24-3a98a6cabb91", "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/v2.0-apps-depositionalenvironments-root-test.js", + "file": "/test/v2.0-apps-depositionalenvironments-root-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 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": 12474, + "duration": 69, "state": "passed", - "speed": "slow", + "speed": "fast", "pass": true, "fail": false, "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();", + "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": "0ec17411-4d04-4754-b0f9-6186948df72f", - "parentUUID": "d3b63965-5aba-4578-afa4-7495fc334fb4", + "uuid": "196822e3-aa85-4cf7-bf51-83f9260950ef", + "parentUUID": "e608aa8e-0733-43ac-9f24-3a98a6cabb91", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "0ec17411-4d04-4754-b0f9-6186948df72f" + "196822e3-aa85-4cf7-bf51-83f9260950ef" ], "failures": [], "pending": [], "skipped": [], - "duration": 12474, + "duration": 69, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -6027,49 +6023,49 @@ "_timeout": 900000 }, { - "uuid": "de45fdf2-8e6a-423e-bbd1-ab6e6f3c4d23", - "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": "3355fe9b-8ec3-4c17-bca1-903b851b027b", + "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": "c8a900c4-29a9-46ab-a6a6-452652b4aa6f", + "uuid": "acc3e0a7-a314-48f1-b192-f2bce7772cc0", "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/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 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 /v2.0/data/sites/{siteid}/datasets tests for get should respond 200 for \"An array of datasets.\"", "timedOut": false, - "duration": 283, + "duration": 1563, "state": "passed", - "speed": "fast", + "speed": "slow", "pass": true, "fail": false, "pending": false, "context": null, - "code": "var response = request('get', 'http://localhost:3001/v2.0/data/taxa', { \n 'qs': {\"taxonname\":\"fugiat irure aute mollit consectetur\",\"taxagroup\":\"Ut in in\",\"ecolgroup\":\"ullamco\",\"status\":true,\"limit\": 10,\"offset\": 0},\n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "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": "5b28924c-8699-41c6-933d-cfca7656e87b", - "parentUUID": "c8a900c4-29a9-46ab-a6a6-452652b4aa6f", + "uuid": "82ae4cd2-b7a0-4357-b16a-ad4e7f4ce26e", + "parentUUID": "acc3e0a7-a314-48f1-b192-f2bce7772cc0", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "5b28924c-8699-41c6-933d-cfca7656e87b" + "82ae4cd2-b7a0-4357-b16a-ad4e7f4ce26e" ], "failures": [], "pending": [], "skipped": [], - "duration": 283, + "duration": 1563, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -6085,49 +6081,49 @@ "_timeout": 900000 }, { - "uuid": "48976f1d-d264-47dd-b717-38b5594b117e", - "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": "1d462c53-67dc-4b86-bfb8-145a81a2ae6d", + "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": "a1c9c1a9-df58-45c2-9761-9e1476a2cf08", + "uuid": "17c636ae-f677-45c1-8c6f-bbd4b0643965", "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-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/taxa/{taxonid}/occurrences tests for get should respond 200 for \"occurrence\"", + "fullTitle": "tests for /v2.0/data/occurrences/{occurrenceid} tests for get should respond 200 for \"occurrence\"", "timedOut": false, - "duration": 109, + "duration": 81, "state": "passed", "speed": "fast", "pass": true, "fail": false, "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();", + "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": "bc394940-c413-4cab-af53-b1394ed1995a", - "parentUUID": "a1c9c1a9-df58-45c2-9761-9e1476a2cf08", + "uuid": "46835e7d-508d-4b39-9ad8-c9df1868ae16", + "parentUUID": "17c636ae-f677-45c1-8c6f-bbd4b0643965", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "bc394940-c413-4cab-af53-b1394ed1995a" + "46835e7d-508d-4b39-9ad8-c9df1868ae16" ], "failures": [], "pending": [], "skipped": [], - "duration": 109, + "duration": 81, "root": false, "rootEmpty": false, "_timeout": 900000 @@ -6143,49 +6139,49 @@ "_timeout": 900000 }, { - "uuid": "7789a475-6ab4-4a53-96e9-21db3ae4b175", - "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": "c5654fdb-5d38-4a54-bd8b-e432251becc6", + "title": "tests for /v2.0/data/datasets/{datasetid}/assays", + "fullFile": "/Users/sedv8808/HT-Data/UWisc/01_API/api_nodetest/test/v2.0-data-datasets-{datasetid}-assays-test.js", + "file": "/test/v2.0-data-datasets-{datasetid}-assays-test.js", "beforeHooks": [], "afterHooks": [], "tests": [], "suites": [ { - "uuid": "9b608ba4-3448-4dc4-9c3e-d87b42d7962b", + "uuid": "2272f730-4e77-417f-906c-b5e8b5cf2933", "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-datasets-{datasetid}-assays-test.js", + "file": "/test/v2.0-data-datasets-{datasetid}-assays-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 \"Assays\"", + "fullTitle": "tests for /v2.0/data/datasets/{datasetid}/assays tests for get should respond 200 for \"Assays\"", "timedOut": false, - "duration": 71, + "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/taxa/500', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", + "code": "var response = request('get', 'http://localhost:3001/v2.0/data/datasets/500/assays', { \n 'time': true\n});\nexpect(response).to.have.status(200);\nreturn chakram.wait();", "err": {}, - "uuid": "78202602-a837-45ec-97a8-2c47a4c8c46c", - "parentUUID": "9b608ba4-3448-4dc4-9c3e-d87b42d7962b", + "uuid": "5c8d3d61-6435-4747-b571-cc8053555741", + "parentUUID": "2272f730-4e77-417f-906c-b5e8b5cf2933", "isHook": false, "skipped": false } ], "suites": [], "passes": [ - "78202602-a837-45ec-97a8-2c47a4c8c46c" + "5c8d3d61-6435-4747-b571-cc8053555741" ], "failures": [], "pending": [], "skipped": [], - "duration": 71, + "duration": 79, "root": false, "rootEmpty": false, "_timeout": 900000 diff --git a/test/assays.js b/test/assays.js new file mode 100644 index 0000000..13b8d1b --- /dev/null +++ b/test/assays.js @@ -0,0 +1,56 @@ +'use strict'; +const expect = require('chai').expect; +const supertest = require('supertest'); + +const dotenv = require('dotenv'); +dotenv.config(); + +let testroute = process.env.APIPORT; + +if (typeof process.env.APIPATH === 'undefined') { + testroute = 'http://localhost:' + process.env.APIPORT + '/'; +} else { + testroute = process.env.APIPATH; +} + +const api = supertest(testroute); + +// ************************************************* +// aeDNA assay data: +// +// This lives outside test/v*.js on purpose: genoatt.sh deletes and regenerates +// those from openapi.yaml, and the generated tests only ever assert a status +// code. The assay payload feeds the FAIRe exporter's projectMetadata sheet, so +// a field silently dropped from assaysbydataset.sql would surface there as a +// blank cell rather than as a failure. + +describe('Get aeDNA assays by datasetid:', function() { + this.timeout(5000); + + it('every assay carries the FAIRe project terms:', function(done) { + api.get('v2.0/data/datasets/74666/assays') + .set('Accept', 'application/json') + .expect(200) + .expect(function(res) { + const assays = res.body.data.assays; + expect(assays).to.be.an('array'); + assays.forEach(function(assay) { + // sterilise_method / neg_cont / pos_cont -> projectMetadata D6/D7/D8. + expect(assay).to.have.property('sterilisemethod'); + expect(assay).to.have.property('negcont'); + expect(assay).to.have.property('poscont'); + }); + }) + .end(done); + }); + + it('a dataset with no assays returns an empty array, not an error:', function(done) { + api.get('v2.0/data/datasets/500/assays') + .set('Accept', 'application/json') + .expect(200) + .expect(function(res) { + expect(res.body.data.assays).to.be.an('array'); + }) + .end(done); + }); +}); diff --git a/test/v1.5-data-contacts-{contactid}-test.js b/test/v1.5-data-contacts-{contactid}-test.js index ec249f5..247b4a9 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/-2097676', { + var response = request('get', 'http://localhost:3001/v1.5/data/contacts/-90664163', { 'time': true }); diff --git a/test/v1.5-data-geopoliticalunits-{gpid}-test.js b/test/v1.5-data-geopoliticalunits-{gpid}-test.js index 6d98681..bf077dc 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/7972', { + var response = request('get', 'http://localhost:3001/v1.5/data/geopoliticalunits/4789', { 'time': true }); diff --git a/test/v2.0-apps-constdb-datasetages-test.js b/test/v2.0-apps-constdb-datasetages-test.js index ab76546..728a91b 100644 --- a/test/v2.0-apps-constdb-datasetages-test.js +++ b/test/v2.0-apps-constdb-datasetages-test.js @@ -8,7 +8,7 @@ describe('tests for /v2.0/apps/constdb/datasetages', 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/datasetages', { - 'qs': {"dbid":25}, + 'qs': {"dbid":20}, 'time': true }); diff --git a/test/v2.0-apps-constdb-datasets-test.js b/test/v2.0-apps-constdb-datasets-test.js index 47a47f6..b6cee0a 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":7}, + 'qs': {"dbid":26}, 'time': true }); diff --git a/test/v2.0-apps-constdb-datasetuploads-test.js b/test/v2.0-apps-constdb-datasetuploads-test.js index 9369551..b0f812f 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":2}, + 'qs': {"dbid":25}, 'time': true }); diff --git a/test/v2.0-apps-depenvt-test.js b/test/v2.0-apps-depenvt-test.js index abdbb7b..6224bea 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":8235,"datasetid":12990720,"collectionunitid":17491}, + 'qs': {"siteid":1610,"datasetid":80118037,"collectionunitid":46745}, 'time': true }); diff --git a/test/v2.0-apps-taphonomysystems-test.js b/test/v2.0-apps-taphonomysystems-test.js index 186127a..becf6f1 100644 --- a/test/v2.0-apps-taphonomysystems-test.js +++ b/test/v2.0-apps-taphonomysystems-test.js @@ -8,7 +8,7 @@ describe('tests for /v2.0/apps/taphonomysystems', function() { describe('tests for get', function() { it('should respond 200 for "A table of Neotoma collection types."', function() { var response = request('get', 'http://localhost:3001/v2.0/apps/taphonomysystems', { - 'qs': {"datasettypeid":40}, + 'qs': {"datasettypeid":30}, 'time': true }); diff --git a/test/v2.0-data-contacts-test.js b/test/v2.0-data-contacts-test.js index affc073..3211969 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":2387,"familyname":"nU","contactname":"WwCt O'dJBx","contactstatus":"defunct","limit": 10,"offset": 0}, + 'qs': {"contactid":5583,"familyname":"Uum-WPAgUA","contactname":"m","contactstatus":"unknown","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 index 081f7e3..951167d 100644 --- a/test/v2.0-data-contacts-{contactid}-publications-test.js +++ b/test/v2.0-data-contacts-{contactid}-publications-test.js @@ -7,7 +7,7 @@ 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', { + var response = request('get', 'http://localhost:3001/v2.0/data/contacts/500/publications', { 'time': true }); diff --git a/test/v2.0-data-contacts-{contactid}-sites-test.js b/test/v2.0-data-contacts-{contactid}-sites-test.js index e242a23..158e71e 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/6889/sites', { + var response = request('get', 'http://localhost:3001/v2.0/data/contacts/9929/sites', { 'time': true }); diff --git a/test/v2.0-data-contacts-{contactid}-test.js b/test/v2.0-data-contacts-{contactid}-test.js index 685e855..8906198 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/8026', { + var response = request('get', 'http://localhost:3001/v2.0/data/contacts/500', { 'time': true }); diff --git a/test/v2.0-data-datasets-db-test.js b/test/v2.0-data-datasets-db-test.js index 76c2d14..3703055 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":"Diatom Paleolimnology Data Cooperative (DPDC)"}, + 'qs': {"limit": 10,"offset": 0,"database":"Neotoma Testate Amoebae Database"}, 'time': true }); diff --git a/test/v2.0-data-datasets-test.js b/test/v2.0-data-datasets-test.js index 09a79c8..57902bc 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":"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}, + 'qs': {"sitename":"in nisi amet deserunt ea","database":"Chinese Pollen Database","datasettype":"chironomid","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":26747,"datasetid":69182564,"doi":"10A45156150/-","gpid":5392,"keyword":"bottom","contactid":6816,"taxa":"adipisicing laborum deserunt sunt","ageyoung": 1000,"ageold": 10000,"ageof":1987576,"limit": 10,"offset": 0}, 'time': true }); diff --git a/test/v2.0-data-datasets-{datasetid}-assays-test.js b/test/v2.0-data-datasets-{datasetid}-assays-test.js new file mode 100644 index 0000000..fbe4615 --- /dev/null +++ b/test/v2.0-data-datasets-{datasetid}-assays-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/datasets/{datasetid}/assays', function() { + describe('tests for get', function() { + it('should respond 200 for "Assays"', function() { + var response = request('get', 'http://localhost:3001/v2.0/data/datasets/500/assays', { + 'time': true + }); + + expect(response).to.have.status(200); + return chakram.wait(); + }); + + }); +}); \ No newline at end of file diff --git a/test/v2.0-data-datasets-{datasetid}-projects-test.js b/test/v2.0-data-datasets-{datasetid}-projects-test.js new file mode 100644 index 0000000..aed34f6 --- /dev/null +++ b/test/v2.0-data-datasets-{datasetid}-projects-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/datasets/{datasetid}/projects', function() { + describe('tests for get', function() { + it('should respond 200 for "Projects"', function() { + var response = request('get', 'http://localhost:3001/v2.0/data/datasets/500/projects', { + 'time': true + }); + + expect(response).to.have.status(200); + return chakram.wait(); + }); + + }); +}); \ No newline at end of file diff --git a/test/v2.0-data-datasets_elc-test.js b/test/v2.0-data-datasets_elc-test.js index c3fd91a..ee4155f 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":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}, + 'qs': {"siteid":24832,"contactid":6896,"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]]]}","ageyoung": 1000,"ageold": 10000,"ageof":6017958}, 'time': true }); diff --git a/test/v2.0-data-dbtables-test.js b/test/v2.0-data-dbtables-test.js index c924c47..6993f45 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":"voluptate pariatur","count":true,"limit": 10,"offset": 0}, + 'qs': {"table":"fugiat","count":false,"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 57dee4f..df53212 100644 --- a/test/v2.0-data-dbtables-{table}-test.js +++ b/test/v2.0-data-dbtables-{table}-test.js @@ -7,8 +7,8 @@ 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/minimLoremExcepteur', { - 'qs': {"count":true,"limit": 10,"offset": 0}, + var response = request('get', 'http://localhost:3001/v2.0/data/dbtables/deseruntaliquapariatur', { + 'qs': {"count":false,"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 00c8167..a2901a6 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":2,"lower":false}, + 'qs': {"gpid":5392,"gpname":"Canada","rank":4,"lower":true}, '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 282b258..2cdb76b 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/90/datasets', { + var response = request('get', 'http://localhost:3001/v2.0/data/geopoliticalunits/500/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 7ad685a..b8e1726 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/4371/sites', { + var response = request('get', 'http://localhost:3001/v2.0/data/geopoliticalunits/1467/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 168bdd1..c74eaf7 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/4982', { + var response = request('get', 'http://localhost:3001/v2.0/data/geopoliticalunits/5778', { 'time': true }); diff --git a/test/v2.0-data-occurrences-test.js b/test/v2.0-data-occurrences-test.js index 655ee01..2efbc80 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":"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}, + 'qs': {"taxonname":"magna irure anim consectetur ullamco","taxonid":21012,"siteid":49855,"sitename":"mollit","datasettype":"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]]]}","ageof":2647566,"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 07087b2..b18144c 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":"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}, + 'qs': {"taxonname":"et ad non irure quis","taxonid":45362,"siteid":39084,"sitename":"eiusmod esse ipsum","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]]]}","ageof":5395162,"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 bd57282..fa7c438 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/9055', { + var response = request('get', 'http://localhost:3001/v2.0/data/pollen/500', { 'time': true }); diff --git a/test/v2.0-data-publications-test.js b/test/v2.0-data-publications-test.js index 5c74778..7763d66 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":1255,"datasetid":13617827,"siteid":44696,"familyname":"MpTf-oof","pubtype":"Book Chapter","year":1521,"search":"ad veniam occaecat","limit": 10,"offset": 0}, + 'qs': {"publicationid":3227,"datasetid":62171686,"siteid":15473,"familyname":"Tm-","pubtype":"Other Edited","year":1958,"search":"dolor laboris ullamco ut","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 24abedf..7126513 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/1784', { + var response = request('get', 'http://localhost:3001/v2.0/data/publications/500', { 'time': true }); diff --git a/test/v2.0-data-sites-test.js b/test/v2.0-data-sites-test.js index 3680688..f49834c 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":"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}, + 'qs': {"sitename":"dolore","database":"Alpine Pollen Database","datasettype":"vertebrate fauna","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":34594,"datasetid":20523832,"doi":"10u7613/HNFJAT","gpid":5392,"keyword":"beyond radiocarbon","contactid":17893,"taxa":"laborum Excepteur ut enim","ageyoung": 1000,"ageold": 10000,"ageof":608776,"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 b4c9d0b..2d4595f 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/431/contacts', { + var response = request('get', 'http://localhost:3001/v2.0/data/sites/500/contacts', { 'time': true }); diff --git a/test/v2.0-data-sites-{siteid}-datasets_elc-test.js b/test/v2.0-data-sites-{siteid}-datasets_elc-test.js index 7150e27..a7ad152 100644 --- a/test/v2.0-data-sites-{siteid}-datasets_elc-test.js +++ b/test/v2.0-data-sites-{siteid}-datasets_elc-test.js @@ -7,7 +7,7 @@ var expect = chakram.expect; describe('tests for /v2.0/data/sites/{siteid}/datasets_elc', 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/sites/500/datasets_elc', { + var response = request('get', 'http://localhost:3001/v2.0/data/sites/8024/datasets_elc', { 'time': true }); diff --git a/test/v2.0-data-sites-{siteid}-test.js b/test/v2.0-data-sites-{siteid}-test.js index 05960ef..993cfae 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/3909', { + var response = request('get', 'http://localhost:3001/v2.0/data/sites/500', { 'time': true }); diff --git a/test/v2.0-data-spatial-faunal-test.js b/test/v2.0-data-spatial-faunal-test.js index e2cdc36..d0d8cff 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":"esse veniam commodo do pariatur","proj": 4326,"prec": 1000}, + 'qs': {"sciname":"irure","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 b1cf0a9..394d00b 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":17778,"proj": 4326,"prec": 1000}, + 'qs': {"age":16220,"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 70b01b1..ad5b324 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":14023,"buffer":5952,"prec": 1000,"proj": 4326}, + 'qs': {"siteid":48315,"buffer":8389,"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 8bce544..a928d7f 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/8805', { + var response = request('get', 'http://localhost:3001/v2.0/data/speleothems/500', { 'time': true }); diff --git a/test/v2.0-data-taxa-test.js b/test/v2.0-data-taxa-test.js index 323e5eb..c8892ae 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":"non dolor consequat","taxagroup":"in consectetur","ecolgroup":"et ut ex","status":true,"limit": 10,"offset": 0}, + 'qs': {"taxonname":"ullamco amet","taxagroup":"veniam adipisicing labore dolor nisi","ecolgroup":"esse voluptate cupidatat dolor","status":0,"limit": 10,"offset": 0}, 'time': true }); diff --git a/v2.0/handlers/apps_handlers.js b/v2.0/handlers/apps_handlers.js index 299c7fa..4881b9b 100755 --- a/v2.0/handlers/apps_handlers.js +++ b/v2.0/handlers/apps_handlers.js @@ -9,7 +9,7 @@ module.exports = { authorpis: authorpis, taphonomysystems: taphonomysystems, depositionalenvironments: depositionalenvironments, - meHandler: meHandler, + stewardHandler: stewardHandler, validateusers: function(req, res, next) { const valuser = require('../helpers/validation/validateuser.js'); valuser.checktoken(req, res, next); @@ -291,7 +291,7 @@ function depositionalenvironments(req, res, next) { }); } -async function meHandler(req, res) { +async function stewardHandler(req, res) { const { orcid, sessionuuid } = req.user; const db = req.app.locals.db; @@ -304,7 +304,18 @@ async function meHandler(req, res) { l.expiresat, c.contactid, COALESCE(c.contactname, l.orcidname) AS contactname, - s.stewardid + s.stewardid, + -- The databases this steward is authorized on. Kept as a scalar + -- subquery rather than a join: the outer query ends in LIMIT 1, so a + -- join against the one-row-per-database ti.stewarddatabases would + -- silently drop everything but the first database. + COALESCE( + (SELECT json_agg(json_build_object('databaseid', sd.databaseid) + ORDER BY sd.databaseid) + FROM ti.stewarddatabases sd + WHERE sd.stewardid = s.stewardid), + '[]'::json + ) AS databases FROM ap.orcidlogins l LEFT JOIN ndb.externalcontacts ec ON ec.identifier = l.orcidid AND ec.extdatabaseid = 7 @@ -330,12 +341,13 @@ async function meHandler(req, res) { name: rows[0].contactname, contactid: rows[0].contactid, // null if no link stewardid: rows[0].stewardid, // null if not a steward + databases: rows[0].databases, // [] if not a steward sessionuuid, expiresat: rows[0].expiresat, }, }); } catch (err) { - console.error('meHandler failed:', err); + console.error('stewardHandler failed:', err); return res.status(500).json({ status: 'error', message: 'Failed to load user' }); } } diff --git a/v2.0/helpers/assays/assays.js b/v2.0/helpers/assays/assays.js index d2b9512..054baa1 100644 --- a/v2.0/helpers/assays/assays.js +++ b/v2.0/helpers/assays/assays.js @@ -31,10 +31,13 @@ function assaysbydsid(req, res, next) { }); }) .catch(function(err) { - // 42P01 is Postgres "undefined_table". The aeDNA tables are deployed ahead of - // this route on some hosts, so report "no assays" rather than a server error. - if (err.code === '42P01') { - console.warn('aeDNA assay tables are not deployed on this host; ' + + // 42P01 "undefined_table" / 42703 "undefined_column". The aeDNA tables are + // deployed ahead of this route on some hosts, and the FAIRe project columns + // (sterilise_method, neg_cont, pos_cont) were added to ndb.aednaassays after + // it shipped — see new_tables.sql in DataBUS_aeDNA. Report "no assays" + // rather than a server error in either case. + if (err.code === '42P01' || err.code === '42703') { + console.warn('aeDNA assay tables are not fully deployed on this host; ' + 'returning an empty assay set.'); return res.status(200).json({ status: 'success', diff --git a/v2.0/helpers/assays/assaysbydataset.sql b/v2.0/helpers/assays/assaysbydataset.sql index fc0fe31..e59737d 100644 --- a/v2.0/helpers/assays/assaysbydataset.sql +++ b/v2.0/helpers/assays/assaysbydataset.sql @@ -22,6 +22,13 @@ FROM ( 'probereporter', a.probereporter, 'probequencher', a.probequencher, 'probeconc', a.probeconc, + -- FAIRe Project-section terms. The columns are underscored while every + -- key in this payload is not, so the aliases keep the two conventions + -- from meeting anywhere but here. neg_cont/pos_cont are BOOLEAN and are + -- passed through uncast, so NULL ("unknown") stays distinct from false. + 'sterilisemethod', a.sterilise_method, + 'negcont', a.neg_cont, + 'poscont', a.pos_cont, 'libraries', COALESCE(( SELECT json_agg(json_build_object( 'libraryid', l.libraryid, diff --git a/v2.0/helpers/validation/stewardbyorcid.sql b/v2.0/helpers/validation/stewardbyorcid.sql new file mode 100644 index 0000000..3f2c25e --- /dev/null +++ b/v2.0/helpers/validation/stewardbyorcid.sql @@ -0,0 +1,11 @@ +-- Is the person behind this ORCID a Neotoma steward? +-- Used to gate login: only stewards get a session in ap.orcidlogins. +-- extdatabaseid 7 is ORCID, and identifier is stored in its full URI form +-- (https://orcid.org/0000-...), so the value passed in has to match exactly. +SELECT s.stewardid +FROM ndb.externalcontacts AS ec +INNER JOIN ndb.contacts AS c ON c.contactid = ec.contactid +INNER JOIN ti.stewards AS s ON s.contactid = c.contactid +WHERE ec.extdatabaseid = 7 + AND ec.identifier = ${orcidid} +LIMIT 1; diff --git a/v2.0/helpers/validation/validateuser.js b/v2.0/helpers/validation/validateuser.js index d1fb146..ac53d8b 100644 --- a/v2.0/helpers/validation/validateuser.js +++ b/v2.0/helpers/validation/validateuser.js @@ -2,8 +2,9 @@ // This is the module that turns an ORCID token into a Neotoma session: // The user sends the access token they received from the ORCID OAuth flow. // We validate it by asking orcid.org/oauth/userinfo who it belongs to. -// If ORCID recognises it, we record a login in ap.orcidlogins, which mints an -// opaque session UUID (see newlogin.sql), and send that UUID back to the caller. +// If ORCID recognises it, we check that the person is a Neotoma steward, and +// only then record a login in ap.orcidlogins, which mints an opaque session +// UUID (see newlogin.sql), and send that UUID back to the caller. // The session UUID is the credential for every authenticated request afterwards, // passed as `Authorization: Bearer ` and checked by sessionauth.js. // Session lifetime is set in newlogin.sql — currently 1 week — and its expiry is @@ -12,6 +13,17 @@ const {sql} = require('../../../src/neotomaapi.js'); const insertuserlogin = sql('../v2.0/helpers/validation/newlogin.sql'); +const stewardbyorcid = sql('../v2.0/helpers/validation/stewardbyorcid.sql'); + +// How long we're willing to wait on orcid.org. fetch() has no overall timeout of +// its own, so without this an unresponsive ORCID hangs the request indefinitely. +const ORCIDTIMEOUTMS = 10000; + +const INVALIDTOKENMSG = 'The ORCID token is not valid or has expired. ' + + 'Please log in again.'; + +const NOTSTEWARDMSG = 'Only Neotoma database stewards may log in. ' + + 'If you believe you should have access, contact the Neotoma team.'; /** * Check an ORCID token passed to the Neotoma API: @@ -35,40 +47,82 @@ const checktoken = async function(req, res, next) { 'User-Agent': agent, 'Accept': 'application/json', }, + signal: AbortSignal.timeout(ORCIDTIMEOUTMS), }); - if (postresponse.status === 200) { - const responsetext = await postresponse.text(); - const result = await JSON.parse(responsetext); - if (Object.keys(result).includes('error')) { - const msg = 'The ORCID token passed to Neotoma is not valid:' + - token; - res.status(407) - .json({ - status: 'Proxy Authentication Required', - data: result, - message: msg, - }); - } else { - const dbpush = await db.one(insertuserlogin, - {'orcidid': result['id'], 'ipaddr': ipaddr, - 'orcidname': result['name'] || - [result['given_name'], result['family_name']].filter(Boolean).join(' ') || - null}); - const uuidres = await dbpush; - res.status(200) - .json({ - status: 'success', - data: { - user: result, - neotoken: uuidres, - }, - message: 'Neotoma token expires in 1wk', - }); - } + + // ORCID answers 403 for a token it doesn't recognise. Every branch from here + // on has to call res: this used to fall through without responding, which + // left the client hanging until it gave up rather than reporting a bad token. + if (postresponse.status !== 200) { + return res.status(401) + .json({ + status: 'unauthorized', + message: INVALIDTOKENMSG, + }); + } + + const responsetext = await postresponse.text(); + const result = JSON.parse(responsetext); + + if (Object.keys(result).includes('error')) { + // ORCID said 200 but handed back an error body. Note we don't echo the + // token: it's a credential, and it would end up in logs and the browser. + return res.status(401) + .json({ + status: 'unauthorized', + data: result, + message: INVALIDTOKENMSG, + }); + } + + // The identifier everything keys off. It goes into ap.orcidlogins.orcidid, + // and /orcids/steward joins ndb.externalcontacts against that column, so the + // steward check below deliberately uses this same value — if it were derived + // separately the two could disagree about who is a steward. + const orcidid = result['id']; + + // Only stewards get a session. Checked before the insert, so a rejected + // login leaves no row behind in ap.orcidlogins. + const steward = await db.oneOrNone(stewardbyorcid, {'orcidid': orcidid}); + + if (!steward) { + return res.status(403) + .json({ + status: 'forbidden', + message: NOTSTEWARDMSG, + }); } + + const uuidres = await db.one(insertuserlogin, + {'orcidid': orcidid, 'ipaddr': ipaddr, + 'orcidname': result['name'] || + [result['given_name'], result['family_name']].filter(Boolean).join(' ') || + null}); + + return res.status(200) + .json({ + status: 'success', + data: { + user: result, + neotoken: uuidres, + }, + message: 'Neotoma token expires in 1wk', + }); } catch (err) { + // An aborted fetch lands here rather than returning a response, so it needs + // separating from our own failures — 504 says "ORCID is unreachable", not + // "Neotoma is broken". + if (err.name === 'TimeoutError' || err.name === 'AbortError') { + console.error('ORCID userinfo did not respond within ' + + ORCIDTIMEOUTMS + 'ms'); + return res.status(504) + .json({ + status: 'error', + message: 'ORCID did not respond in time. Please try again.', + }); + } console.error(err); - res.status(500) + return res.status(500) .json({ status: 'error', data: err, diff --git a/v2.0/routes/apps.js b/v2.0/routes/apps.js index 6cb18b9..629d0ef 100755 --- a/v2.0/routes/apps.js +++ b/v2.0/routes/apps.js @@ -29,7 +29,35 @@ router.post('/logout', requireAuth, async function(req, res) { ); res.status(200).json({status: 'success', message: 'Session ended'}); } catch (err) { - res.status(500).json({status: 'error', message: 'Logout failed'}); + // This used to discard `err` outright, so a failed logout looked identical + // whether the column was missing, the role lacked UPDATE, or the BEFORE + // UPDATE trigger's function wasn't there. pg-promise hangs the useful parts + // off the error object. Only a prefix of the session uuid is logged — the + // whole value is a live credential. + console.error('logout failed: ' + JSON.stringify({ + message: err.message, + code: err.code, + detail: err.detail, + hint: err.hint, + schema: err.schema, + table: err.table, + column: err.column, + routine: err.routine, + session: String(req.user.sessionuuid).slice(0, 8) + '...', + })); + const body = {status: 'error', message: 'Logout failed'}; + // api-dev runs with NODE_ENV=dev (cloudformation-template.yaml sets it from + // the Environment parameter), so the reason comes back in the response + // there and stays hidden in production. + if (process.env.NODE_ENV !== 'production') { + body.data = { + message: err.message, + code: err.code, + detail: err.detail, + hint: err.hint, + }; + } + res.status(500).json(body); } }); @@ -55,8 +83,8 @@ router.get('/constdb', handlers.databasesummaries); router.get('/contactsummary/:datasetid', handlers.contactoverview); // Gives the orcid by the contactid. router.get('/orcids/contact', handlers.contact_orcid); -// Gives the logged in user their orcid and contactid. -router.get('/orcids/me', requireAuth, handlers.meHandler); +// Gives the logged in user their orcid, contactid and steward databases. +router.get('/orcids/steward', requireAuth, handlers.stewardHandler); // Gives the contact with an orcid. router.get('/orcids/orcid', handlers.orcid_contact); router.get('/datasetpi', handlers.datasetsbypi);