34 Commits

Author SHA1 Message Date
Nawaz Dhandala
dd47b9c3a9 feat(e2e-tests): add CRUD and idempotency tests for oneuptime_file resource 2026-02-09 14:46:40 +00:00
Nawaz Dhandala
9d29a1d00b Refactor Terraform tests to remove project_id references
- Removed project_id variable and its usage from multiple Terraform test files (23-probe-crud, 24-status-page-crud, 25-status-page-with-domain, 26-monitor-steps-basic, 27-monitor-types, 28-incident-crud, 29-alert-crud, 30-scheduled-maintenance-crud, 31-on-call-duty-policy-crud, 32-monitor-group-crud, 33-team-crud, 35-monitor-with-steps, 36-monitor-types-basic, 37-label-order-idempotency).
- Updated ResourceGenerator to treat project_id as computed-only, inferred from API key authentication.
- Adjusted related logic in resource update and delete operations to exclude project_id from requests.
2026-01-27 20:00:41 +00:00
Nawaz Dhandala
4a3000d3c3 feat: add initial Netscape HTTP cookie file for E2E tests 2026-01-27 18:30:17 +00:00
Nawaz Dhandala
b5df7042f7 fix: correct variable name in label validation checks for idempotency test 2026-01-27 18:30:01 +00:00
Nawaz Dhandala
d0a8c049ba feat: add support for 'set' type in data source and resource generation, enhancing collection handling 2026-01-27 18:04:51 +00:00
Nawaz Dhandala
d87b6da7c5 fix(dependencies): update random provider version and adjust lock file handling 2026-01-26 19:19:23 +00:00
Nawaz Dhandala
0e27802f1a chore(verify.sh): update monitor verification logic to check for manual with description and remove empty steps check 2026-01-22 12:39:14 +00:00
Nawaz Dhandala
2d687a3275 chore(E2E Tests): refactor verification scripts to use shared library functions and improve validation 2026-01-21 22:23:20 +00:00
Nawaz Dhandala
64b0c9f137 feat(Terraform): update monitor names to use random suffixes for uniqueness 2026-01-21 15:48:15 +00:00
Nawaz Dhandala
a171c52c8d feat(tests): refactor E2E tests to use random suffixes for resource names
- Updated multiple test files to replace timestamp-based naming with random suffixes for better uniqueness and idempotency.
- Added random provider to each test file to generate unique identifiers.
- Removed unnecessary lifecycle blocks that ignored changes to resource names.
- Ensured consistent naming conventions across all test cases for clarity and maintainability.
2026-01-21 14:45:46 +00:00
Nawaz Dhandala
4f7d3ed2be feat(E2E Tests): add comprehensive tests for various monitor types with steps and basic configurations 2026-01-21 13:38:49 +00:00
Nawaz Dhandala
9db97b3919 Add E2E tests for OneUptime resources
- Implemented monitor types tests including variable definitions and verification scripts.
- Created incident CRUD tests with various configurations and verification logic.
- Added alert CRUD tests to validate alert creation and configurations.
- Developed scheduled maintenance CRUD tests to ensure proper handling of maintenance events.
- Established on-call duty policy CRUD tests to validate policy creation and configurations.
- Introduced monitor group CRUD tests to verify group creation and uniqueness.
- Created team CRUD tests to validate team creation and configurations.
2026-01-21 13:25:55 +00:00
Nawaz Dhandala
8bc545c90f Add end-to-end tests for OneUptime resources
- Implemented idempotency tests for status pages, monitors, and probes.
- Created Terraform configurations and verification scripts for:
  - StatusPageDomain idempotency (Issue #2236)
  - Monitor CRUD operations with various configurations
  - Probe CRUD operations, ensuring probe_version is a string (Issue #2228)
  - StatusPage CRUD operations, handling server defaults (Issue #2232)
  - StatusPage with domain integration, validating computed fields and server-injected defaults
- Added necessary variable files for configuration.
2026-01-21 13:09:36 +00:00
Nawaz Dhandala
a24f9d37a9 Refactor verify scripts to handle API response wrapper formats
- Added a helper function `unwrap_value` to extract values from API responses that may be wrapped in an object format.
- Updated all verification scripts to use `unwrap_value` for fields such as name, description, color, title, and IDs.
- Enhanced checks for boolean fields to handle cases where the API may not return values due to permission issues.
- Ensured consistency across multiple test scripts for better maintainability and readability.
2026-01-20 18:02:18 +00:00
Nawaz Dhandala
d5332ed494 test: Add idempotency tests for probe_version READ operation 2026-01-20 16:57:30 +00:00
Nawaz Dhandala
88c1e23da9 fix: clean node_modules to prevent permission issues with npm cache in CI 2026-01-20 09:35:58 +00:00
Nawaz Dhandala
1566bd6a21 Add verification scripts for various resources in E2E tests
- Implemented verify.sh scripts for the following tests:
  - 08-probe: Validate probe resource creation and API response consistency.
  - 09-label-crud: Validate label CRUD operations via API.
  - 10-monitor-status-crud: Validate monitor status CRUD operations via API.
  - 11-incident-severity-crud: Validate incident severity CRUD operations via API.
  - 12-status-page-domain: Validate domain and status page resources via API.
  - 13-status-page-domain-computed-fields: Validate computed fields for status page domains.
  - 14-status-page-server-defaults: Validate server-provided defaults for status pages.
  - 15-monitor-server-defaults: Validate server-provided defaults for monitors.
  - 16-incident-server-defaults: Validate server-provided defaults for incidents.
  - 17-alert-server-defaults: Validate server-provided defaults for alerts.
  - 18-scheduled-maintenance-server-defaults: Validate server-provided defaults for scheduled maintenance events.
  - 19-on-call-duty-policy-server-defaults: Validate server-provided defaults for on-call duty policies.

Each script checks the API responses against expected values derived from Terraform outputs, ensuring resource integrity and consistency.
2026-01-19 21:08:05 +00:00
Nawaz Dhandala
d175841b2a feat: enhance Terraform E2E tests with comprehensive API validation and remove CRUD tests 2026-01-19 19:56:39 +00:00
Nawaz Dhandala
290b59dfc9 feat: add Terraform tests for server-provided defaults in incident, alert, scheduled maintenance, and on-call policy configurations 2026-01-19 19:40:56 +00:00
Nawaz Dhandala
ff1feb1a9f feat: add Terraform test for server-provided defaults in monitor configuration 2026-01-19 19:30:06 +00:00
Nawaz Dhandala
b400965384 feat: enhance resource generation with dynamic plan modifier imports and add tests for server-provided defaults 2026-01-19 19:25:37 +00:00
Nawaz Dhandala
08f8200d5b feat: allow auto-verification for test domains and update Terraform test configurations 2026-01-19 18:29:02 +00:00
Nawaz Dhandala
ec8afb2d0b refactor: dynamically discover test directories in run-tests.sh 2026-01-19 17:58:57 +00:00
Nawaz Dhandala
81aeb373c4 feat: add Terraform E2E tests for status page domain and computed fields 2026-01-19 17:57:46 +00:00
Nawaz Dhandala
d7f329fcff feat: add comprehensive CRUD tests for probe, label, monitor status, and incident severity resources 2026-01-19 17:21:10 +00:00
Nawaz Dhandala
13f22b1611 fix: extract API key value correctly from response in setup-test-account.sh 2026-01-19 14:29:53 +00:00
Nawaz Dhandala
f9a89548e2 fix: remove terraform init step for tests using dev_overrides 2026-01-19 14:27:05 +00:00
Nawaz Dhandala
88c55f9e14 fix: correct provider directory path in run-tests.sh script 2026-01-19 14:24:01 +00:00
Nawaz Dhandala
59d6aeb2b4 refactor: remove cleanup function and associated trap from index.sh 2026-01-19 13:36:45 +00:00
Nawaz Dhandala
be6d122879 fix: update cleanup function to use npm run down instead of docker compose 2026-01-19 13:36:33 +00:00
Nawaz Dhandala
b9fcfd5c61 chore: remove unused cookies.txt file from e2e-tests 2026-01-19 13:29:26 +00:00
Nawaz Dhandala
9e902e5b76 fix: update index.sh file permissions to make it executable 2026-01-19 13:29:22 +00:00
Nawaz Dhandala
4fa44b40c9 refactor: remove wait-for-services script and update index.sh to use npm status-check 2026-01-19 13:27:55 +00:00
Nawaz Dhandala
3baa081850 feat: Implement end-to-end tests for Terraform provider
- Added a new directory structure for E2E tests under E2E/Terraform/e2e-tests.
- Created scripts for managing the test lifecycle: index.sh, wait-for-services.sh, setup-test-account.sh, run-tests.sh, and cleanup.sh.
- Developed README.md to document the E2E testing process and directory structure.
- Created individual test cases for various resources including labels, monitor statuses, incident severities, incident states, status pages, alert severities, and alert states.
- Configured GitHub Actions workflow for automated testing on pull requests and pushes to main branches.
- Added necessary variable files for each test case to define required inputs.
- Included cookies.txt for session management during API interactions.
2026-01-19 13:27:11 +00:00