From dcd182caf11bf55e5a323e8a0d909d262b6fd241 Mon Sep 17 00:00:00 2001 From: Opender Singh Date: Tue, 7 Jul 2020 10:44:01 +1200 Subject: [PATCH] Add unit tests to cli db fixtures (#2350) --- .../spc_46c5a4a40e83445a9bd9d9758b86c16c.yml | 11 +++---- ...046a738f001eb3090261a537b1b78f86c2094c.yml | 2 +- ...738f001eb3090261a537b1b78f86c2094c_sub.yml | 6 ++-- ...2d4860c7da418a85ffea7406e1292a21946b60.yml | 6 ++-- ...2d4860c7da418a85ffea7406e1292ab410454b.yml | 6 ++-- ...2d4860c7da418a85ffea7406e1292a30baa249.yml | 6 ++-- .../ut_6b214a8cd07046f2a8f43237ca913c73.yml | 8 +++++ .../ut_8c0c020fb9e341c2a3162e723445faf1.yml | 8 +++++ .../ut_8fc42ec7f82a45d09e691ddfe212fd85.yml | 8 +++++ .../ut_97a197104e83454ebf5f4e0dc0ba4bc6.yml | 8 +++++ .../uts_7f0f85548b0147f4ba6b5e442d137613.yml | 6 ++++ .../uts_fe901c6565044f00aa620d3fe47f443f.yml | 6 ++++ .../wrk_012d4860c7da418a85ffea7406e1292a.yml | 4 +-- .../db/__fixtures__/nedb/insomnia.ApiSpec.db | 4 +-- .../__fixtures__/nedb/insomnia.Environment.db | 7 ++-- .../db/__fixtures__/nedb/insomnia.Request.db | 6 ++-- .../nedb/insomnia.RequestGroup.db | 3 +- .../db/__fixtures__/nedb/insomnia.UnitTest.db | 4 +++ .../nedb/insomnia.UnitTestSuite.db | 2 ++ .../__fixtures__/nedb/insomnia.Workspace.db | 4 +-- .../db/adapters/__tests__/git-adapter.test.js | 4 +++ .../adapters/__tests__/ne-db-adapter.test.js | 12 ++++--- packages/insomnia-inso/src/db/index.js | 32 ++++++++++--------- packages/insomnia-inso/src/db/types.js | 28 ++++++++++++++++ 24 files changed, 136 insertions(+), 55 deletions(-) create mode 100755 packages/insomnia-inso/src/db/__fixtures__/git-repo/.insomnia/UnitTest/ut_6b214a8cd07046f2a8f43237ca913c73.yml create mode 100755 packages/insomnia-inso/src/db/__fixtures__/git-repo/.insomnia/UnitTest/ut_8c0c020fb9e341c2a3162e723445faf1.yml create mode 100755 packages/insomnia-inso/src/db/__fixtures__/git-repo/.insomnia/UnitTest/ut_8fc42ec7f82a45d09e691ddfe212fd85.yml create mode 100755 packages/insomnia-inso/src/db/__fixtures__/git-repo/.insomnia/UnitTest/ut_97a197104e83454ebf5f4e0dc0ba4bc6.yml create mode 100755 packages/insomnia-inso/src/db/__fixtures__/git-repo/.insomnia/UnitTestSuite/uts_7f0f85548b0147f4ba6b5e442d137613.yml create mode 100755 packages/insomnia-inso/src/db/__fixtures__/git-repo/.insomnia/UnitTestSuite/uts_fe901c6565044f00aa620d3fe47f443f.yml create mode 100644 packages/insomnia-inso/src/db/__fixtures__/nedb/insomnia.UnitTest.db create mode 100644 packages/insomnia-inso/src/db/__fixtures__/nedb/insomnia.UnitTestSuite.db diff --git a/packages/insomnia-inso/src/db/__fixtures__/git-repo/.insomnia/ApiSpec/spc_46c5a4a40e83445a9bd9d9758b86c16c.yml b/packages/insomnia-inso/src/db/__fixtures__/git-repo/.insomnia/ApiSpec/spc_46c5a4a40e83445a9bd9d9758b86c16c.yml index 2c4b7f6474..ae30498384 100755 --- a/packages/insomnia-inso/src/db/__fixtures__/git-repo/.insomnia/ApiSpec/spc_46c5a4a40e83445a9bd9d9758b86c16c.yml +++ b/packages/insomnia-inso/src/db/__fixtures__/git-repo/.insomnia/ApiSpec/spc_46c5a4a40e83445a9bd9d9758b86c16c.yml @@ -3,13 +3,12 @@ contentType: yaml contents: | openapi: '3.0.2' info: - title: Global Security + title: Sample Spec version: '1.2' servers: - - url: https://api.server.test/v1 + - url: https://200.insomnia.rest tags: - name: Folder - paths: /global: get: @@ -20,13 +19,11 @@ contents: | description: OK /override: get: - security: - - Key-Query: [] responses: '200': description: OK created: 1589851906273 -fileName: Global Security -modified: 1592254074772 +fileName: Sample Specification +modified: 1593669699123 parentId: wrk_012d4860c7da418a85ffea7406e1292a type: ApiSpec diff --git a/packages/insomnia-inso/src/db/__fixtures__/git-repo/.insomnia/Environment/env_ca046a738f001eb3090261a537b1b78f86c2094c.yml b/packages/insomnia-inso/src/db/__fixtures__/git-repo/.insomnia/Environment/env_ca046a738f001eb3090261a537b1b78f86c2094c.yml index 8eced02ede..5338f5b085 100755 --- a/packages/insomnia-inso/src/db/__fixtures__/git-repo/.insomnia/Environment/env_ca046a738f001eb3090261a537b1b78f86c2094c.yml +++ b/packages/insomnia-inso/src/db/__fixtures__/git-repo/.insomnia/Environment/env_ca046a738f001eb3090261a537b1b78f86c2094c.yml @@ -8,7 +8,7 @@ dataPropertyOrder: - base_url isPrivate: false metaSortKey: 1589851906358 -modified: 1592254074769 +modified: 1593669699118 name: Base environment parentId: wrk_012d4860c7da418a85ffea7406e1292a type: Environment diff --git a/packages/insomnia-inso/src/db/__fixtures__/git-repo/.insomnia/Environment/env_env_ca046a738f001eb3090261a537b1b78f86c2094c_sub.yml b/packages/insomnia-inso/src/db/__fixtures__/git-repo/.insomnia/Environment/env_env_ca046a738f001eb3090261a537b1b78f86c2094c_sub.yml index 354252fb22..80f584905b 100755 --- a/packages/insomnia-inso/src/db/__fixtures__/git-repo/.insomnia/Environment/env_env_ca046a738f001eb3090261a537b1b78f86c2094c_sub.yml +++ b/packages/insomnia-inso/src/db/__fixtures__/git-repo/.insomnia/Environment/env_env_ca046a738f001eb3090261a537b1b78f86c2094c_sub.yml @@ -2,13 +2,13 @@ _id: env_env_ca046a738f001eb3090261a537b1b78f86c2094c_sub color: null created: 1592252904087 data: - base_path: /v1 - host: api.server.test + base_path: "" + host: 200.insomnia.rest scheme: https dataPropertyOrder: null isPrivate: false metaSortKey: 1592252904087 -modified: 1592254074767 +modified: 1593669699117 name: OpenAPI env parentId: env_ca046a738f001eb3090261a537b1b78f86c2094c type: Environment diff --git a/packages/insomnia-inso/src/db/__fixtures__/git-repo/.insomnia/Request/req_wrk_012d4860c7da418a85ffea7406e1292a21946b60.yml b/packages/insomnia-inso/src/db/__fixtures__/git-repo/.insomnia/Request/req_wrk_012d4860c7da418a85ffea7406e1292a21946b60.yml index b5e8dd00ea..f53861646c 100755 --- a/packages/insomnia-inso/src/db/__fixtures__/git-repo/.insomnia/Request/req_wrk_012d4860c7da418a85ffea7406e1292a21946b60.yml +++ b/packages/insomnia-inso/src/db/__fixtures__/git-repo/.insomnia/Request/req_wrk_012d4860c7da418a85ffea7406e1292a21946b60.yml @@ -1,13 +1,13 @@ _id: req_wrk_012d4860c7da418a85ffea7406e1292a21946b60 authentication: {} body: {} -created: 1592254074764 +created: 1593669324881 description: "" headers: [] isPrivate: false -metaSortKey: -1592254074764 +metaSortKey: -1593669324881 method: GET -modified: 1592254074764 +modified: 1593669699112 name: /global parameters: [] parentId: fld_wrk_012d4860c7da418a85ffea7406e1292a30baa249 diff --git a/packages/insomnia-inso/src/db/__fixtures__/git-repo/.insomnia/Request/req_wrk_012d4860c7da418a85ffea7406e1292ab410454b.yml b/packages/insomnia-inso/src/db/__fixtures__/git-repo/.insomnia/Request/req_wrk_012d4860c7da418a85ffea7406e1292ab410454b.yml index f36b742a8a..54192d08eb 100755 --- a/packages/insomnia-inso/src/db/__fixtures__/git-repo/.insomnia/Request/req_wrk_012d4860c7da418a85ffea7406e1292ab410454b.yml +++ b/packages/insomnia-inso/src/db/__fixtures__/git-repo/.insomnia/Request/req_wrk_012d4860c7da418a85ffea7406e1292ab410454b.yml @@ -1,13 +1,13 @@ _id: req_wrk_012d4860c7da418a85ffea7406e1292ab410454b authentication: {} body: {} -created: 1592254074762 +created: 1593669324879 description: "" headers: [] isPrivate: false -metaSortKey: -1592254074762 +metaSortKey: -1593669324879 method: GET -modified: 1592254074762 +modified: 1593669699110 name: /override parameters: [] parentId: wrk_012d4860c7da418a85ffea7406e1292a diff --git a/packages/insomnia-inso/src/db/__fixtures__/git-repo/.insomnia/RequestGroup/fld_wrk_012d4860c7da418a85ffea7406e1292a30baa249.yml b/packages/insomnia-inso/src/db/__fixtures__/git-repo/.insomnia/RequestGroup/fld_wrk_012d4860c7da418a85ffea7406e1292a30baa249.yml index 672cb2da92..a5814ec4c8 100755 --- a/packages/insomnia-inso/src/db/__fixtures__/git-repo/.insomnia/RequestGroup/fld_wrk_012d4860c7da418a85ffea7406e1292a30baa249.yml +++ b/packages/insomnia-inso/src/db/__fixtures__/git-repo/.insomnia/RequestGroup/fld_wrk_012d4860c7da418a85ffea7406e1292a30baa249.yml @@ -1,10 +1,10 @@ _id: fld_wrk_012d4860c7da418a85ffea7406e1292a30baa249 -created: 1592254074765 +created: 1593669324883 description: "" environment: {} environmentPropertyOrder: null -metaSortKey: -1592254074765 -modified: 1592254074765 +metaSortKey: -1593669324883 +modified: 1593669699114 name: Folder parentId: wrk_012d4860c7da418a85ffea7406e1292a type: RequestGroup diff --git a/packages/insomnia-inso/src/db/__fixtures__/git-repo/.insomnia/UnitTest/ut_6b214a8cd07046f2a8f43237ca913c73.yml b/packages/insomnia-inso/src/db/__fixtures__/git-repo/.insomnia/UnitTest/ut_6b214a8cd07046f2a8f43237ca913c73.yml new file mode 100755 index 0000000000..bf9d29a867 --- /dev/null +++ b/packages/insomnia-inso/src/db/__fixtures__/git-repo/.insomnia/UnitTest/ut_6b214a8cd07046f2a8f43237ca913c73.yml @@ -0,0 +1,8 @@ +_id: ut_6b214a8cd07046f2a8f43237ca913c73 +code: expect(insomnia.activeRequestId).to.equal('req_wrk_012d4860c7da418a85ffea7406e1292a21946b60') +created: 1593668846292 +modified: 1593669592203 +name: Expect active request to be set +parentId: uts_fe901c6565044f00aa620d3fe47f443f +requestId: req_wrk_012d4860c7da418a85ffea7406e1292a21946b60 +type: UnitTest diff --git a/packages/insomnia-inso/src/db/__fixtures__/git-repo/.insomnia/UnitTest/ut_8c0c020fb9e341c2a3162e723445faf1.yml b/packages/insomnia-inso/src/db/__fixtures__/git-repo/.insomnia/UnitTest/ut_8c0c020fb9e341c2a3162e723445faf1.yml new file mode 100755 index 0000000000..0a7a7fc54b --- /dev/null +++ b/packages/insomnia-inso/src/db/__fixtures__/git-repo/.insomnia/UnitTest/ut_8c0c020fb9e341c2a3162e723445faf1.yml @@ -0,0 +1,8 @@ +_id: ut_8c0c020fb9e341c2a3162e723445faf1 +code: expect(1+1).to.equal(2); +created: 1593668670236 +modified: 1593668678950 +name: One plus one is two +parentId: uts_fe901c6565044f00aa620d3fe47f443f +requestId: null +type: UnitTest diff --git a/packages/insomnia-inso/src/db/__fixtures__/git-repo/.insomnia/UnitTest/ut_8fc42ec7f82a45d09e691ddfe212fd85.yml b/packages/insomnia-inso/src/db/__fixtures__/git-repo/.insomnia/UnitTest/ut_8fc42ec7f82a45d09e691ddfe212fd85.yml new file mode 100755 index 0000000000..8834aaaa33 --- /dev/null +++ b/packages/insomnia-inso/src/db/__fixtures__/git-repo/.insomnia/UnitTest/ut_8fc42ec7f82a45d09e691ddfe212fd85.yml @@ -0,0 +1,8 @@ +_id: ut_8fc42ec7f82a45d09e691ddfe212fd85 +code: expect(true).not.to.equal(true); +created: 1593668581197 +modified: 1593669248598 +name: Test should fail +parentId: uts_7f0f85548b0147f4ba6b5e442d137613 +requestId: null +type: UnitTest diff --git a/packages/insomnia-inso/src/db/__fixtures__/git-repo/.insomnia/UnitTest/ut_97a197104e83454ebf5f4e0dc0ba4bc6.yml b/packages/insomnia-inso/src/db/__fixtures__/git-repo/.insomnia/UnitTest/ut_97a197104e83454ebf5f4e0dc0ba4bc6.yml new file mode 100755 index 0000000000..a1f2606080 --- /dev/null +++ b/packages/insomnia-inso/src/db/__fixtures__/git-repo/.insomnia/UnitTest/ut_97a197104e83454ebf5f4e0dc0ba4bc6.yml @@ -0,0 +1,8 @@ +_id: ut_97a197104e83454ebf5f4e0dc0ba4bc6 +code: expect(true).to.equal(true); +created: 1593668468718 +modified: 1593669244289 +name: Test should succeed +parentId: uts_7f0f85548b0147f4ba6b5e442d137613 +requestId: null +type: UnitTest diff --git a/packages/insomnia-inso/src/db/__fixtures__/git-repo/.insomnia/UnitTestSuite/uts_7f0f85548b0147f4ba6b5e442d137613.yml b/packages/insomnia-inso/src/db/__fixtures__/git-repo/.insomnia/UnitTestSuite/uts_7f0f85548b0147f4ba6b5e442d137613.yml new file mode 100755 index 0000000000..02f97115ce --- /dev/null +++ b/packages/insomnia-inso/src/db/__fixtures__/git-repo/.insomnia/UnitTestSuite/uts_7f0f85548b0147f4ba6b5e442d137613.yml @@ -0,0 +1,6 @@ +_id: uts_7f0f85548b0147f4ba6b5e442d137613 +created: 1593668430232 +modified: 1593669651173 +name: A test suite +parentId: wrk_012d4860c7da418a85ffea7406e1292a +type: UnitTestSuite diff --git a/packages/insomnia-inso/src/db/__fixtures__/git-repo/.insomnia/UnitTestSuite/uts_fe901c6565044f00aa620d3fe47f443f.yml b/packages/insomnia-inso/src/db/__fixtures__/git-repo/.insomnia/UnitTestSuite/uts_fe901c6565044f00aa620d3fe47f443f.yml new file mode 100755 index 0000000000..5ad352aae1 --- /dev/null +++ b/packages/insomnia-inso/src/db/__fixtures__/git-repo/.insomnia/UnitTestSuite/uts_fe901c6565044f00aa620d3fe47f443f.yml @@ -0,0 +1,6 @@ +_id: uts_fe901c6565044f00aa620d3fe47f443f +created: 1593668662131 +modified: 1593668662131 +name: Another suite +parentId: wrk_012d4860c7da418a85ffea7406e1292a +type: UnitTestSuite diff --git a/packages/insomnia-inso/src/db/__fixtures__/git-repo/.insomnia/Workspace/wrk_012d4860c7da418a85ffea7406e1292a.yml b/packages/insomnia-inso/src/db/__fixtures__/git-repo/.insomnia/Workspace/wrk_012d4860c7da418a85ffea7406e1292a.yml index b54ee1cd5f..869d148aad 100755 --- a/packages/insomnia-inso/src/db/__fixtures__/git-repo/.insomnia/Workspace/wrk_012d4860c7da418a85ffea7406e1292a.yml +++ b/packages/insomnia-inso/src/db/__fixtures__/git-repo/.insomnia/Workspace/wrk_012d4860c7da418a85ffea7406e1292a.yml @@ -1,8 +1,8 @@ _id: wrk_012d4860c7da418a85ffea7406e1292a created: 1589851906270 description: "" -modified: 1592254074771 -name: Global Security 1.2 +modified: 1593669699121 +name: Sample Spec 1.2 parentId: null scope: spec type: Workspace diff --git a/packages/insomnia-inso/src/db/__fixtures__/nedb/insomnia.ApiSpec.db b/packages/insomnia-inso/src/db/__fixtures__/nedb/insomnia.ApiSpec.db index 8767883236..d591aaf40a 100644 --- a/packages/insomnia-inso/src/db/__fixtures__/nedb/insomnia.ApiSpec.db +++ b/packages/insomnia-inso/src/db/__fixtures__/nedb/insomnia.ApiSpec.db @@ -1,2 +1,2 @@ -{"_id":"spc_46c5a4a40e83445a9bd9d9758b86c16c","type":"ApiSpec","parentId":"wrk_012d4860c7da418a85ffea7406e1292a","modified":1593115261448,"created":1589851906273,"fileName":"Global Security","contents":"openapi: '3.0.2'\ninfo:\n title: Global Security\n version: '1.2'\nservers:\n - url: https://api.server.test/v1\ntags:\n - name: Folder\n\npaths:\n /global:\n get:\n tags:\n - Folder\n responses:\n '200':\n description: OK\n /override:\n get:\n security:\n - Key-Query: []\n responses:\n '200':\n description: OK\n","contentType":"yaml"} -{"_id":"spc_be9dcae4b7cd415d9c84485ebca7aa34","type":"ApiSpec","parentId":"wrk_fa232a1bfad44ed78754492995d8c949","modified":1593414279520,"created":1593412428545,"fileName":"tsttestst","contents":"openapi: '3.0.2'\ninfo:\n title: Global Security\n version: '1.2'\nservers:\n - url: https://api.server.test/v1\ntags:\n - name: Folder\n\npaths:\n /global:\n get:\n tags:\n - Folder\n responses:\n '200':\n description: OK\n /override:\n get:\n security:\n - Key-Query: []\n responses:\n '200':\n description: OK\n","contentType":"yaml"} +{"_id":"spc_46c5a4a40e83445a9bd9d9758b86c16c","type":"ApiSpec","parentId":"wrk_012d4860c7da418a85ffea7406e1292a","modified":1593669699123,"created":1589851906273,"fileName":"Sample Specification","contents":"openapi: '3.0.2'\ninfo:\n title: Sample Spec\n version: '1.2'\nservers:\n - url: https://200.insomnia.rest\ntags:\n - name: Folder\npaths:\n /global:\n get:\n tags:\n - Folder\n responses:\n '200':\n description: OK\n /override:\n get:\n responses:\n '200':\n description: OK\n","contentType":"yaml"} +{"_id":"spc_c21a60dc02eb4c44a0817046c2b06499","type":"ApiSpec","parentId":"wrk_0b96eff84c1c4eaa9c6e67ad74bbc85b","modified":1593670005359,"created":1593670005359,"fileName":"Insomnia Designer","contents":"","contentType":"yaml"} diff --git a/packages/insomnia-inso/src/db/__fixtures__/nedb/insomnia.Environment.db b/packages/insomnia-inso/src/db/__fixtures__/nedb/insomnia.Environment.db index c6274c3e00..d1b7266f0c 100644 --- a/packages/insomnia-inso/src/db/__fixtures__/nedb/insomnia.Environment.db +++ b/packages/insomnia-inso/src/db/__fixtures__/nedb/insomnia.Environment.db @@ -1,4 +1,3 @@ -{"_id":"env_856e3d37128142beb6bc265c5f03cd28","type":"Environment","parentId":"wrk_fa232a1bfad44ed78754492995d8c949","modified":1593412428539,"created":1593412428539,"name":"Base environment","data":{"base_url":"{{ scheme }}://{{ host }}{{ base_path }}"},"dataPropertyOrder":{"&":["base_url"]},"color":null,"isPrivate":false,"metaSortKey":1589851906358} -{"_id":"env_bd596b55333b46a09cd20de91b2a4356","type":"Environment","parentId":"env_856e3d37128142beb6bc265c5f03cd28","modified":1593412428540,"created":1593412428540,"name":"OpenAPI env","data":{"base_path":"/v1","host":"api.server.test","scheme":"https"},"dataPropertyOrder":null,"color":null,"isPrivate":false,"metaSortKey":1592252904087} -{"_id":"env_ca046a738f001eb3090261a537b1b78f86c2094c","type":"Environment","parentId":"wrk_012d4860c7da418a85ffea7406e1292a","modified":1593115261445,"created":1589851906358,"name":"Base environment","data":{"base_url":"{{ scheme }}://{{ host }}{{ base_path }}"},"dataPropertyOrder":{"&":["base_url"]},"color":null,"isPrivate":false,"metaSortKey":1589851906358} -{"_id":"env_env_ca046a738f001eb3090261a537b1b78f86c2094c_sub","type":"Environment","parentId":"env_ca046a738f001eb3090261a537b1b78f86c2094c","modified":1593115261442,"created":1592252904087,"name":"OpenAPI env","data":{"base_path":"/v1","host":"api.server.test","scheme":"https"},"dataPropertyOrder":null,"color":null,"isPrivate":false,"metaSortKey":1592252904087} +{"_id":"env_8ec3efddba99277cc6df1bcc5b7afc7a06dc077f","type":"Environment","parentId":"wrk_0b96eff84c1c4eaa9c6e67ad74bbc85b","modified":1593670005431,"created":1593670005431,"name":"Base Environment","data":{},"dataPropertyOrder":null,"color":null,"isPrivate":false,"metaSortKey":1593670005431} +{"_id":"env_ca046a738f001eb3090261a537b1b78f86c2094c","type":"Environment","parentId":"wrk_012d4860c7da418a85ffea7406e1292a","modified":1593669699118,"created":1589851906358,"name":"Base environment","data":{"base_url":"{{ scheme }}://{{ host }}{{ base_path }}"},"dataPropertyOrder":{"&":["base_url"]},"color":null,"isPrivate":false,"metaSortKey":1589851906358} +{"_id":"env_env_ca046a738f001eb3090261a537b1b78f86c2094c_sub","type":"Environment","parentId":"env_ca046a738f001eb3090261a537b1b78f86c2094c","modified":1593669699117,"created":1592252904087,"name":"OpenAPI env","data":{"base_path":"","host":"200.insomnia.rest","scheme":"https"},"dataPropertyOrder":null,"color":null,"isPrivate":false,"metaSortKey":1592252904087} diff --git a/packages/insomnia-inso/src/db/__fixtures__/nedb/insomnia.Request.db b/packages/insomnia-inso/src/db/__fixtures__/nedb/insomnia.Request.db index 08f11efda0..56336bbdf5 100644 --- a/packages/insomnia-inso/src/db/__fixtures__/nedb/insomnia.Request.db +++ b/packages/insomnia-inso/src/db/__fixtures__/nedb/insomnia.Request.db @@ -1,4 +1,2 @@ -{"_id":"req_8849726d76e048708f410c493ba51266","type":"Request","parentId":"fld_6aec31470aca4243b6a82b75e1e4c806","modified":1593412428547,"created":1593412428547,"url":"{{ base_url }}/global","name":"/global","description":"","method":"GET","body":{},"parameters":[],"headers":[],"authentication":{},"metaSortKey":-1592254074764,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global"} -{"_id":"req_c1913490d4f043c6a4e29c1e27eb82d6","type":"Request","parentId":"wrk_fa232a1bfad44ed78754492995d8c949","modified":1593412428549,"created":1593412428549,"url":"{{ base_url }}/override","name":"/override","description":"","method":"GET","body":{},"parameters":[],"headers":[],"authentication":{},"metaSortKey":-1592254074762,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global"} -{"_id":"req_wrk_012d4860c7da418a85ffea7406e1292a21946b60","type":"Request","parentId":"fld_wrk_012d4860c7da418a85ffea7406e1292a30baa249","modified":1593115261438,"created":1592254074764,"url":"{{ base_url }}/global","name":"/global","description":"","method":"GET","body":{},"parameters":[],"headers":[],"authentication":{},"metaSortKey":-1592254074764,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global"} -{"_id":"req_wrk_012d4860c7da418a85ffea7406e1292ab410454b","type":"Request","parentId":"wrk_012d4860c7da418a85ffea7406e1292a","modified":1593115261435,"created":1592254074762,"url":"{{ base_url }}/override","name":"/override","description":"","method":"GET","body":{},"parameters":[],"headers":[],"authentication":{},"metaSortKey":-1592254074762,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global"} +{"_id":"req_wrk_012d4860c7da418a85ffea7406e1292a21946b60","type":"Request","parentId":"fld_wrk_012d4860c7da418a85ffea7406e1292a30baa249","modified":1593669699112,"created":1593669324881,"url":"{{ base_url }}/global","name":"/global","description":"","method":"GET","body":{},"parameters":[],"headers":[],"authentication":{},"metaSortKey":-1593669324881,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global"} +{"_id":"req_wrk_012d4860c7da418a85ffea7406e1292ab410454b","type":"Request","parentId":"wrk_012d4860c7da418a85ffea7406e1292a","modified":1593669699110,"created":1593669324879,"url":"{{ base_url }}/override","name":"/override","description":"","method":"GET","body":{},"parameters":[],"headers":[],"authentication":{},"metaSortKey":-1593669324879,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global"} diff --git a/packages/insomnia-inso/src/db/__fixtures__/nedb/insomnia.RequestGroup.db b/packages/insomnia-inso/src/db/__fixtures__/nedb/insomnia.RequestGroup.db index c182765e39..62fff7cf05 100644 --- a/packages/insomnia-inso/src/db/__fixtures__/nedb/insomnia.RequestGroup.db +++ b/packages/insomnia-inso/src/db/__fixtures__/nedb/insomnia.RequestGroup.db @@ -1,2 +1 @@ -{"_id":"fld_6aec31470aca4243b6a82b75e1e4c806","type":"RequestGroup","parentId":"wrk_fa232a1bfad44ed78754492995d8c949","modified":1593412428546,"created":1593412428546,"name":"Folder","description":"","environment":{},"environmentPropertyOrder":null,"metaSortKey":-1592254074765} -{"_id":"fld_wrk_012d4860c7da418a85ffea7406e1292a30baa249","type":"RequestGroup","parentId":"wrk_012d4860c7da418a85ffea7406e1292a","modified":1593115261439,"created":1592254074765,"name":"Folder","description":"","environment":{},"environmentPropertyOrder":null,"metaSortKey":-1592254074765} +{"_id":"fld_wrk_012d4860c7da418a85ffea7406e1292a30baa249","type":"RequestGroup","parentId":"wrk_012d4860c7da418a85ffea7406e1292a","modified":1593669699114,"created":1593669324883,"name":"Folder","description":"","environment":{},"environmentPropertyOrder":null,"metaSortKey":-1593669324883} diff --git a/packages/insomnia-inso/src/db/__fixtures__/nedb/insomnia.UnitTest.db b/packages/insomnia-inso/src/db/__fixtures__/nedb/insomnia.UnitTest.db new file mode 100644 index 0000000000..c00f8ab7a2 --- /dev/null +++ b/packages/insomnia-inso/src/db/__fixtures__/nedb/insomnia.UnitTest.db @@ -0,0 +1,4 @@ +{"_id":"ut_6b214a8cd07046f2a8f43237ca913c73","type":"UnitTest","parentId":"uts_fe901c6565044f00aa620d3fe47f443f","modified":1593669592203,"created":1593668846292,"requestId":"req_wrk_012d4860c7da418a85ffea7406e1292a21946b60","name":"Expect active request to be set","code":"expect(insomnia.activeRequestId).to.equal('req_wrk_012d4860c7da418a85ffea7406e1292a21946b60')"} +{"_id":"ut_8c0c020fb9e341c2a3162e723445faf1","type":"UnitTest","parentId":"uts_fe901c6565044f00aa620d3fe47f443f","modified":1593668678950,"created":1593668670236,"requestId":null,"name":"One plus one is two","code":"expect(1+1).to.equal(2);"} +{"_id":"ut_8fc42ec7f82a45d09e691ddfe212fd85","type":"UnitTest","parentId":"uts_7f0f85548b0147f4ba6b5e442d137613","modified":1593669248598,"created":1593668581197,"requestId":null,"name":"Test should fail","code":"expect(true).not.to.equal(true);"} +{"_id":"ut_97a197104e83454ebf5f4e0dc0ba4bc6","type":"UnitTest","parentId":"uts_7f0f85548b0147f4ba6b5e442d137613","modified":1593669244289,"created":1593668468718,"requestId":null,"name":"Test should succeed","code":"expect(true).to.equal(true);"} diff --git a/packages/insomnia-inso/src/db/__fixtures__/nedb/insomnia.UnitTestSuite.db b/packages/insomnia-inso/src/db/__fixtures__/nedb/insomnia.UnitTestSuite.db new file mode 100644 index 0000000000..0869bdcddb --- /dev/null +++ b/packages/insomnia-inso/src/db/__fixtures__/nedb/insomnia.UnitTestSuite.db @@ -0,0 +1,2 @@ +{"_id":"uts_7f0f85548b0147f4ba6b5e442d137613","type":"UnitTestSuite","parentId":"wrk_012d4860c7da418a85ffea7406e1292a","modified":1593669651173,"created":1593668430232,"name":"A test suite"} +{"_id":"uts_fe901c6565044f00aa620d3fe47f443f","type":"UnitTestSuite","parentId":"wrk_012d4860c7da418a85ffea7406e1292a","modified":1593668662131,"created":1593668662131,"name":"Another suite"} diff --git a/packages/insomnia-inso/src/db/__fixtures__/nedb/insomnia.Workspace.db b/packages/insomnia-inso/src/db/__fixtures__/nedb/insomnia.Workspace.db index 9cfbfe8fe3..c5ea29ea91 100644 --- a/packages/insomnia-inso/src/db/__fixtures__/nedb/insomnia.Workspace.db +++ b/packages/insomnia-inso/src/db/__fixtures__/nedb/insomnia.Workspace.db @@ -1,2 +1,2 @@ -{"_id":"wrk_012d4860c7da418a85ffea7406e1292a","type":"Workspace","parentId":null,"modified":1593115261446,"created":1589851906270,"name":"Global Security 1.2","description":"","scope":"spec"} -{"_id":"wrk_fa232a1bfad44ed78754492995d8c949","created":1593412428537,"description":"","modified":1593412428537,"name":"tsttestst","parentId":null,"scope":"spec","type":"Workspace"} +{"_id":"wrk_012d4860c7da418a85ffea7406e1292a","type":"Workspace","parentId":null,"modified":1593669699121,"created":1589851906270,"name":"Sample Spec 1.2","description":"","scope":"spec"} +{"_id":"wrk_0b96eff84c1c4eaa9c6e67ad74bbc85b","type":"Workspace","parentId":null,"modified":1593670005357,"created":1593670005357,"name":"Insomnia Designer","description":"","scope":"spec"} diff --git a/packages/insomnia-inso/src/db/adapters/__tests__/git-adapter.test.js b/packages/insomnia-inso/src/db/adapters/__tests__/git-adapter.test.js index 2d6d86148f..e2df036cf8 100644 --- a/packages/insomnia-inso/src/db/adapters/__tests__/git-adapter.test.js +++ b/packages/insomnia-inso/src/db/adapters/__tests__/git-adapter.test.js @@ -14,6 +14,8 @@ describe('gitAdapter()', () => { expect(db?.Request.length).toBe(2); expect(db?.RequestGroup.length).toBe(1); expect(db?.Workspace.length).toBe(1); + expect(db?.UnitTestSuite.length).toBe(2); + expect(db?.UnitTest.length).toBe(4); }); it('should seed with git-repo directory with filter', async () => { @@ -25,6 +27,8 @@ describe('gitAdapter()', () => { expect(db?.Request.length).toBe(0); expect(db?.RequestGroup.length).toBe(0); expect(db?.Workspace.length).toBe(0); + expect(db?.UnitTestSuite.length).toBe(0); + expect(db?.UnitTest.length).toBe(0); }); it('should return null if data directory is invalid', async () => { diff --git a/packages/insomnia-inso/src/db/adapters/__tests__/ne-db-adapter.test.js b/packages/insomnia-inso/src/db/adapters/__tests__/ne-db-adapter.test.js index 9cd3392382..4a645f3dac 100644 --- a/packages/insomnia-inso/src/db/adapters/__tests__/ne-db-adapter.test.js +++ b/packages/insomnia-inso/src/db/adapters/__tests__/ne-db-adapter.test.js @@ -10,10 +10,12 @@ describe('neDbAdapter()', () => { const db = await neDbAdapter(workingDir); expect(db?.ApiSpec.length).toBe(2); - expect(db?.Environment.length).toBe(4); - expect(db?.Request.length).toBe(4); - expect(db?.RequestGroup.length).toBe(2); + expect(db?.Environment.length).toBe(3); + expect(db?.Request.length).toBe(2); + expect(db?.RequestGroup.length).toBe(1); expect(db?.Workspace.length).toBe(2); + expect(db?.UnitTestSuite.length).toBe(2); + expect(db?.UnitTest.length).toBe(4); }); it('should seed with nedb directory with filter', async () => { @@ -21,10 +23,12 @@ describe('neDbAdapter()', () => { const db = await neDbAdapter(workingDir, ['Environment']); expect(db?.ApiSpec.length).toBe(0); - expect(db?.Environment.length).toBe(4); + expect(db?.Environment.length).toBe(3); expect(db?.Request.length).toBe(0); expect(db?.RequestGroup.length).toBe(0); expect(db?.Workspace.length).toBe(0); + expect(db?.UnitTestSuite.length).toBe(0); + expect(db?.UnitTest.length).toBe(0); }); it('should return null if data directory is invalid', async () => { diff --git a/packages/insomnia-inso/src/db/index.js b/packages/insomnia-inso/src/db/index.js index 14b4560220..44679407dc 100644 --- a/packages/insomnia-inso/src/db/index.js +++ b/packages/insomnia-inso/src/db/index.js @@ -1,26 +1,28 @@ // @flow -import type { ApiSpec, BaseModel } from './types'; +import type { ApiSpec, BaseModel, Environment, UnitTest, UnitTestSuite, Workspace } from './types'; import envPaths from 'env-paths'; import gitAdapter from './adapters/git-adapter'; import neDbAdapter from './adapters/ne-db-adapter'; export type Database = {| ApiSpec: Array, - Environment: Array, + Environment: Array, Request: Array, RequestGroup: Array, - Workspace: Array, + Workspace: Array, + UnitTestSuite: Array, + UnitTest: Array, |}; -export function emptyDb(): Database { - return { - ApiSpec: [], - Environment: [], - Request: [], - RequestGroup: [], - Workspace: [], - }; -} +export const emptyDb = (): Database => ({ + ApiSpec: [], + Environment: [], + Request: [], + RequestGroup: [], + Workspace: [], + UnitTest: [], + UnitTestSuite: [], +}); export type DbAdapter = ( dir: string, @@ -33,11 +35,11 @@ type Options = { filterTypes?: Array<$Keys>, }; -export async function loadDb({ +export const loadDb = async ({ workingDir, appDataDir, filterTypes, -}: Options = {}): Promise { +}: Options = {}): Promise => { let db = null; // try load from git @@ -56,4 +58,4 @@ export async function loadDb({ // return empty db return db || emptyDb(); -} +}; diff --git a/packages/insomnia-inso/src/db/types.js b/packages/insomnia-inso/src/db/types.js index f22de95b07..85683946f4 100644 --- a/packages/insomnia-inso/src/db/types.js +++ b/packages/insomnia-inso/src/db/types.js @@ -15,3 +15,31 @@ type BaseApiSpec = { }; export type ApiSpec = BaseModel & BaseApiSpec; + +type BaseUnitTestSuite = { + name: string, +}; + +export type UnitTestSuite = BaseModel & BaseUnitTestSuite; + +type BaseUnitTest = { + name: string, + code: string, + requestId: string | null, +}; + +export type UnitTest = BaseModel & BaseUnitTest; + +type BaseEnvironment = { + name: string, + metaSortKey: number, +}; + +export type Environment = BaseModel & BaseEnvironment; + +type BaseWorkspace = { + name: string, + description: string, +}; + +export type Workspace = BaseModel & BaseWorkspace;