2.9 KiB
Naida test
***Permissions API
Permissions API implements a set of JSON end-points which allow other parts of a larger application to update and test user access (permissions) over a set of named objects.
The API deals with:
- a set of Named OBJECTS whose access permissions are being controlled,
- a set of USERNAMES which might have different types of permissions.
- a set of GROUPS that those users may be part of,
- a set of PERMISSIONS which specific users or groups of users might have over specific objects.
*API documentation
Complete API documentation (created with Postman) can be found on public URL: https://documenter.getpostman.com/view/9085921/SW14TwCX?version=latest
*Getting Started
Instructions for running API on your local machine for develoment and testing purposes.
*Prerequisited
Pull project folder from GitLab to your local machine: https://gitlab.com/saburly/testovi/naida
*Setting up database
Install PostgreSQL from official site if needed: https://www.postgresql.org/download/
Navigate to project folder. Open terminal and run script for creating a database. Before runing script change user to postgres.
$sudo su - postgres
$chmod +x dbscript.sh $sh dbscript.sh
In file permissions.js change password for user postgres and local host if needed: const db = knex ({ client: 'pg', connection: { host : '127.0.0.1', user : 'postgres', password : '0904', database : 'testdb' } });
*Installing dependencies
Check that package.json has listed dependencies: "dependencies": { "body-parser": "^1.19.0", "cors": "^2.8.5", "express": "^4.17.1", "express-validator": "^6.2.0", "knex": "^0.20.0", "pg": "^7.12.1", "chai": "^4.1.2", "chai-http": "4.2.1", "mocha": "^5.2.0", "mochawesome": "^3.0.2", "supertest": "^3.1.0", "tv4": "^1.3.0" }, "devDependencies": { "nodemon": "^1.19.4" } In terminal navigate to project folder and run: $npm install
This should install all needed dependencies (node modules).
*Start project
To run API on your local machine open terminal, navigate to project folder and run: $npm start
API is running on default localport 3000, for testing and development purposes.
*Running the test
For conducting script test, run in terminal: $npm test
*Built With
-Node.js, Express -PostgreSQL -Postman -Mocha
*Acknowledgments
Special thanks to authors of these excelent articles and repositories: -https://medium.com/@olotintemitope/how-to-generate-your-api-documentation-in-20-minutes-4e0072f08b94 -https://dev.to/nedsoft/a-clean-approach-to-using-express-validator-8go -https://medium.com/@shashiraja/convert-postman-api-tests-to-mocha-10705af6e37a -https://medium.com/@svsh227/write-your-first-test-case-in-your-node-app-using-mocha-5250e614feb3