Tech Stack | Unit Testing | API Testing | API Docs | Continuous Integration | Monitoring | Logging |
---|
Quii is built with:
- Go
- Echo
- Redis
- GORM
- Mockery
- Testify
- Insomnia
- GitHub Actions
- Prometheus
- Grafana
- Loki
- Promtail
- Zap
- Lumberjack
Tests through mocks generated by Mockery:
=== RUN TestCreateProject
=== RUN TestCreateProject/Valid_Project_Creation
=== RUN TestCreateProject/Invalid_Project_Creation
--- PASS: TestCreateProject (0.00s)
--- PASS: TestCreateProject/Valid_Project_Creation (0.00s)
--- PASS: TestCreateProject/Invalid_Project_Creation (0.00s)
=== RUN TestGetProjects
=== RUN TestGetProjects/Get_Projects
--- PASS: TestGetProjects (0.00s)
--- PASS: TestGetProjects/Get_Projects (0.00s)
=== RUN TestGetProjectByID
=== RUN TestGetProjectByID/Valid_Get_Project_by_Name
=== RUN TestGetProjectByID/Invalid_Get_Project_by_Name
--- PASS: TestGetProjectByID (0.00s)
--- PASS: TestGetProjectByID/Valid_Get_Project_by_Name (0.00s)
--- PASS: TestGetProjectByID/Invalid_Get_Project_by_Name (0.00s)
PASS
ok github.com/burntcarrot/quii/entity/project 0.004s
? github.com/burntcarrot/quii/entity/project/mocks [no test files]
=== RUN TestCreateTask
=== RUN TestCreateTask/Valid_Task_Creation
=== RUN TestCreateTask/Invalid_Task_Creation
--- PASS: TestCreateTask (0.00s)
--- PASS: TestCreateTask/Valid_Task_Creation (0.00s)
--- PASS: TestCreateTask/Invalid_Task_Creation (0.00s)
=== RUN TestGetTasks
=== RUN TestGetTasks/Get_Tasks
--- PASS: TestGetTasks (0.00s)
--- PASS: TestGetTasks/Get_Tasks (0.00s)
=== RUN TestGetTaskByName
=== RUN TestGetTaskByName/Valid_Get_Task_by_Name
=== RUN TestGetTaskByName/Invalid_Get_Task_by_Name
--- PASS: TestGetTaskByName (0.00s)
--- PASS: TestGetTaskByName/Valid_Get_Task_by_Name (0.00s)
--- PASS: TestGetTaskByName/Invalid_Get_Task_by_Name (0.00s)
PASS
ok github.com/burntcarrot/quii/entity/task (cached)
? github.com/burntcarrot/quii/entity/task/mocks [no test files]
=== RUN TestLogin
=== RUN TestLogin/Valid_Login
=== RUN TestLogin/Invalid_Login_(Empty_Email)
=== RUN TestLogin/Invalid_Login_(Empty_Password)
--- PASS: TestLogin (0.00s)
--- PASS: TestLogin/Valid_Login (0.00s)
--- PASS: TestLogin/Invalid_Login_(Empty_Email) (0.00s)
--- PASS: TestLogin/Invalid_Login_(Empty_Password) (0.00s)
=== RUN TestRegister
=== RUN TestRegister/Valid_Register
=== RUN TestRegister/Invalid_Register
--- PASS: TestRegister (0.00s)
--- PASS: TestRegister/Valid_Register (0.00s)
--- PASS: TestRegister/Invalid_Register (0.00s)
=== RUN TestGetByName
=== RUN TestGetByName/Get_user_by_Name
--- PASS: TestGetByName (0.00s)
--- PASS: TestGetByName/Get_user_by_Name (0.00s)
PASS
API Tests can be run through Inso:
inso run test
Powered by Insomnia and GitHub Pages: https://burntcarrot.github.io/quii
Quii uses Github Actions for running multiple workflows, like:
- Automated Testing
- Lint Checks
- Automatic API Documentation deployment (see API Docs)
Quii exports metrics through Prometheus, which are then utilized by Grafana for visualization:
Quii exports logs through zap and lumberjack, which is then used by promtail and Loki: