Commit Graph
100 Commits
Author SHA1 Message Date
Jeppe Bundgaard 86eec9a51e Add timer support for relay switch commands and update tests
- Introduce `dispatchRelaySwitchWithTimer` and `dispatchRelaySwitchLocalOnlyWithTimer` methods for timed relay control.
- Extend `dispatchRelaySwitchWithOptions` to handle `toggleAfterSeconds` parameter.
- Update tests to validate timer functionality for local Shelly APIs.
- Ensure backwards compatibility with legacy APIs and adjust payloads accordingly.
2026-04-27 16:19:14 +02:00
Jeppe Bundgaard f2e2b9a8f4 Update relay-handling logic and test assertions for device binding and local IP resolution
- Correct test cases to ensure proper relay IDs are switched.
- Add robust local IP resolution for relay-device bindings, including caching and inventory backfill.
- Introduce fast-path options for relay status and switch dispatch.
- Validate PHP extensions (`curl`, `sqlite3`) in edge agent images.
2026-04-27 16:02:36 +02:00
Jeppe Bundgaard 7bd940de37 Improve browser-shell session closure handling in edge-broker tests and server 2026-04-27 12:15:46 +02:00
Jeppe Bundgaard c95fd3a23c Add fallback handling for telemetry ingestion failures in broker and HTTP persistence check for control plane events 2026-04-27 11:52:38 +02:00
Jeppe Bundgaard 99a85878cd Handle orphaned edge gateways for non-existent departments and improve error handling 2026-04-27 10:07:48 +02:00
Jeppe Bundgaard 1dffbe16c4 Restore self-hosted CI runners 2026-04-24 21:19:05 +02:00
Jeppe Bundgaard ad9637ebd2 Run CI on GitHub-hosted runners 2026-04-24 21:17:22 +02:00
Jeppe Bundgaard 0253cfc676 Copy edge E2E runner config in CI 2026-04-24 21:11:08 +02:00
Jeppe Bundgaard 15250ad227 Run edge E2E smoke on compose network 2026-04-24 21:04:53 +02:00
Jeppe Bundgaard ca78e8e5f3 Use internal API route for edge E2E in CI 2026-04-24 20:52:29 +02:00
Jeppe Bundgaard ab8923bb77 Attach CI runner to edge E2E network 2026-04-24 20:47:18 +02:00
Jeppe Bundgaard 0f37bdc288 Resolve fixed-name Traefik in E2E smoke 2026-04-24 20:36:09 +02:00
Jeppe Bundgaard cdbc976b8a Use Traefik container IP for edge E2E 2026-04-24 20:31:55 +02:00
Jeppe Bundgaard 288627243b Resolve edge E2E host routing in CI 2026-04-24 20:27:44 +02:00
Jeppe Bundgaard ebe1299089 Fix PHP unit test isolation 2026-04-24 20:17:01 +02:00
Jeppe Bundgaard 3adf5957f0 Use Docker host gateway for edge E2E 2026-04-24 20:07:05 +02:00
Jeppe Bundgaard eba33d0735 Use CI volume for PHP app tests 2026-04-24 20:00:42 +02:00
Jeppe Bundgaard def45b1c23 Clean stale PHP files before CI sync 2026-04-24 19:56:13 +02:00
Jeppe Bundgaard 38481334c7 Sync PHP checkout into CI containers 2026-04-24 19:52:36 +02:00
Jeppe Bundgaard dce2207243 Pin compose file for edge gateway CI 2026-04-24 19:44:03 +02:00
Jeppe Bundgaard 5bfd2743be Use explicit edge gateway API test paths 2026-04-24 19:35:11 +02:00
Jeppe Bundgaard 38acbdefa0 Run edge gateway CI suites directly with Pest 2026-04-24 19:27:57 +02:00
Jeppe Bundgaard 64292e8761 Use composer run-script for edge gateway suites 2026-04-24 19:23:19 +02:00
Jeppe Bundgaard 5001cd1811 Install PHP dev dependencies before edge gateway CI tests 2026-04-24 19:21:23 +02:00
Jeppe Bundgaard cef53d8ebd Fix compose config test service parsing 2026-04-24 19:13:41 +02:00
Jeppe Bundgaard ca64f2b047 Merge remote-tracking branch 'origin/run-tests-and-fix-identified-issues' 2026-04-24 19:10:55 +02:00
Jeppe Bundgaard ed13f7a8d4 Add guarded legacy route shims for Edge Gateway with corresponding unit tests 2026-04-24 15:51:09 +02:00
Jeppe Bundgaard 2258a609e6 Enhance edge gateway logs handling and fix shell socket newline character formatting 2026-04-23 22:05:02 +02:00
Jeppe Bundgaard b98cef0caa Increase operation timeout, add diagnostic logs, and enhance gateway stream summarization 2026-04-23 21:36:25 +02:00
Jeppe Bundgaard 0813bfc0f0 Add customer mass import service with API route, test coverage, and e-conomic integration 2026-04-23 21:07:21 +02:00
Jeppe Bundgaard 4420d76cd2 Add "stage" field and additional JSON payloads to Edge Gateway operation events schema 2026-04-23 15:50:30 +02:00
Jeppe Bundgaard b9ddc585db Add Edge Gateway tests for unit, API, and integration scenarios 2026-04-23 15:48:51 +02:00
Jeppe Bundgaard c38a4379bd Add department hardware workspace and plate scanner updates 2026-04-23 13:31:57 +02:00
Jeppe Bundgaard e09e23025d Add Edge Broker service and rename 'rows' column to 'terminal_rows' in Edge Gateway schema 2026-04-22 19:31:21 +02:00
Jeppe Bundgaard 4c32eae49a Remove deprecated Edge Gateway Agent classes and related services 2026-04-22 19:08:44 +02:00
Jeppe Bundgaard 0d3c2d70bf Add auto-updater service with Docker integration, stack dependencies, and heartbeat management 2026-04-22 15:49:21 +02:00
Jeppe Bundgaard fd830deda9 Implement stack health diagnostics, timeout adjustments, and cleanup dependencies 2026-04-22 15:00:12 +02:00
Jeppe Bundgaard f4952f16e6 Add caching layer for edge gateway views, including payload storage, retrieval, sync, and invalidation 2026-04-22 14:23:24 +02:00
Jeppe Bundgaard 300942f1c8 Merge branch 'backend-coolify-runner' 2026-04-22 12:05:04 +02:00
Jeppe Bundgaard 9cfb19a3ba Replace CI PHP suite execution script with Composer commands and integrate Edge Gateway Agent stack artifacts 2026-04-22 12:03:08 +02:00
Jeppe Bundgaard a842edea97 Sync PHP app into php1 on CI runner 2026-04-21 22:11:06 +02:00
Jeppe Bundgaard d30393b609 Run PHP suites in php1 on CI 2026-04-21 22:00:03 +02:00
Jeppe Bundgaard 7c7895f776 Restore edge agent shell polling 2026-04-21 21:46:39 +02:00
Jeppe Bundgaard e4fefab576 Run PHP jobs in setup-php container image 2026-04-21 21:36:06 +02:00
Jeppe Bundgaard 837c49a589 Configure setup-php for self-hosted runner 2026-04-21 21:31:18 +02:00
Jeppe Bundgaard 98b3943919 Restore edge broker compose defaults 2026-04-21 21:23:49 +02:00
Jeppe Bundgaard 5f83042317 Use self-hosted runner for backend tests 2026-04-21 20:05:10 +02:00
Jeppe Bundgaard 0b18433fdf Add unit tests for EconomicCustomerModel parsing and validation 2026-04-21 15:07:41 +02:00
Jeppe Bundgaard 7d450e285e Remove outdated edge gateway object classes, add new agent implementation
Transitioned from obsolete gateway object classes (`edge_gateway_shell_action_jobs_o`, `edge_gateway_shell_events_o`, `edge_gateway_shell_sessions_o`, `edge_gateway_update_jobs_o`) to the new agent implementation (`edge-gateway-agent/agent.php`).
2026-04-21 14:13:17 +02:00
Jeppe Bundgaard d30a006457 Add delivery metadata support, preferred channels, and enhanced agent validation
This commit introduces delivery metadata tracking for gateway commands, updates, and shells. Adds preferred delivery channel handling, refined validation for edge agents, improved relay management logic, and broker presence reporting. Includes schema changes, enhanced shell handling, and test coverage.
2026-04-16 13:44:28 +02:00
Jeppe Bundgaard d4d162d38a Update api-server.err.log to include extended PHP server activity and error instances indicating "address already in use" issues. 2026-04-16 11:03:29 +02:00
Jeppe Bundgaard b6454e5d36 Add edge agent update handling and verification mechanisms
Refactored the edge agent to include robust update handling, verification, and rollback procedures. Enhanced test coverage for critical update flows and introduced support for background edge gateway refresh without disrupting current user actions.
2026-04-15 12:07:32 +02:00
Jeppe Bundgaard 56685d7bf3 Add tests and functionality for edge gateway updates and lifecycle
This commit introduces unit tests, E2E tests, and implementation updates related to edge gateway lifecycle management, including update handling, artifact validation, and rollback mechanisms. It also refines routing, component interaction, and backend methods to improve update tracking, status transitions, and artifact management.
2026-04-15 11:53:45 +02:00
Jeppe Bundgaard 40ded9ed95 Add tests for API fixture cleanup and optimize customer trace removal logic 2026-04-15 09:17:46 +02:00
Jeppe Bundgaard 0b672e13a6 Validate and sanitize Composer vendor directory in PHP service's entrypoint script 2026-04-14 19:33:25 +02:00
Jeppe Bundgaard 39d745e079 Remove ws module from edge-agent dependencies 2026-04-14 19:33:07 +02:00
Jeppe Bundgaard c23bfb6d2f Update workerRoute version to 1.0.2 2026-04-14 18:58:47 +02:00
Jeppe Bundgaard d7296e67d9 Remove unnecessary test file tetststsssss.txt 2026-04-14 17:17:06 +02:00
Jeppe Bundgaard 12205eefe8 Add compose environment secrets handling to CI workflow 2026-04-14 16:58:41 +02:00
Jeppe Bundgaard 33fbf6d90d Add initial docker-compose.yml with service definitions for Traefik, Redis, MySQL, Edge Broker, Caddy, and supporting components in local and staging environments 2026-04-14 16:55:20 +02:00
Jeppe Bundgaard b21d0ce708 Validate compose contracts in CI and enhance edge-broker tests with a unified file reading utility 2026-04-14 16:54:10 +02:00
Jeppe Bundgaard 7a4463c1b3 Add Dockerfile for Edge Broker service 2026-04-14 16:48:57 +02:00
Jeppe Bundgaard 69eefdd572 Add Edge Broker service and configuration defaults
Introduced the Edge Broker service in the Docker Compose setup, configured to run on port 4300. Updated `.env.example` to include default environment variables for the Edge Broker and adjusted tests to validate the new configuration. Updated visual snapshot tests to reflect related UI changes.
2026-04-14 16:48:41 +02:00
Jeppe Bundgaard e3f771a36c Refactor edge-broker tests to consolidate file reading logic and streamline assertions 2026-04-14 16:41:18 +02:00
Jeppe Bundgaard 5c51601c62 Add waitFor to ensure shell session close callback in edge-broker test 2026-04-14 16:38:37 +02:00
Jeppe Bundgaard a1bde3f51e Add waitFor utility to edge-broker tests for reliable condition polling and update session close assertion 2026-04-14 16:36:27 +02:00
Jeppe Bundgaard 17d855d04f Refactor edge agent test with waitFor utility and update GitHub Actions workflow
- Introduced `waitFor` utility in edge agent tests for more reliable condition polling.
- Adjusted test assertions to use `waitFor` for verifying agent polling activity.
- Added separate GitHub Actions jobs for `edge-agent` and `edge-broker` to improve test isolation.
2026-04-14 16:31:47 +02:00
Jeppe Bundgaard f51b054cf5 Update GitHub Actions to conditionally upload coverage artifacts for pull requests 2026-04-14 16:15:52 +02:00
Jeppe Bundgaard e385cd3e95 Add xlvask_vehicle_types table and refine API test assertion
- Added schema creation logic for `xlvask_vehicle_types` table in `ApiSchemaBootstrap`.
- Updated `OrdersApiTest` to generalize HTTP error message assertion.
2026-04-14 16:12:57 +02:00
Jeppe Bundgaard a7328809c8 Add table and column existence checks in schema bootstrap and enhance API fixtures
- Added `tableExists` and updated `columnExists` in schema bootstrap to avoid redundant queries.
- Enhanced `ApiFixtures` to cast the `processor` attribute as an integer.
- Introduced `products` table creation in `ApiSchemaBootstrap`.
2026-04-14 16:10:12 +02:00
Jeppe Bundgaard 074ec3ac36 Add supporting tables initialization in schema bootstrap
- Added `ensureSupportingTables` method to create `departments`, `department_variables`, and `users` tables if they do not exist.
- Updated `department_daily_report_complaints_schema_bootstrap` to include supporting tables setup for schema consistency.
2026-04-14 16:03:18 +02:00
Jeppe Bundgaard 55a5ce453a Add column existence checks in schema bootstrap to prevent redundant ALTER queries
- Introduced `columnExists` helper to verify column presence before performing ALTER operations.
- Updated schema bootstrap logic to use `columnExists` for `wash_date` and `category` columns.
2026-04-14 15:57:26 +02:00
Jeppe Bundgaard 2ba7451669 Add schema bootstrap for API tests and update GitHub Actions environment setup
- Introduced `ApiSchemaBootstrap` class to ensure database schema for API tests.
- Modified GitHub Actions workflow to include schema bootstrapping configuration.
- Switched to Xdebug for test coverage in workflows and adjusted `ini-values` accordingly.
- Improved environment variable handling in `config.php` for enhanced runtime flexibility.
2026-04-14 15:44:50 +02:00
Jeppe Bundgaard 0fcb38b607 Enable PCOV coverage by adding pcov.enabled=1 in GitHub Actions workflow 2026-04-14 14:46:12 +02:00
Jeppe Bundgaard 07867fd811 Update test coverage script and extend GitHub Actions test environment
- Refactored `test:coverage` command in `composer.json` to support both PCOV and Xdebug coverage drivers, with fallback error handling for missing drivers.
- Expanded environment variables in GitHub Actions workflow to support application configuration and testing scenarios.
2026-04-14 14:37:00 +02:00
Jeppe Bundgaard 9a3844d57c Remove unused branch specification from GitHub Actions workflow 2026-04-14 14:27:22 +02:00
Jeppe Bundgaard d3239bb64e Add WebSocket implementation with support for extensions and event handling 2026-04-14 14:19:29 +02:00
Jeppe Bundgaard 02df12cb81 Add Node-API utility scripts and configuration files.
- Introduced new tools for N-API module detection (`check-napi.js`), formatting using Clang and ESLint (`clang-format.js`, `eslint-format.js`), and source conversion (`conversion.js`).
- Added N-API-specific configuration files (`common.gypi`, `except.gypi`).
- Included N-API bindings and licensing files (`index.js`, `LICENSE.md`, `napi.h`).
2026-04-14 13:45:41 +02:00
Jeppe Bundgaard ff2d9788bf Remove dependency on the ws module.
Deleted the entire `ws` library and its associated files. This likely reflects a move away from the WebSocket library, possibly signaling an alternate implementation or unused/legacy code cleanup.
2026-04-14 13:45:17 +02:00
Jeppe Bundgaard ebf7e820d5 Add safety seal support to orders and related logic for wash certificates
- Introduced `safety_seal` column in the `orders` table.
- Updated order creation and completion logic to handle safety seal values.
- Enhanced order and booking classes to manage safety seal attachment and retrieval.
- Added tests to validate safety seal functionality in order processing.
2026-04-14 10:51:25 +02:00
Jeppe Bundgaard 98f3188a98 Add API tests for Vehicles endpoint to validate last_order_id logic 2026-04-13 21:42:48 +02:00
Jeppe Bundgaard dc79352f40 Add unit tests for vehicle search metadata alignment and extend API fixtures for vehicle and order item creation. Refactor booking and route handling logic for booked vehicle searches. 2026-04-13 21:42:37 +02:00
Jeppe Bundgaard d267fb0f09 Expand Bird Voice Webhook tests to cover scenarios with shared gates and distinct entrance/exit gates, refine payload validation, and enhance gate resolution logic. 2026-04-13 17:55:53 +02:00
Jeppe Bundgaard 8465ee794d Add API test suite for Bird Voice Webhook endpoints, including comprehensive lifecycle tests for inbound call handling scenarios. Extend fixtures with department gate creation support and update OpenAPI spec validations. 2026-04-13 17:08:37 +02:00
Jeppe Bundgaard 2a8e8986e6 Add API testing framework and initial test cases for authentication endpoints 2026-04-13 11:50:10 +02:00
Jeppe Bundgaard 92d79b867a Remove ws package and all associated files from edge-agent. 2026-04-13 10:06:07 +02:00
Jeppe Bundgaard a83b850aba Remove edge_broker_client.php and related unit tests. Add new dependencies and configuration files for edge-agent, including build scripts and package-lock updates. 2026-04-13 09:42:35 +02:00
Jeppe Bundgaard 16c9cd9931 Extend agent-cli with sync command, enhance schema validation for complaints, and add coverage for gateway command tests. 2026-04-09 16:31:58 +02:00
Jeppe Bundgaard 2a0a3468c1 Add dockerized fake-agent for integration testing and live edge-broker smoke tests. Introduce agent CLI status command and report helpers. Add browser shell session handling for disconnected agents. Extend tests and improve token validation flow. 2026-04-09 16:31:38 +02:00
Jeppe Bundgaard 745e68aa4f Add wash_date and category fields to complaints, update schema and OpenAPI spec, and extend unit and integration tests for validation and route handling. 2026-04-09 14:16:35 +02:00
Jeppe Bundgaard 22f856c62a Add unit tests for invoicing, orders normalization, gateway commands, and department complaints. Update schema bootstraps and improve agent command execution logic. 2026-04-09 12:24:22 +02:00
Jeppe Bundgaard 9e9372db05 Add unit tests for Bird department gate phone call logic, Edge Broker configuration, and gateway heartbeat status. Refactor warnings handling, Slack notifications, Bird client usage, and Edge gateway probes for improved maintainability and error clarity. 2026-04-09 08:53:10 +02:00
Jeppe Bundgaard 45b7250480 Add Edge Agent implementation for gateway connection lifecycle, agent commands, Shelly device discovery, relay control, and WebSocket communication with broker. Include unit tests for critical flows. 2026-04-08 19:01:42 +02:00
Jeppe Bundgaard 653680376a Add unit and integration tests for collected invoice queue handling, route hardening, lifecycle validation, and manual batch processing logic. 2026-04-08 15:53:22 +02:00
Jeppe Bundgaard c5cd42be7f Add unit and integration tests for economic_transfer_queue and related endpoints, replacing synchronous fallback methods with queue-based processing. 2026-04-08 12:29:57 +02:00
Jeppe Bundgaard ba23ad6e8f Add economic_transfer_executor and economic_transfer_queue classes for handling e-conomic invoice transfer logic, queue management, and processing. Include unit tests for Redis cache validation. 2026-04-08 11:20:08 +02:00
Jeppe Bundgaard 551161b692 Add unit tests for Bird webhook lifecycle, economic customer handling, and payment terms routes with improved error scenarios and response validation. Refactor configuration to support economic API fallback tokens. 2026-04-01 17:44:25 +02:00
Jeppe Bundgaard 368e03ce48 Remove redundant methods and IVR handling logic from Bird voice call webhook route, focusing on streamlined call flow and improved maintainability. 2026-03-27 11:15:27 +01:00
Jeppe Bundgaard 0dc1581eb4 Add unit tests for self-serve invoice billing logic, refactor minute-based billing calculations, and improve error handling for billable minutes adjustments. 2026-03-26 21:09:21 +01:00
Jeppe Bundgaard b42a1a69a0 Refactor and centralize Shelly rate-limiting logic in the shelly class, add global enforcement and unit tests, and remove redundant implementations in self-serve lane controllers. 2026-03-26 20:15:36 +01:00