diff --git a/config/packages/process/demo.rest.invalid_input.yaml b/config/packages/process/demo.rest.invalid_input.yaml new file mode 100644 index 0000000..1f7eae6 --- /dev/null +++ b/config/packages/process/demo.rest.invalid_input.yaml @@ -0,0 +1,25 @@ +clever_age_process: + configurations: + demo.rest.invalid_input: + description: > + RequestTask receiving a string input (cleverage/rest-process-bundle#38): the task only accepts an + array or empty input, it must fail with a clear message + help: > + Ex: bin/console cleverage:process:execute demo.rest.invalid_input + tasks: + input: + service: '@CleverAge\ProcessBundle\Task\ConstantOutputTask' + options: + output: '/codes-postaux/communes/46800' + outputs: [ request ] + + request: + service: '@CleverAge\RestProcessBundle\Task\RequestTask' + options: + client: apicarto_ign + url: '/codes-postaux/communes/46800' + method: 'GET' + outputs: [ debug ] + + debug: + service: '@CleverAge\ProcessBundle\Task\Debug\DebugTask' diff --git a/config/packages/process/demo.rest.log_response.yaml b/config/packages/process/demo.rest.log_response.yaml new file mode 100644 index 0000000..3d6d9ea --- /dev/null +++ b/config/packages/process/demo.rest.log_response.yaml @@ -0,0 +1,27 @@ +clever_age_process: + configurations: + demo.rest.log_response: + description: > + RequestTask with log_response and the url given by the input (cleverage/rest-process-bundle#37): run + with -vv, the "Response received" log must give the requested url and the response content + help: > + Ex: bin/console cleverage:process:execute demo.rest.log_response -vv + tasks: + input: + service: '@CleverAge\ProcessBundle\Task\ConstantOutputTask' + options: + output: + url: '/codes-postaux/communes/46800' + outputs: [ request ] + + request: + service: '@CleverAge\RestProcessBundle\Task\RequestTask' + options: + client: apicarto_ign + url: '/configured/url' + method: 'GET' + log_response: true + outputs: [ debug ] + + debug: + service: '@CleverAge\ProcessBundle\Task\Debug\DebugTask' diff --git a/config/packages/process/demo.rest.transport_error.yaml b/config/packages/process/demo.rest.transport_error.yaml new file mode 100644 index 0000000..ea20afe --- /dev/null +++ b/config/packages/process/demo.rest.transport_error.yaml @@ -0,0 +1,19 @@ +clever_age_process: + configurations: + demo.rest.transport_error: + description: > + RequestTask with a transport error (cleverage/rest-process-bundle#36): the error must be logged + ("REST request failed") and the transport exception thrown + help: > + Ex: bin/console cleverage:process:execute demo.rest.transport_error -v + tasks: + request: + service: '@CleverAge\RestProcessBundle\Task\RequestTask' + options: + client: unreachable + url: '/ping' + method: 'GET' + outputs: [ debug ] + + debug: + service: '@CleverAge\ProcessBundle\Task\Debug\DebugTask' diff --git a/config/packages/process/demo.rest.url_parameter_int.yaml b/config/packages/process/demo.rest.url_parameter_int.yaml new file mode 100644 index 0000000..9d69831 --- /dev/null +++ b/config/packages/process/demo.rest.url_parameter_int.yaml @@ -0,0 +1,20 @@ +clever_age_process: + configurations: + demo.rest.url_parameter_int: + description: > + RequestTask with an integer url parameter (cleverage/rest-process-bundle#38): the value must be + converted to a string + help: > + Ex: bin/console cleverage:process:execute demo.rest.url_parameter_int + tasks: + request: + service: '@CleverAge\RestProcessBundle\Task\RequestTask' + options: + client: apicarto_ign + url: '/codes-postaux/communes/{codePostal}' + method: 'GET' + url_parameters: { codePostal: 46800 } + outputs: [ debug ] + + debug: + service: '@CleverAge\ProcessBundle\Task\Debug\DebugTask' diff --git a/config/packages/process/demo.rest.valid_client_error.yaml b/config/packages/process/demo.rest.valid_client_error.yaml new file mode 100644 index 0000000..72b149c --- /dev/null +++ b/config/packages/process/demo.rest.valid_client_error.yaml @@ -0,0 +1,20 @@ +clever_age_process: + configurations: + demo.rest.valid_client_error: + description: > + RequestTask with a 4xx status code declared in valid_response_code (cleverage/rest-process-bundle#35): + the response body must be output (apicarto answers 400 to an invalid postal code) + help: > + Ex: bin/console cleverage:process:execute demo.rest.valid_client_error + tasks: + request: + service: '@CleverAge\RestProcessBundle\Task\RequestTask' + options: + client: apicarto_ign + url: '/codes-postaux/communes/invalid' + method: 'GET' + valid_response_code: [ 200, 400 ] + outputs: [ debug ] + + debug: + service: '@CleverAge\ProcessBundle\Task\Debug\DebugTask' diff --git a/config/services.yaml b/config/services.yaml index b02eaf1..c74728e 100644 --- a/config/services.yaml +++ b/config/services.yaml @@ -71,6 +71,16 @@ services: tags: - { name: cleverage.rest.client } + # REST client on an unresolvable host (.invalid TLD): every request fails with a transport error. + # Used by demo.rest.transport_error (cleverage/rest-process-bundle#36). + app.cleverage_rest_process.client.unreachable: + class: CleverAge\RestProcessBundle\Client\Client + bind: + $code: 'unreachable' + $uri: 'https://unreachable.invalid/api' + tags: + - { name: cleverage.rest.client } + # For cleverage/cache-process-bundle app.cleverage_cache_process.adapter.memory: class: App\Adapter\MemoryAdapter