Add customer mass import service with API route, test coverage, and e-conomic integration
This commit is contained in:
@@ -92,6 +92,7 @@ it('prefers EDGE_PUBLIC_API_URL when explicitly configured', function (): void {
|
||||
with_edge_gateway_server_state([
|
||||
'HTTP_HOST' => 'localhost',
|
||||
'HTTP_X_FORWARDED_PROTO' => 'http',
|
||||
'HTTP_X_FORWARDED_PREFIX' => '/api',
|
||||
], function (): void {
|
||||
putenv('EDGE_PUBLIC_API_URL=https://edge.example.test/api');
|
||||
|
||||
@@ -118,3 +119,37 @@ it('builds websocket broker urls on the traefik broker path', function (): void
|
||||
->toBe('wss://api.truckwash.io:4433/edge-broker/ws/browser-shell');
|
||||
});
|
||||
});
|
||||
|
||||
it('builds localhost websocket broker urls on the local traefik api prefix', function (): void {
|
||||
with_edge_gateway_server_state([
|
||||
'HTTP_HOST' => 'localhost',
|
||||
'HTTP_X_FORWARDED_PROTO' => 'http',
|
||||
'HTTP_X_FORWARDED_PREFIX' => '/api',
|
||||
], function (): void {
|
||||
$manager = new EdgeGatewayManagerUrlHarness();
|
||||
|
||||
expect($manager->getApiBaseUrl())
|
||||
->toBe('http://localhost/api');
|
||||
expect(invoke_edge_gateway_private($manager, 'buildBrokerPublicUrl'))
|
||||
->toBe('http://localhost/api/edge-broker');
|
||||
expect(invoke_edge_gateway_private($manager, 'buildBrokerPublicWebSocketUrl', '/ws/browser-gateway-stream'))
|
||||
->toBe('ws://localhost/api/edge-broker/ws/browser-gateway-stream');
|
||||
expect(invoke_edge_gateway_private($manager, 'buildBrokerPublicWebSocketUrl', '/ws/browser-shell'))
|
||||
->toBe('ws://localhost/api/edge-broker/ws/browser-shell');
|
||||
});
|
||||
});
|
||||
|
||||
it('keeps root-host api urls unprefixed when the request is not under the local api alias', function (): void {
|
||||
with_edge_gateway_server_state([
|
||||
'HTTP_HOST' => 'localhost',
|
||||
'HTTP_X_FORWARDED_PROTO' => 'http',
|
||||
'REQUEST_URI' => '/edge-gateways/84/stream-session',
|
||||
], function (): void {
|
||||
$manager = new EdgeGatewayManagerUrlHarness();
|
||||
|
||||
expect($manager->getApiBaseUrl())
|
||||
->toBe('http://localhost');
|
||||
expect(invoke_edge_gateway_private($manager, 'buildBrokerPublicUrl'))
|
||||
->toBe('http://localhost/edge-broker');
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user