Handle relay command job timeouts for edge gateways
- Introduce `expireTimedOutRelayStatusCommandJobs` to clean up long-pending relay status command jobs. - Add `TIMED_OUT` status for relay command jobs and incorporate it into job status evaluations. - Refactor command job finalization to support timeout-specific error messaging. - Improve handling of fast-path failures in edge broker commands.
This commit is contained in:
@@ -86,6 +86,26 @@ it('wires machine relay status get and set endpoints', function (): void {
|
||||
expect($moduleSelfServeRoute)->toContain('setMachineCleanerRelayStatusHard(true)');
|
||||
expect($moduleSelfServeRoute)->toContain('applyShellyTransportOverride($lane)');
|
||||
expect($moduleSelfServeRoute)->toContain("'transport' => \$this->requestedShellyTransportOverride()");
|
||||
expect($moduleSelfServeRoute)->toContain('buildRelayStatusResponse');
|
||||
});
|
||||
|
||||
it('applies Shelly transport overrides across self-serve relay side-effect routes', function (): void {
|
||||
$moduleSelfServeRoute = file_get_contents(app_path('routes/moduleSelfServeRoute.php'));
|
||||
|
||||
expect($moduleSelfServeRoute)->not->toBeFalse();
|
||||
expect(substr_count($moduleSelfServeRoute, 'applyShellyTransportOverride($lane)'))->toBeGreaterThanOrEqual(17);
|
||||
expect($moduleSelfServeRoute)->toContain('$lane->execute($command, $args);');
|
||||
expect($moduleSelfServeRoute)->toContain('$lane->syncMachineRelayFromVisibleServices($allowed_services, true);');
|
||||
expect($moduleSelfServeRoute)->toContain('$lane->open($gate);');
|
||||
expect($moduleSelfServeRoute)->toContain('$lane->turnOnRelay(selfserve_lane_relay::MACHINE, $duration);');
|
||||
expect($moduleSelfServeRoute)->toContain('$lane->turnOnRelay(selfserve_lane_relay::MACHINE_PROGRAM_PICKER, $duration);');
|
||||
expect($moduleSelfServeRoute)->toContain('$lane->turnOnRelay(selfserve_lane_relay::MACHINE_CLEANER, $duration);');
|
||||
expect($moduleSelfServeRoute)->toContain('$lane->forceTurnOnMachineRelay($duration);');
|
||||
expect($moduleSelfServeRoute)->toContain('$lane->forceTurnOffMachineRelay();');
|
||||
expect($moduleSelfServeRoute)->toContain('$lane->forceTurnOnRelay(selfserve_lane_relay::MACHINE_PROGRAM_PICKER, $duration);');
|
||||
expect($moduleSelfServeRoute)->toContain('$lane->forceTurnOffRelay(selfserve_lane_relay::MACHINE_PROGRAM_PICKER);');
|
||||
expect($moduleSelfServeRoute)->toContain('$lane->forceTurnOnRelay(selfserve_lane_relay::MACHINE_CLEANER, $duration);');
|
||||
expect($moduleSelfServeRoute)->toContain('$lane->forceTurnOffRelay(selfserve_lane_relay::MACHINE_CLEANER);');
|
||||
});
|
||||
|
||||
it('wires allowed services route through machine relay visibility sync', function (): void {
|
||||
|
||||
Reference in New Issue
Block a user