Skip to content

Add JMeter test plan for Timesheet API with 17 transaction samplers#744

Open
devin-ai-integration[bot] wants to merge 1 commit into
mainfrom
devin/1778603115-jmeter-test-plan
Open

Add JMeter test plan for Timesheet API with 17 transaction samplers#744
devin-ai-integration[bot] wants to merge 1 commit into
mainfrom
devin/1778603115-jmeter-test-plan

Conversation

@devin-ai-integration
Copy link
Copy Markdown
Contributor

@devin-ai-integration devin-ai-integration Bot commented May 12, 2026

Summary

Adds a complete JMeter .jmx test plan at jmeter/timesheet_api_test.jmx that validates the full Timesheet API lifecycle with 17 HTTP request samplers, each wrapped in a Transaction Controller.

Test Plan: "Timesheet API - Single User Validation"

  • 1 thread, 1 loop, 0 ramp-up (functional validation mode)
  • Uses x-user-email header-based authentication (not JWT)
  • Self-cleaning: creates and deletes its own test data

17 Transactions Covered:

  1. 01_AUTH_Login — POST /api/auth/login
  2. 02_AUTH_GetCurrentUser — GET /api/auth/me
  3. 03_CLIENT_CreateClient — POST /api/clients
  4. 04_CLIENT_GetAllClients — GET /api/clients
  5. 05_CLIENT_GetClientById — GET /api/clients/{id}
  6. 06_CLIENT_UpdateClient — PUT /api/clients/{id}
  7. 07_WORKENTRY_CreateWorkEntry — POST /api/work-entries
  8. 08_WORKENTRY_GetAllWorkEntries — GET /api/work-entries
  9. 09_WORKENTRY_GetWorkEntriesByClient — GET /api/work-entries?clientId={id}
  10. 10_WORKENTRY_GetWorkEntryById — GET /api/work-entries/{id}
  11. 11_WORKENTRY_UpdateWorkEntry — PUT /api/work-entries/{id}
  12. 12_REPORT_GetClientReport — GET /api/reports/client/{id}
  13. 13_REPORT_ExportCSV — GET /api/reports/export/csv/{id}
  14. 14_REPORT_ExportPDF — GET /api/reports/export/pdf/{id}
  15. 15_WORKENTRY_DeleteWorkEntry — DELETE /api/work-entries/{id}
  16. 16_CLIENT_DeleteClientById — DELETE /api/clients/{id}
  17. 17_HEALTH_Check — GET /health

Test execution result: All 17 transactions passed with 100% success rate, 0% error rate, APDEX 1.000.

JMeter Dashboard Report

Files added:

  • jmeter/timesheet_api_test.jmx — The JMeter test plan
  • jmeter/README.md — Usage instructions, configuration reference, and run commands

Review & Testing Checklist for Human

  • Run the test plan locally: jmeter -n -t jmeter/timesheet_api_test.jmx -l jmeter/results.jtl -e -o jmeter/report (backend must be running on port 3001)
  • Verify all 17 transactions pass in the JMeter HTML report at jmeter/report/index.html
  • Review assertions match the current API contract (response codes, message strings)

Notes

  • The test plan uses configurable user-defined variables (USER_EMAIL, PROTOCOL, SERVER, PORT) that can be overridden at runtime via JMeter properties.
  • JSON Extractors correlate CLIENT_ID and WORK_ENTRY_ID across dependent requests.
  • Listeners included: View Results Tree, Summary Report, Aggregate Report.

Link to Devin session: https://partner-workshops.devinenterprise.com/sessions/5b6fe202482c4996928918303f0855f1


Open in Devin Review

- Test Plan: Timesheet API - Single User Validation
- 17 HTTP Request samplers wrapped in Transaction Controllers
- Covers auth, clients CRUD, work entries CRUD, reports (JSON/CSV/PDF), health check
- JSON Extractors for dynamic CLIENT_ID and WORK_ENTRY_ID correlation
- Response assertions for status codes and body content
- Listeners: View Results Tree, Summary Report, Aggregate Report
- README with usage instructions and configuration reference
@devin-ai-integration
Copy link
Copy Markdown
Contributor Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

@sonarqubecloud
Copy link
Copy Markdown

Copy link
Copy Markdown
Contributor Author

@devin-ai-integration devin-ai-integration Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no potential bugs to report.

View in Devin Review to see 2 additional findings.

Open in Devin Review

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants