Skip to content

Add health check tests for 8 untested services and update CI matrix#124

Merged
Senthil455 merged 8 commits into
mainfrom
fix/issue-54-test-coverage
Jun 17, 2026
Merged

Add health check tests for 8 untested services and update CI matrix#124
Senthil455 merged 8 commits into
mainfrom
fix/issue-54-test-coverage

Conversation

@Senthil455

Copy link
Copy Markdown
Owner

Add basic health check tests (test_main.py) for 6 Python FastAPI services (security-service, integration-service, ai-service, live-service, employee-lifecycle-service, workforce-planning-service) and Go unit tests (main_test.go) for notification-go-service and attendance-service.

Add go test step to the Go CI pipeline, add 5 missing Python services to the Python CI test matrix, and configure appropriate test environment variables for each new service.\n\nCloses #54

Add backup_codes_shown flag to user_mfa table. Backup codes are only
returned on the initial setup request and marked as shown afterwards.
Re-running setup will regenerate codes but not display them. Add a
/mfa/rotate-backup-codes endpoint that requires current TOTP token
to view new backup codes.
Prevent token leak by removing the raw passwordless token from the API
response body. The token is still stored hashed in the database and can
be verified via /auth/passwordless/verify. The response now only returns
a generic success message.
Replace 4 fragile regex patterns for extracting NameID and SAML attribute
values with robust DOM-based extraction using the already-parsed XML
document. This fixes namespace sensitivity, encoding variations, and
CDATA handling issues. Also moves the DOMParser outside the
SAML_IDP_CERT conditional so it is always available for attribute
extraction.
Add internal auth token to test clients for ai-copilot-service and
ats-service so integration tests pass instead of returning 401.
Fix employee-service main.py to use os.environ.get() for MONGO_USER,
MONGO_PASSWORD, INTERNAL_KEY, and RABBITMQ_USER instead of bracket
access that raises KeyError when env vars are not set.
Fix k6-stress.js recording boolean (1/0) instead of actual login HTTP
request duration for login_duration metric. Fix both k6-stress.js and
k6-spike.js to inline the login request to capture response timings
and use explicit 0/1 for Rate metrics.
- Add basic health check tests (test_main.py) for 6 Python FastAPI services:
  security-service, integration-service, ai-service, live-service,
  employee-lifecycle-service, workforce-planning-service
- Add Go unit tests (main_test.go) for notification-go-service and
  attendance-service (validateJWT, getEnv, isDuplicateKeyError)
- Add go test step to Go CI pipeline
- Add 5 missing Python services to the Python CI test matrix with
  appropriate test environment variables

@Senthil455 Senthil455 left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

Added test coverage for all 8 previously untested services. Python services now have at least a health-check endpoint test. Go services have utility function tests. CI now runs go test and includes all Python services in the test matrix.

@Senthil455 Senthil455 merged commit 857076b into main Jun 17, 2026
2 of 25 checks passed
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.

1 participant