mirror of
				https://github.com/zadam/trilium.git
				synced 2025-10-31 10:26:08 +01:00 
			
		
		
		
	more tests
This commit is contained in:
		| @@ -15,13 +15,15 @@ | |||||||
|   "scripts": { |   "scripts": { | ||||||
|     "start-server": "cross-env TRILIUM_SAFE_MODE=1 TRILIUM_DATA_DIR=./data TRILIUM_ENV=dev TRILIUM_SYNC_SERVER_HOST=http://tsyncserver:4000 nodemon ./src/www", |     "start-server": "cross-env TRILIUM_SAFE_MODE=1 TRILIUM_DATA_DIR=./data TRILIUM_ENV=dev TRILIUM_SYNC_SERVER_HOST=http://tsyncserver:4000 nodemon ./src/www", | ||||||
|     "start-server-no-dir": "cross-env TRILIUM_SAFE_MODE=1 TRILIUM_ENV=dev TRILIUM_SYNC_SERVER_HOST=http://tsyncserver:4000 nodemon ./src/www", |     "start-server-no-dir": "cross-env TRILIUM_SAFE_MODE=1 TRILIUM_ENV=dev TRILIUM_SYNC_SERVER_HOST=http://tsyncserver:4000 nodemon ./src/www", | ||||||
|     "qstart-server": "rm -r ./node_modules/better-sqlite3/bin ; mkdir -p ./node_modules/better-sqlite3/build ; cp ./bin/better-sqlite3/linux-server-better_sqlite3.node ./node_modules/better-sqlite3/build/better_sqlite3.node && TRILIUM_SAFE_MODE=1 TRILIUM_DATA_DIR=./data TRILIUM_ENV=dev TRILIUM_SYNC_SERVER_HOST=http://tsyncserver:4000 nodemon ./src/www", |     "qstart-server": "npm run qswitch-server && TRILIUM_SAFE_MODE=1 TRILIUM_DATA_DIR=./data TRILIUM_ENV=dev TRILIUM_SYNC_SERVER_HOST=http://tsyncserver:4000 nodemon ./src/www", | ||||||
|     "start-electron": "cross-env TRILIUM_SAFE_MODE=1 TRILIUM_DATA_DIR=./data TRILIUM_SYNC_SERVER_HOST=http://tsyncserver:4000 TRILIUM_ENV=dev electron --inspect=5858 .", |     "start-electron": "cross-env TRILIUM_SAFE_MODE=1 TRILIUM_DATA_DIR=./data TRILIUM_SYNC_SERVER_HOST=http://tsyncserver:4000 TRILIUM_ENV=dev electron --inspect=5858 .", | ||||||
|     "start-electron-no-dir": "cross-env TRILIUM_SAFE_MODE=1 TRILIUM_ENV=dev TRILIUM_SYNC_SERVER_HOST=http://tsyncserver:4000 electron --inspect=5858 .", |     "start-electron-no-dir": "cross-env TRILIUM_SAFE_MODE=1 TRILIUM_ENV=dev TRILIUM_SYNC_SERVER_HOST=http://tsyncserver:4000 electron --inspect=5858 .", | ||||||
|     "qstart-electron": "rm -r ./node_modules/better-sqlite3/bin ; mkdir -p ./node_modules/better-sqlite3/build ; cp ./bin/better-sqlite3/linux-desktop-better_sqlite3.node ./node_modules/better-sqlite3/build/better_sqlite3.node && TRILIUM_SAFE_MODE=1 TRILIUM_DATA_DIR=./data TRILIUM_SYNC_SERVER_HOST=http://tsyncserver:4000 TRILIUM_ENV=dev electron --inspect=5858 .", |     "qstart-electron": "npm run qswitch-electron && TRILIUM_SAFE_MODE=1 TRILIUM_DATA_DIR=./data TRILIUM_SYNC_SERVER_HOST=http://tsyncserver:4000 TRILIUM_ENV=dev electron --inspect=5858 .", | ||||||
|     "start-test-server": "rm -rf ./data-test; cross-env TRILIUM_SAFE_MODE=1 TRILIUM_DATA_DIR=./data-test TRILIUM_SYNC_SERVER_HOST=http://tsyncserver:4000 TRILIUM_ENV=dev TRILIUM_PORT=9999 node ./src/www", |     "start-test-server": "npm run qswitch-server; rm -rf ./data-test; cross-env TRILIUM_SAFE_MODE=1 TRILIUM_DATA_DIR=./data-test TRILIUM_SYNC_SERVER_HOST=http://tsyncserver:4000 TRILIUM_ENV=dev TRILIUM_PORT=9999 node ./src/www", | ||||||
|     "switch-server": "rm -rf ./node_modules/better-sqlite3 && npm install", |     "switch-server": "rm -rf ./node_modules/better-sqlite3 && npm install", | ||||||
|     "switch-electron": "./node_modules/.bin/electron-rebuild", |     "switch-electron": "./node_modules/.bin/electron-rebuild", | ||||||
|  |     "qswitch-server": "rm -rf ./node_modules/better-sqlite3/bin ; mkdir -p ./node_modules/better-sqlite3/build ; cp ./bin/better-sqlite3/linux-server-better_sqlite3.node ./node_modules/better-sqlite3/build/better_sqlite3.node", | ||||||
|  |     "qswitch-electron": "rm -rf ./node_modules/better-sqlite3/bin ; mkdir -p ./node_modules/better-sqlite3/build ; cp ./bin/better-sqlite3/linux-desktop-better_sqlite3.node ./node_modules/better-sqlite3/build/better_sqlite3.node", | ||||||
|     "build-backend-docs": "rm -rf ./docs/backend_api && ./node_modules/.bin/jsdoc -c jsdoc-conf.json -d ./docs/backend_api src/becca/entities/*.js src/services/backend_script_api.js src/services/sql.js", |     "build-backend-docs": "rm -rf ./docs/backend_api && ./node_modules/.bin/jsdoc -c jsdoc-conf.json -d ./docs/backend_api src/becca/entities/*.js src/services/backend_script_api.js src/services/sql.js", | ||||||
|     "build-frontend-docs": "rm -rf ./docs/frontend_api && ./node_modules/.bin/jsdoc -c jsdoc-conf.json -d ./docs/frontend_api src/public/app/entities/*.js src/public/app/services/frontend_script_api.js src/public/app/widgets/basic_widget.js src/public/app/widgets/note_context_aware_widget.js src/public/app/widgets/right_panel_widget.js", |     "build-frontend-docs": "rm -rf ./docs/frontend_api && ./node_modules/.bin/jsdoc -c jsdoc-conf.json -d ./docs/frontend_api src/public/app/entities/*.js src/public/app/services/frontend_script_api.js src/public/app/widgets/basic_widget.js src/public/app/widgets/note_context_aware_widget.js src/public/app/widgets/right_panel_widget.js", | ||||||
|     "build-docs": "npm run build-backend-docs && npm run build-frontend-docs", |     "build-docs": "npm run build-backend-docs && npm run build-frontend-docs", | ||||||
|   | |||||||
							
								
								
									
										12
									
								
								spec/etapi/app_info.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								spec/etapi/app_info.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,12 @@ | |||||||
|  | const { | ||||||
|  |     describeEtapi, postEtapi, | ||||||
|  |     putEtapiContent | ||||||
|  | } = require("../support/etapi"); | ||||||
|  | const {getEtapi} = require("../support/etapi.js"); | ||||||
|  |  | ||||||
|  | describeEtapi("app_info", () => { | ||||||
|  |     it("get", async () => { | ||||||
|  |         const appInfo = await getEtapi("app-info"); | ||||||
|  |         expect(appInfo.clipperProtocolVersion).toEqual("1.0"); | ||||||
|  |     }); | ||||||
|  | }); | ||||||
							
								
								
									
										12
									
								
								spec/etapi/backup.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								spec/etapi/backup.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,12 @@ | |||||||
|  | const { | ||||||
|  |     describeEtapi, postEtapi, | ||||||
|  |     getEtapi, | ||||||
|  | } = require("../support/etapi"); | ||||||
|  | const {putEtapiContent} = require("../support/etapi.js"); | ||||||
|  |  | ||||||
|  | describeEtapi("backup", () => { | ||||||
|  |     it("create", async () => { | ||||||
|  |         const response = await putEtapiContent("backup/etapi_test"); | ||||||
|  |         expect(response.status).toEqual(204); | ||||||
|  |     }); | ||||||
|  | }); | ||||||
							
								
								
									
										24
									
								
								spec/etapi/import.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								spec/etapi/import.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,24 @@ | |||||||
|  | const { | ||||||
|  |     describeEtapi, postEtapi, | ||||||
|  |     postEtapiContent, | ||||||
|  | } = require("../support/etapi"); | ||||||
|  | const fs = require("fs"); | ||||||
|  | const path = require("path"); | ||||||
|  | const {getEtapiContent} = require("../support/etapi.js"); | ||||||
|  |  | ||||||
|  | describeEtapi("import", () => { | ||||||
|  |     it("import", async () => { | ||||||
|  |         const zipFileBuffer = fs.readFileSync(path.resolve(__dirname, 'test-export.zip')); | ||||||
|  |  | ||||||
|  |         const response = await postEtapiContent("notes/root/import", zipFileBuffer); | ||||||
|  |         expect(response.status).toEqual(201); | ||||||
|  |  | ||||||
|  |         const {note, branch} = await response.json(); | ||||||
|  |  | ||||||
|  |         expect(note.title).toEqual("test-export"); | ||||||
|  |         expect(branch.parentNoteId).toEqual("root"); | ||||||
|  |  | ||||||
|  |         const content = await (await getEtapiContent(`notes/${note.noteId}/content`)).text(); | ||||||
|  |         expect(content).toContain("test export content"); | ||||||
|  |     }); | ||||||
|  | }); | ||||||
| @@ -1,6 +1,13 @@ | |||||||
| const {describeEtapi, postEtapi, getEtapi, getEtapiContent, patchEtapi, putEtapi, putEtapiContent} = require("../support/etapi"); |  | ||||||
| const crypto = require('crypto'); | const crypto = require('crypto'); | ||||||
| const {deleteEtapi, getEtapiResponse} = require("../support/etapi.js"); | const { | ||||||
|  |     deleteEtapi, | ||||||
|  |     getEtapiResponse, | ||||||
|  |     describeEtapi, postEtapi, | ||||||
|  |     getEtapi, | ||||||
|  |     getEtapiContent, | ||||||
|  |     patchEtapi, putEtapi, | ||||||
|  |     putEtapiContent | ||||||
|  | } = require("../support/etapi"); | ||||||
|  |  | ||||||
| describeEtapi("notes", () => { | describeEtapi("notes", () => { | ||||||
|     it("create", async () => { |     it("create", async () => { | ||||||
|   | |||||||
| @@ -90,6 +90,21 @@ async function postEtapi(url, data = {}) { | |||||||
|     return await processEtapiResponse(response); |     return await processEtapiResponse(response); | ||||||
| } | } | ||||||
|  |  | ||||||
|  | async function postEtapiContent(url, data) { | ||||||
|  |     const response = await fetch(`${HOST}/etapi/${url}`, { | ||||||
|  |         method: 'POST', | ||||||
|  |         headers: { | ||||||
|  |             "Content-Type": "application/octet-stream", | ||||||
|  |             Authorization: getEtapiAuthorizationHeader() | ||||||
|  |         }, | ||||||
|  |         body: data | ||||||
|  |     }); | ||||||
|  |  | ||||||
|  |     checkStatus(response); | ||||||
|  |  | ||||||
|  |     return response; | ||||||
|  | } | ||||||
|  |  | ||||||
| async function putEtapi(url, data = {}) { | async function putEtapi(url, data = {}) { | ||||||
|     const response = await fetch(`${HOST}/etapi/${url}`, { |     const response = await fetch(`${HOST}/etapi/${url}`, { | ||||||
|         method: 'PUT', |         method: 'PUT', | ||||||
| @@ -113,6 +128,8 @@ async function putEtapiContent(url, data) { | |||||||
|     }); |     }); | ||||||
|  |  | ||||||
|     checkStatus(response); |     checkStatus(response); | ||||||
|  |  | ||||||
|  |     return response; | ||||||
| } | } | ||||||
|  |  | ||||||
| async function patchEtapi(url, data = {}) { | async function patchEtapi(url, data = {}) { | ||||||
| @@ -159,6 +176,7 @@ module.exports = { | |||||||
|     getEtapiResponse, |     getEtapiResponse, | ||||||
|     getEtapiContent, |     getEtapiContent, | ||||||
|     postEtapi, |     postEtapi, | ||||||
|  |     postEtapiContent, | ||||||
|     putEtapi, |     putEtapi, | ||||||
|     putEtapiContent, |     putEtapiContent, | ||||||
|     patchEtapi, |     patchEtapi, | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user