diff --git a/.editorconfig b/.editorconfig
index c964c2cb8f..223afb7d36 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -3,7 +3,7 @@ root = true
[*]
charset = utf-8
indent_style = space
-insert_final_newline = true
+insert_final_newline = false
trim_trailing_whitespace = true
[*.{c,h}]
diff --git a/.github/workflows/update_latest_versions.yml b/.github/workflows/update_latest_versions.yml
new file mode 100644
index 0000000000..68dcd1f939
--- /dev/null
+++ b/.github/workflows/update_latest_versions.yml
@@ -0,0 +1,49 @@
+name: Update Latest Versions
+
+on:
+ workflow_dispatch: # can be triggered manually
+ schedule:
+ - cron: "30 6 * * 1" # weekly on Monday at 6:30 AM
+
+jobs:
+ update-latest-versions:
+ runs-on: ubuntu-24.04
+ permissions:
+ contents: write
+ actions: read
+ pull-requests: write
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: Install PHP
+ uses: shivammathur/setup-php@2.32.0
+ with:
+ php-version: '8.3'
+
+ - name: Install PHP Tracer # Required by test bootstrap
+ run: |
+ curl -Lo /tmp/datadog-setup.php https://github.com/DataDog/dd-trace-php/releases/latest/download/datadog-setup.php
+ sudo php /tmp/datadog-setup.php --php-bin=all
+ rm /tmp/datadog-setup.php
+
+ - name: Update Test Dependencies
+ run: make composer_tests_update
+
+ - name: Update Latest Versions
+ run: php tests/PackageUpdater.php
+
+ - name: Show changes
+ run: git diff
+
+ - name: Create Pull Request
+ uses: peter-evans/create-pull-request@v7
+ with:
+ token: ${{ secrets.GITHUB_TOKEN }}
+ commit-message: "chore: update latest versions"
+ title: "chore: update latest versions"
+ branch: "update-latest-versions"
+ base: "master"
+ delete-branch: true
+ body: This PR updates the latest pinned versions of the test dependencies.
\ No newline at end of file
diff --git a/Makefile b/Makefile
index 87a4a56b70..b8cd8fbd75 100644
--- a/Makefile
+++ b/Makefile
@@ -550,7 +550,7 @@ TEST_INTEGRATIONS_70 := \
test_integrations_kafka \
test_integrations_memcache \
test_integrations_memcached \
- test_integrations_mongodb1 \
+ test_integrations_mongodb_1x \
test_integrations_mysqli \
test_integrations_pdo \
test_integrations_elasticsearch1 \
@@ -560,7 +560,7 @@ TEST_INTEGRATIONS_70 := \
test_integrations_phpredis3 \
test_integrations_phpredis4 \
test_integrations_phpredis5 \
- test_integrations_predis1 \
+ test_integrations_predis_latest \
test_integrations_sqlsrv
TEST_WEB_70 := \
@@ -577,7 +577,7 @@ TEST_WEB_70 := \
test_web_symfony_30 \
test_web_symfony_33 \
test_web_symfony_34 \
- test_web_yii_2 \
+ test_web_yii_2049 \
test_web_wordpress_48 \
test_web_wordpress_55 \
test_web_wordpress_61 \
@@ -587,12 +587,11 @@ TEST_WEB_70 := \
TEST_INTEGRATIONS_71 := \
test_integrations_deferred_loading \
test_integrations_amqp2 \
- test_integrations_amqp35 \
test_integrations_curl \
test_integrations_kafka \
test_integrations_memcache \
test_integrations_memcached \
- test_integrations_mongodb1 \
+ test_integrations_mongodb_1x \
test_integrations_monolog1 \
test_integrations_mysqli \
test_integrations_pdo \
@@ -603,7 +602,7 @@ TEST_INTEGRATIONS_71 := \
test_integrations_phpredis3 \
test_integrations_phpredis4 \
test_integrations_phpredis5 \
- test_integrations_predis1 \
+ test_integrations_predis_latest \
test_integrations_sqlsrv \
test_opentracing_10
@@ -620,7 +619,6 @@ TEST_WEB_71 := \
test_web_lumen_56 \
test_web_lumen_58 \
test_web_nette_24 \
- test_web_nette_30 \
test_web_slim_312 \
test_web_symfony_23 \
test_web_symfony_28 \
@@ -629,7 +627,7 @@ TEST_WEB_71 := \
test_web_symfony_34 \
test_web_symfony_40 \
test_web_symfony_42 \
- test_web_yii_2 \
+ test_web_yii_2049 \
test_web_wordpress_48 \
test_web_wordpress_55 \
test_web_wordpress_61 \
@@ -639,12 +637,12 @@ TEST_WEB_71 := \
TEST_INTEGRATIONS_72 := \
test_integrations_deferred_loading \
test_integrations_amqp2 \
- test_integrations_amqp35 \
+ test_integrations_amqp_latest \
test_integrations_curl \
test_integrations_kafka \
test_integrations_memcache \
test_integrations_memcached \
- test_integrations_mongodb1 \
+ test_integrations_mongodb_1x \
test_integrations_monolog1 \
test_integrations_monolog2 \
test_integrations_mysqli \
@@ -652,12 +650,12 @@ TEST_INTEGRATIONS_72 := \
test_integrations_elasticsearch1 \
test_integrations_guzzle5 \
test_integrations_guzzle6 \
- test_integrations_guzzle7 \
+ test_integrations_guzzle_latest \
test_integrations_pcntl \
test_integrations_phpredis3 \
test_integrations_phpredis4 \
test_integrations_phpredis5 \
- test_integrations_predis1 \
+ test_integrations_predis_latest \
test_integrations_sqlsrv \
test_opentracing_10
@@ -674,9 +672,9 @@ TEST_WEB_72 := \
test_web_lumen_56 \
test_web_lumen_58 \
test_web_nette_24 \
- test_web_nette_30 \
+ test_web_nette_31 \
test_web_slim_312 \
- test_web_slim_4 \
+ test_web_slim_48 \
test_web_symfony_23 \
test_web_symfony_28 \
test_web_symfony_30 \
@@ -691,19 +689,19 @@ TEST_WEB_72 := \
test_web_wordpress_48 \
test_web_wordpress_55 \
test_web_wordpress_61 \
- test_web_yii_2 \
+ test_web_yii_2049 \
test_web_zend_1 \
test_web_custom
TEST_INTEGRATIONS_73 :=\
test_integrations_deferred_loading \
test_integrations_amqp2 \
- test_integrations_amqp35 \
+ test_integrations_amqp_latest \
test_integrations_curl \
test_integrations_kafka \
test_integrations_memcache \
test_integrations_memcached \
- test_integrations_mongodb1 \
+ test_integrations_mongodb_1x \
test_integrations_monolog1 \
test_integrations_monolog2 \
test_integrations_mysqli \
@@ -711,12 +709,12 @@ TEST_INTEGRATIONS_73 :=\
test_integrations_elasticsearch7 \
test_integrations_guzzle5 \
test_integrations_guzzle6 \
- test_integrations_guzzle7 \
+ test_integrations_guzzle_latest \
test_integrations_pcntl \
test_integrations_phpredis3 \
test_integrations_phpredis4 \
test_integrations_phpredis5 \
- test_integrations_predis1 \
+ test_integrations_predis_latest \
test_integrations_sqlsrv \
test_opentracing_10
@@ -726,7 +724,7 @@ TEST_WEB_73 := \
test_web_codeigniter_22 \
test_web_codeigniter_31 \
test_web_drupal_89 \
- test_web_laminas_14 \
+ test_web_laminas_mvc_33 \
test_web_laravel_57 \
test_web_laravel_58 \
test_web_laravel_8x \
@@ -736,9 +734,9 @@ TEST_WEB_73 := \
test_web_lumen_81 \
test_web_magento_23 \
test_web_nette_24 \
- test_web_nette_30 \
+ test_web_nette_31 \
test_web_slim_312 \
- test_web_slim_4 \
+ test_web_slim_48 \
test_web_symfony_34 \
test_web_symfony_40 \
test_web_symfony_42 \
@@ -749,34 +747,34 @@ TEST_WEB_73 := \
test_web_wordpress_48 \
test_web_wordpress_55 \
test_web_wordpress_61 \
- test_web_yii_2 \
+ test_web_yii_latest \
test_web_zend_1 \
test_web_custom
TEST_INTEGRATIONS_74 := \
test_integrations_deferred_loading \
test_integrations_amqp2 \
- test_integrations_amqp35 \
+ test_integrations_amqp_latest \
test_integrations_curl \
test_integrations_kafka \
test_integrations_memcache \
test_integrations_memcached \
- test_integrations_mongodb1 \
+ test_integrations_mongodb_latest \
test_integrations_monolog1 \
test_integrations_monolog2 \
test_integrations_mysqli \
test_opentelemetry_1 \
test_integrations_pdo \
test_integrations_elasticsearch7 \
- test_integrations_elasticsearch8 \
+ test_integrations_elasticsearch_latest \
test_integrations_guzzle5 \
test_integrations_guzzle6 \
- test_integrations_guzzle7 \
+ test_integrations_guzzle_latest \
test_integrations_pcntl \
test_integrations_phpredis3 \
test_integrations_phpredis4 \
test_integrations_phpredis5 \
- test_integrations_predis1 \
+ test_integrations_predis_latest \
test_integrations_roadrunner \
test_integrations_sqlsrv \
test_opentracing_10
@@ -789,7 +787,7 @@ TEST_WEB_74 := \
test_web_codeigniter_31 \
test_web_drupal_89 \
test_web_drupal_95 \
- test_web_laminas_14 \
+ test_web_laminas_mvc_33 \
test_web_laravel_57 \
test_web_laravel_58 \
test_web_laravel_8x \
@@ -799,9 +797,9 @@ TEST_WEB_74 := \
test_web_lumen_81 \
test_web_magento_23 \
test_web_nette_24 \
- test_web_nette_30 \
+ test_web_nette_31 \
test_web_slim_312 \
- test_web_slim_4 \
+ test_web_slim_latest \
test_web_symfony_34 \
test_web_symfony_40 \
test_web_symfony_44 \
@@ -812,7 +810,7 @@ TEST_WEB_74 := \
test_web_wordpress_55 \
test_web_wordpress_59 \
test_web_wordpress_61 \
- test_web_yii_2 \
+ test_web_yii_latest \
test_web_zend_1 \
test_web_custom
@@ -822,26 +820,26 @@ TEST_WEB_74 := \
TEST_INTEGRATIONS_80 := \
test_integrations_deferred_loading \
test_integrations_amqp2 \
- test_integrations_amqp35 \
+ test_integrations_amqp_latest \
test_integrations_curl \
test_integrations_kafka \
test_integrations_laminaslog2 \
test_integrations_memcache \
test_integrations_memcached \
- test_integrations_mongodb1 \
+ test_integrations_mongodb_latest \
test_integrations_monolog1 \
test_integrations_monolog2 \
test_integrations_mysqli \
test_opentelemetry_1 \
test_integrations_pdo \
test_integrations_elasticsearch7 \
- test_integrations_googlespanner \
+ test_integrations_googlespanner_latest \
test_integrations_guzzle5 \
test_integrations_guzzle6 \
- test_integrations_guzzle7 \
+ test_integrations_guzzle_latest \
test_integrations_pcntl \
test_integrations_phpredis5 \
- test_integrations_predis1 \
+ test_integrations_predis_latest \
test_integrations_sqlsrv \
test_integrations_swoole_5 \
test_opentracing_10
@@ -852,50 +850,49 @@ TEST_WEB_80 := \
test_web_codeigniter_22 \
test_web_codeigniter_31 \
test_web_drupal_95 \
- test_web_laminas_rest_19 \
- test_web_laminas_14 \
- test_web_laminas_20 \
+ test_web_laminas_rest_latest \
+ test_web_laminas_mvc_33 \
test_web_laravel_8x \
test_web_laravel_9x \
test_web_lumen_81 \
test_web_lumen_90 \
test_web_nette_24 \
- test_web_nette_30 \
+ test_web_nette_31 \
test_web_slim_312 \
- test_web_slim_4 \
+ test_web_slim_latest \
test_web_symfony_44 \
test_web_symfony_51 \
test_web_symfony_52 \
test_web_wordpress_59 \
test_web_wordpress_61 \
- test_web_yii_2 \
+ test_web_yii_latest \
test_web_zend_1_21 \
test_web_custom
TEST_INTEGRATIONS_81 := \
test_integrations_amqp2 \
- test_integrations_amqp35 \
+ test_integrations_amqp_latest \
test_integrations_curl \
test_integrations_deferred_loading \
test_integrations_kafka \
test_integrations_laminaslog2 \
test_integrations_memcache \
test_integrations_memcached \
- test_integrations_mongodb1 \
+ test_integrations_mongodb_latest \
test_integrations_monolog1 \
test_integrations_monolog2 \
- test_integrations_monolog3 \
+ test_integrations_monolog_latest \
test_integrations_mysqli \
- test_integrations_openai \
+ test_integrations_openai_latest \
test_opentelemetry_1 \
test_opentelemetry_beta \
- test_integrations_googlespanner \
- test_integrations_guzzle7 \
+ test_integrations_googlespanner_latest \
+ test_integrations_guzzle_latest \
test_integrations_pcntl \
test_integrations_pdo \
test_integrations_elasticsearch7 \
test_integrations_phpredis5 \
- test_integrations_predis1 \
+ test_integrations_predis_latest \
test_integrations_sqlsrv \
test_integrations_swoole_5 \
test_opentracing_10
@@ -903,13 +900,14 @@ TEST_INTEGRATIONS_81 := \
TEST_WEB_81 := \
test_metrics \
test_web_cakephp_45 \
- test_web_cakephp_50 \
+ test_web_cakephp_latest \
test_web_codeigniter_22 \
test_web_codeigniter_31 \
test_web_drupal_95 \
test_web_drupal_101 \
- test_web_laminas_rest_19 \
- test_web_laminas_20 \
+ test_web_laminas_rest_latest \
+ test_web_laminas_mvc_33 \
+ test_web_laminas_mvc_latest \
test_web_laravel_8x \
test_web_laravel_9x \
test_web_laravel_10x \
@@ -917,41 +915,41 @@ TEST_WEB_81 := \
test_web_lumen_90 \
test_web_magento_24 \
test_web_nette_24 \
- test_web_nette_30 \
+ test_web_nette_latest \
test_web_slim_312 \
- test_web_slim_4 \
+ test_web_slim_latest \
test_web_symfony_52 \
test_web_wordpress_59 \
test_web_wordpress_61 \
test_web_custom \
test_web_zend_1_21
-# test_web_yii_2 \
+# test_web_yii_latest \
TEST_INTEGRATIONS_82 := \
test_integrations_amqp2 \
- test_integrations_amqp35 \
+ test_integrations_amqp_latest \
test_integrations_curl \
test_integrations_deferred_loading \
test_integrations_kafka \
test_integrations_laminaslog2 \
test_integrations_memcache \
test_integrations_memcached \
- test_integrations_mongodb1 \
+ test_integrations_mongodb_latest \
test_integrations_monolog1 \
test_integrations_monolog2 \
- test_integrations_monolog3 \
+ test_integrations_monolog_latest \
test_integrations_mysqli \
- test_integrations_openai \
+ test_integrations_openai_latest \
test_opentelemetry_1 \
test_opentelemetry_beta \
- test_integrations_googlespanner \
- test_integrations_guzzle7 \
+ test_integrations_googlespanner_latest \
+ test_integrations_guzzle_latest \
test_integrations_pcntl \
test_integrations_pdo \
test_integrations_elasticsearch7 \
- test_integrations_elasticsearch8 \
+ test_integrations_elasticsearch_latest \
test_integrations_phpredis5 \
- test_integrations_predis1 \
+ test_integrations_predis_latest \
test_integrations_frankenphp \
test_integrations_roadrunner \
test_integrations_sqlsrv \
@@ -961,60 +959,60 @@ TEST_INTEGRATIONS_82 := \
TEST_WEB_82 := \
test_metrics \
test_web_cakephp_45 \
- test_web_cakephp_50 \
+ test_web_cakephp_latest \
test_web_codeigniter_22 \
test_web_codeigniter_31 \
test_web_drupal_95 \
test_web_drupal_101 \
- test_web_laminas_rest_19 \
- test_web_laminas_20 \
+ test_web_laminas_rest_latest \
+ test_web_laminas_mvc_latest \
test_web_laravel_8x \
test_web_laravel_9x \
test_web_laravel_10x \
- test_web_laravel_11x \
- test_web_laravel_octane \
+ test_web_laravel_latest \
+ test_web_laravel_octane_latest \
test_web_lumen_81 \
test_web_lumen_90 \
test_web_lumen_100 \
test_web_magento_24 \
test_web_nette_24 \
- test_web_nette_30 \
+ test_web_nette_latest \
test_web_slim_312 \
- test_web_slim_4 \
+ test_web_slim_latest \
test_web_symfony_52 \
test_web_symfony_62 \
- test_web_symfony_70 \
+ test_web_symfony_latest \
test_web_wordpress_59 \
test_web_wordpress_61 \
test_web_custom \
test_web_zend_1_21
-# test_web_yii_2 \
+# test_web_yii_latest \
TEST_INTEGRATIONS_83 := \
test_integrations_amqp2 \
- test_integrations_amqp35 \
+ test_integrations_amqp_latest \
test_integrations_curl \
test_integrations_deferred_loading \
test_integrations_kafka \
test_integrations_laminaslog2 \
test_integrations_memcache \
test_integrations_memcached \
- test_integrations_mongodb1 \
+ test_integrations_mongodb_latest \
test_integrations_monolog1 \
test_integrations_monolog2 \
- test_integrations_monolog3 \
+ test_integrations_monolog_latest \
test_integrations_mysqli \
- test_integrations_openai \
+ test_integrations_openai_latest \
test_opentelemetry_1 \
test_opentelemetry_beta \
- test_integrations_googlespanner \
- test_integrations_guzzle7 \
+ test_integrations_googlespanner_latest \
+ test_integrations_guzzle_latest \
test_integrations_pcntl \
test_integrations_pdo \
test_integrations_elasticsearch7 \
- test_integrations_elasticsearch8 \
+ test_integrations_elasticsearch_latest \
test_integrations_phpredis5 \
- test_integrations_predis1 \
+ test_integrations_predis_latest \
test_integrations_frankenphp \
test_integrations_roadrunner \
test_integrations_sqlsrv \
@@ -1024,25 +1022,25 @@ TEST_INTEGRATIONS_83 := \
TEST_WEB_83 := \
test_metrics \
test_web_cakephp_45 \
- test_web_cakephp_50 \
+ test_web_cakephp_latest \
test_web_codeigniter_22 \
test_web_codeigniter_31 \
test_web_drupal_95 \
test_web_laravel_8x \
test_web_laravel_9x \
test_web_laravel_10x \
- test_web_laravel_11x \
- test_web_laravel_octane \
+ test_web_laravel_latest \
+ test_web_laravel_octane_latest \
test_web_lumen_81 \
test_web_lumen_90 \
test_web_lumen_100 \
test_web_nette_24 \
- test_web_nette_30 \
+ test_web_nette_latest \
test_web_slim_312 \
- test_web_slim_4 \
+ test_web_slim_latest \
test_web_symfony_52 \
test_web_symfony_62 \
- test_web_symfony_70 \
+ test_web_symfony_latest \
test_web_wordpress_59 \
test_web_wordpress_61 \
test_web_custom \
@@ -1219,8 +1217,8 @@ test_integrations_coverage:
test_integrations_amqp2: global_test_run_dependencies tests/Integrations/AMQP/V2/composer.lock-php$(PHP_MAJOR_MINOR)
$(call run_tests_debug,tests/Integrations/AMQP/V2)
-test_integrations_amqp35: global_test_run_dependencies tests/Integrations/AMQP/V3_5/composer.lock-php$(PHP_MAJOR_MINOR)
- $(call run_tests_debug,tests/Integrations/AMQP/V3_5)
+test_integrations_amqp_latest: global_test_run_dependencies tests/Integrations/AMQP/Latest/composer.lock-php$(PHP_MAJOR_MINOR)
+ $(call run_tests_debug,tests/Integrations/AMQP/Latest)
test_integrations_deferred_loading: global_test_run_dependencies tests/Integrations/DeferredLoading/composer.lock-php$(PHP_MAJOR_MINOR)
$(call run_tests_debug,tests/Integrations/DeferredLoading)
test_integrations_filesystem: global_test_run_dependencies
@@ -1231,14 +1229,14 @@ test_integrations_elasticsearch1: global_test_run_dependencies tests/Integration
$(call run_tests_debug,tests/Integrations/Elasticsearch/V1)
test_integrations_elasticsearch7: global_test_run_dependencies tests/Integrations/Elasticsearch/V7/composer.lock-php$(PHP_MAJOR_MINOR)
$(call run_tests_debug,tests/Integrations/Elasticsearch/V7)
-test_integrations_elasticsearch8: global_test_run_dependencies tests/Integrations/Elasticsearch/V8/composer.lock-php$(PHP_MAJOR_MINOR)
- $(call run_tests_debug,tests/Integrations/Elasticsearch/V8)
+test_integrations_elasticsearch_latest: global_test_run_dependencies tests/Integrations/Elasticsearch/Latest/composer.lock-php$(PHP_MAJOR_MINOR)
+ $(call run_tests_debug,tests/Integrations/Elasticsearch/Latest)
test_integrations_guzzle5: global_test_run_dependencies tests/Integrations/Guzzle/V5/composer.lock-php$(PHP_MAJOR_MINOR)
$(call run_tests_debug,tests/Integrations/Guzzle/V5)
test_integrations_guzzle6: global_test_run_dependencies tests/Integrations/Guzzle/V6/composer.lock-php$(PHP_MAJOR_MINOR)
$(call run_tests_debug,tests/Integrations/Guzzle/V6)
-test_integrations_guzzle7: global_test_run_dependencies tests/Integrations/Guzzle/V7/composer.lock-php$(PHP_MAJOR_MINOR)
- $(call run_tests_debug,tests/Integrations/Guzzle/V7)
+test_integrations_guzzle_latest: global_test_run_dependencies tests/Integrations/Guzzle/Latest/composer.lock-php$(PHP_MAJOR_MINOR)
+ $(call run_tests_debug,tests/Integrations/Guzzle/Latest)
test_integrations_kafka: global_test_run_dependencies
$(call run_tests_debug,tests/Integrations/Kafka)
test_integrations_laminaslog2: global_test_run_dependencies tests/Integrations/Logs/LaminasLogV2/composer.lock-php$(PHP_MAJOR_MINOR)
@@ -1251,17 +1249,19 @@ test_integrations_monolog1: global_test_run_dependencies tests/Integrations/Logs
$(call run_tests_debug,tests/Integrations/Logs/MonologV1)
test_integrations_monolog2: global_test_run_dependencies tests/Integrations/Logs/MonologV2/composer.lock-php$(PHP_MAJOR_MINOR)
$(call run_tests_debug,tests/Integrations/Logs/MonologV2)
-test_integrations_monolog3: global_test_run_dependencies tests/Integrations/Logs/MonologV3/composer.lock-php$(PHP_MAJOR_MINOR)
- $(call run_tests_debug,tests/Integrations/Logs/MonologV3)
+test_integrations_monolog_latest: global_test_run_dependencies tests/Integrations/Logs/MonologLatest/composer.lock-php$(PHP_MAJOR_MINOR)
+ $(call run_tests_debug,tests/Integrations/Logs/MonologLatest)
test_integrations_mysqli: global_test_run_dependencies
$(call run_tests_debug,tests/Integrations/Mysqli)
test_integrations_mongo: global_test_run_dependencies
$(call run_tests_debug,tests/Integrations/Mongo)
-test_integrations_mongodb1: global_test_run_dependencies tests/Integrations/MongoDB/composer.lock-php$(PHP_MAJOR_MINOR)
- $(call run_tests_debug,tests/Integrations/MongoDB)
-test_integrations_openai: global_test_run_dependencies tests/Integrations/OpenAI/composer.lock-php$(PHP_MAJOR_MINOR)
+test_integrations_mongodb_1x: global_test_run_dependencies tests/Integrations/MongoDB/V1_x/composer.lock-php$(PHP_MAJOR_MINOR)
+ $(call run_tests_debug,tests/Integrations/MongoDB/V1_x)
+test_integrations_mongodb_latest: global_test_run_dependencies tests/Integrations/MongoDB/Latest/composer.lock-php$(PHP_MAJOR_MINOR)
+ $(call run_tests_debug,tests/Integrations/MongoDB/Latest)
+test_integrations_openai_latest: global_test_run_dependencies tests/Integrations/OpenAI/Latest/composer.lock-php$(PHP_MAJOR_MINOR)
$(eval TELEMETRY_ENABLED=1)
- $(call run_tests_debug,tests/Integrations/OpenAI)
+ $(call run_tests_debug,tests/Integrations/OpenAI/Latest)
$(eval TELEMETRY_ENABLED=0)
test_integrations_pcntl: global_test_run_dependencies
$(call run_tests_debug,tests/Integrations/PCNTL)
@@ -1281,15 +1281,15 @@ test_integrations_phpredis5: global_test_run_dependencies
$(call run_tests_debug,tests/Integrations/PHPRedis/V5)
$(eval TEST_EXTRA_INI=)
$(eval TEST_EXTRA_ENV=)
-test_integrations_predis1: global_test_run_dependencies tests/Integrations/Predis/composer.lock-php$(PHP_MAJOR_MINOR)
- $(call run_tests_debug,tests/Integrations/Predis)
+test_integrations_predis_latest: global_test_run_dependencies tests/Integrations/Predis/Latest/composer.lock-php$(PHP_MAJOR_MINOR)
+ $(call run_tests_debug,tests/Integrations/Predis/Latest)
test_integrations_frankenphp: global_test_run_dependencies
$(call run_tests_debug,--testsuite=frankenphp-test)
test_integrations_roadrunner: global_test_run_dependencies tests/Frameworks/Roadrunner/Version_2/composer.lock-php$(PHP_MAJOR_MINOR)
$(call run_tests_debug,tests/Integrations/Roadrunner/V2)
-test_integrations_googlespanner: global_test_run_dependencies tests/Integrations/GoogleSpanner/composer.lock-php$(PHP_MAJOR_MINOR)
+test_integrations_googlespanner_latest: global_test_run_dependencies tests/Integrations/GoogleSpanner/Latest/composer.lock-php$(PHP_MAJOR_MINOR)
$(eval TEST_EXTRA_INI=-d extension=grpc.so)
- $(call run_tests_debug,tests/Integrations/GoogleSpanner)
+ $(call run_tests_debug,tests/Integrations/GoogleSpanner/Latest)
$(eval TEST_EXTRA_INI=)
test_integrations_sqlsrv: global_test_run_dependencies
$(eval TEST_EXTRA_INI=-d extension=sqlsrv.so)
@@ -1303,8 +1303,8 @@ test_web_cakephp_310: global_test_run_dependencies tests/Frameworks/CakePHP/Vers
$(call run_tests_debug,--testsuite=cakephp-310-test)
test_web_cakephp_45: global_test_run_dependencies tests/Frameworks/CakePHP/Version_4_5/composer.lock-php$(PHP_MAJOR_MINOR)
$(call run_tests_debug,--testsuite=cakephp-45-test)
-test_web_cakephp_50: global_test_run_dependencies tests/Frameworks/CakePHP/Version_5_0/composer.lock-php$(PHP_MAJOR_MINOR)
- $(call run_tests_debug,--testsuite=cakephp-50-test)
+test_web_cakephp_latest: global_test_run_dependencies tests/Frameworks/CakePHP/Latest/composer.lock-php$(PHP_MAJOR_MINOR)
+ $(call run_tests_debug,--testsuite=cakephp-latest-test)
test_web_codeigniter_22: global_test_run_dependencies
$(call run_tests_debug,--testsuite=codeigniter-22-test)
test_web_codeigniter_31: global_test_run_dependencies tests/Frameworks/CodeIgniter/Version_3_1/composer.lock-php$(PHP_MAJOR_MINOR)
@@ -1315,12 +1315,12 @@ test_web_drupal_95: global_test_run_dependencies tests/Frameworks/Drupal/Version
$(call run_tests_debug,tests/Integrations/Drupal/V9_5)
test_web_drupal_101: global_test_run_dependencies tests/Frameworks/Drupal/Version_10_1/core/composer.lock-php tests/Frameworks/Drupal/Version_10_1/composer.lock-php
$(call run_tests_debug,tests/Integrations/Drupal/V10_1)
-test_web_laminas_rest_19: global_test_run_dependencies tests/Frameworks/Laminas/ApiTools/Version_1_9/composer.lock-php$(PHP_MAJOR_MINOR)
- $(call run_tests_debug,tests/Integrations/Laminas/ApiTools/V1_9)
-test_web_laminas_14: global_test_run_dependencies tests/Frameworks/Laminas/Version_1_4/composer.lock-php$(PHP_MAJOR_MINOR)
- $(call run_tests_debug,tests/Integrations/Laminas/V1_4)
-test_web_laminas_20: global_test_run_dependencies tests/Frameworks/Laminas/Version_2_0/composer.lock-php$(PHP_MAJOR_MINOR)
- $(call run_tests_debug,tests/Integrations/Laminas/V2_0)
+test_web_laminas_rest_latest: global_test_run_dependencies tests/Frameworks/Laminas/ApiTools/Latest/composer.lock-php$(PHP_MAJOR_MINOR)
+ $(call run_tests_debug,tests/Integrations/Laminas/ApiTools/Latest)
+test_web_laminas_mvc_33: global_test_run_dependencies tests/Frameworks/Laminas/Mvc/Version_3_3/composer.lock-php$(PHP_MAJOR_MINOR)
+ $(call run_tests_debug,tests/Integrations/Laminas/Mvc/V3_3)
+test_web_laminas_mvc_latest: global_test_run_dependencies tests/Frameworks/Laminas/Mvc/Latest/composer.lock-php$(PHP_MAJOR_MINOR)
+ $(call run_tests_debug,tests/Integrations/Laminas/Mvc/Latest)
test_web_laravel_42: global_test_run_dependencies tests/Frameworks/Laravel/Version_4_2/composer.lock-php$(PHP_MAJOR_MINOR)
php tests/Frameworks/Laravel/Version_4_2/artisan optimize
$(call run_tests_debug,tests/Integrations/Laravel/V4)
@@ -1334,10 +1334,10 @@ test_web_laravel_9x: global_test_run_dependencies tests/Frameworks/Laravel/Versi
$(call run_tests_debug,--testsuite=laravel-9x-test)
test_web_laravel_10x: global_test_run_dependencies tests/Frameworks/Laravel/Version_10_x/composer.lock-php$(PHP_MAJOR_MINOR)
$(call run_tests_debug,--testsuite=laravel-10x-test)
-test_web_laravel_11x: global_test_run_dependencies tests/Frameworks/Laravel/Version_11_x/composer.lock-php$(PHP_MAJOR_MINOR)
- $(call run_tests_debug,--testsuite=laravel-11x-test)
-test_web_laravel_octane: global_test_run_dependencies tests/Frameworks/Laravel/Octane/composer.lock-php$(PHP_MAJOR_MINOR)
- $(call run_tests_debug,--testsuite=laravel-octane-test)
+test_web_laravel_latest: global_test_run_dependencies tests/Frameworks/Laravel/Latest/composer.lock-php$(PHP_MAJOR_MINOR)
+ $(call run_tests_debug,--testsuite=laravel-latest-test)
+test_web_laravel_octane_latest: global_test_run_dependencies tests/Frameworks/Laravel/Octane/Latest/composer.lock-php$(PHP_MAJOR_MINOR)
+ $(call run_tests_debug,--testsuite=laravel-octane-latest-test)
test_web_lumen_52: global_test_run_dependencies tests/Frameworks/Lumen/Version_5_2/composer.lock-php$(PHP_MAJOR_MINOR)
$(call run_tests_debug,tests/Integrations/Lumen/V5_2)
test_web_lumen_56: global_test_run_dependencies tests/Frameworks/Lumen/Version_5_6/composer.lock-php$(PHP_MAJOR_MINOR)
@@ -1352,8 +1352,10 @@ test_web_lumen_100: global_test_run_dependencies tests/Frameworks/Lumen/Version_
$(call run_tests_debug,tests/Integrations/Lumen/V10_0)
test_web_slim_312: global_test_run_dependencies tests/Frameworks/Slim/Version_3_12/composer.lock-php$(PHP_MAJOR_MINOR)
$(call run_tests_debug,--testsuite=slim-312-test)
-test_web_slim_4: global_test_run_dependencies tests/Frameworks/Slim/Version_4/composer.lock-php$(PHP_MAJOR_MINOR)
- $(call run_tests_debug,--testsuite=slim-4-test)
+test_web_slim_48: global_test_run_dependencies tests/Frameworks/Slim/Version_4_8/composer.lock-php$(PHP_MAJOR_MINOR)
+ $(call run_tests_debug,--testsuite=slim-48-test)
+test_web_slim_latest: global_test_run_dependencies tests/Frameworks/Slim/Latest/composer.lock-php$(PHP_MAJOR_MINOR)
+ $(call run_tests_debug,--testsuite=slim-latest-test)
test_web_symfony_23: global_test_run_dependencies tests/Frameworks/Symfony/Version_2_3/composer.lock-php$(PHP_MAJOR_MINOR)
$(call run_tests_debug,tests/Integrations/Symfony/V2_3)
test_web_symfony_28: global_test_run_dependencies tests/Frameworks/Symfony/Version_2_8/composer.lock-php$(PHP_MAJOR_MINOR)
@@ -1392,9 +1394,9 @@ test_web_symfony_52: global_test_run_dependencies tests/Frameworks/Symfony/Versi
test_web_symfony_62: global_test_run_dependencies tests/Frameworks/Symfony/Version_6_2/composer.lock-php$(PHP_MAJOR_MINOR)
php tests/Frameworks/Symfony/Version_6_2/bin/console cache:clear --no-warmup --env=prod
$(call run_tests_debug,--testsuite=symfony-62-test)
-test_web_symfony_70: global_test_run_dependencies tests/Frameworks/Symfony/Version_7_0/composer.lock-php$(PHP_MAJOR_MINOR)
- php tests/Frameworks/Symfony/Version_7_0/bin/console cache:clear --no-warmup --env=prod
- $(call run_tests_debug,--testsuite=symfony-70-test)
+test_web_symfony_latest: global_test_run_dependencies tests/Frameworks/Symfony/Latest/composer.lock-php$(PHP_MAJOR_MINOR)
+ php tests/Frameworks/Symfony/Latest/bin/console cache:clear --no-warmup --env=prod
+ $(call run_tests_debug,--testsuite=symfony-latest-test)
test_web_wordpress_48: global_test_run_dependencies
$(call run_tests_debug,tests/Integrations/WordPress/V4_8)
test_web_wordpress_55: global_test_run_dependencies
@@ -1403,16 +1405,20 @@ test_web_wordpress_59: global_test_run_dependencies
$(call run_tests_debug,tests/Integrations/WordPress/V5_9)
test_web_wordpress_61: global_test_run_dependencies
$(call run_tests_debug,tests/Integrations/WordPress/V6_1)
-test_web_yii_2: global_test_run_dependencies tests/Frameworks/Yii/Version_2_0/composer.lock-php$(PHP_MAJOR_MINOR)
- $(call run_tests_debug,tests/Integrations/Yii/V2_0)
+test_web_yii_2049: global_test_run_dependencies tests/Frameworks/Yii/Version_2_0_49/composer.lock-php$(PHP_MAJOR_MINOR)
+ $(call run_tests_debug,tests/Integrations/Yii/V2_0_49)
+test_web_yii_latest: global_test_run_dependencies tests/Frameworks/Yii/Latest/composer.lock-php$(PHP_MAJOR_MINOR)
+ $(call run_tests_debug,tests/Integrations/Yii/Latest)
test_web_magento_23: global_test_run_dependencies tests/Frameworks/Magento/Version_2_3/composer.lock-php$(PHP_MAJOR_MINOR)
$(call run_tests_debug,tests/Integrations/Magento/V2_3)
test_web_magento_24: global_test_run_dependencies tests/Frameworks/Magento/Version_2_4/composer.lock-php$(PHP_MAJOR_MINOR)
$(call run_tests_debug,tests/Integrations/Magento/V2_4)
test_web_nette_24: global_test_run_dependencies tests/Frameworks/Nette/Version_2_4/composer.lock-php$(PHP_MAJOR_MINOR)
$(call run_tests_debug,tests/Integrations/Nette/V2_4)
-test_web_nette_30: global_test_run_dependencies tests/Frameworks/Nette/Version_3_0/composer.lock-php$(PHP_MAJOR_MINOR)
- $(call run_tests_debug,tests/Integrations/Nette/V3_0)
+test_web_nette_31: global_test_run_dependencies tests/Frameworks/Nette/Version_3_1/composer.lock-php$(PHP_MAJOR_MINOR)
+ $(call run_tests_debug,tests/Integrations/Nette/V3_1)
+test_web_nette_latest: global_test_run_dependencies tests/Frameworks/Nette/Latest/composer.lock-php$(PHP_MAJOR_MINOR)
+ $(call run_tests_debug,tests/Integrations/Nette/Latest)
test_web_zend_1: global_test_run_dependencies
$(call run_tests_debug,tests/Integrations/ZendFramework/V1)
test_web_zend_1_21: global_test_run_dependencies
@@ -1444,4 +1450,4 @@ composer.lock: composer.json
$(call run_composer_with_retry,,)
.PHONY: dev dist_clean clean cores all clang_format_check clang_format_fix install sudo_install test_c test_c_mem test_extension_ci test_zai test_zai_asan test install_ini install_all \
- .apk .rpm .deb .tar.gz sudo debug prod strict run-tests.php verify_pecl_file_definitions verify_package_xml cbindgen cbindgen_binary
+ .apk .rpm .deb .tar.gz sudo debug prod strict run-tests.php verify_pecl_file_definitions verify_package_xml cbindgen cbindgen_binary
\ No newline at end of file
diff --git a/tests/Common/IntegrationTestCase.php b/tests/Common/IntegrationTestCase.php
index 4131606733..060200af09 100644
--- a/tests/Common/IntegrationTestCase.php
+++ b/tests/Common/IntegrationTestCase.php
@@ -92,6 +92,23 @@ protected function disableTranslateWarningsIntoErrors()
error_reporting(E_ERROR | E_PARSE);
}
+ public static function getTestedLibrary()
+ {
+ $file = (new \ReflectionClass(get_called_class()))->getFileName();
+ $composer = null;
+
+ if (file_exists(dirname($file) . '/composer.json')) {
+ $composer = dirname($file) . '/composer.json';
+ }
+
+ if (!$composer) {
+ return null;
+ }
+
+ $composerData = json_decode(file_get_contents($composer), true);
+ return key($composerData['require']);
+ }
+
/**
* Checks the exact match of a set of SpanAssertion with the provided Spans.
*
diff --git a/tests/Common/WebFrameworkTestCase.php b/tests/Common/WebFrameworkTestCase.php
index c1ae0bdadb..32f61872dc 100644
--- a/tests/Common/WebFrameworkTestCase.php
+++ b/tests/Common/WebFrameworkTestCase.php
@@ -81,7 +81,7 @@ protected function ddTearDown()
*
* @return string|null
*/
- protected static function getAppIndexScript()
+ public static function getAppIndexScript()
{
return null;
}
diff --git a/tests/DistributedTracing/DistributedTraceTest.php b/tests/DistributedTracing/DistributedTraceTest.php
index 194cc1acff..5f64e69b33 100644
--- a/tests/DistributedTracing/DistributedTraceTest.php
+++ b/tests/DistributedTracing/DistributedTraceTest.php
@@ -15,7 +15,7 @@ protected function ddSetUp()
\dd_trace_disable_in_request();
}
- protected static function getAppIndexScript()
+ public static function getAppIndexScript()
{
return __DIR__ . '/../Frameworks/Custom/Version_Not_Autoloaded/index.php';
}
diff --git a/tests/DistributedTracing/SamplingPriorityTest.php b/tests/DistributedTracing/SamplingPriorityTest.php
index 40ecab2ede..3c071e875f 100644
--- a/tests/DistributedTracing/SamplingPriorityTest.php
+++ b/tests/DistributedTracing/SamplingPriorityTest.php
@@ -8,7 +8,7 @@
class SamplingPriorityTest extends WebFrameworkTestCase
{
- protected static function getAppIndexScript()
+ public static function getAppIndexScript()
{
return __DIR__ . '/../Frameworks/Custom/Version_Not_Autoloaded/index.php';
}
diff --git a/tests/DistributedTracing/SandboxAndLegacyTest.php b/tests/DistributedTracing/SandboxAndLegacyTest.php
index db1e7cfb4a..8792df3175 100644
--- a/tests/DistributedTracing/SandboxAndLegacyTest.php
+++ b/tests/DistributedTracing/SandboxAndLegacyTest.php
@@ -15,7 +15,7 @@ protected function ddSetUp()
\dd_trace_disable_in_request();
}
- protected static function getAppIndexScript()
+ public static function getAppIndexScript()
{
return __DIR__ . '/../Frameworks/Custom/Version_Not_Autoloaded/sandbox.php';
}
diff --git a/tests/DistributedTracing/SyntheticsTest.php b/tests/DistributedTracing/SyntheticsTest.php
index 4180ca8455..acb20e7e01 100644
--- a/tests/DistributedTracing/SyntheticsTest.php
+++ b/tests/DistributedTracing/SyntheticsTest.php
@@ -8,7 +8,7 @@
class SyntheticsTest extends WebFrameworkTestCase
{
- protected static function getAppIndexScript()
+ public static function getAppIndexScript()
{
return __DIR__ . '/../Frameworks/Custom/Version_Not_Autoloaded/index.php';
}
diff --git a/tests/Frameworks/CakePHP/Version_5_0/.editorconfig b/tests/Frameworks/CakePHP/Latest/.editorconfig
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/.editorconfig
rename to tests/Frameworks/CakePHP/Latest/.editorconfig
diff --git a/tests/Frameworks/CakePHP/Version_5_0/.gitattributes b/tests/Frameworks/CakePHP/Latest/.gitattributes
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/.gitattributes
rename to tests/Frameworks/CakePHP/Latest/.gitattributes
diff --git a/tests/Frameworks/CakePHP/Version_5_0/.gitignore b/tests/Frameworks/CakePHP/Latest/.gitignore
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/.gitignore
rename to tests/Frameworks/CakePHP/Latest/.gitignore
diff --git a/tests/Frameworks/CakePHP/Version_5_0/.htaccess b/tests/Frameworks/CakePHP/Latest/.htaccess
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/.htaccess
rename to tests/Frameworks/CakePHP/Latest/.htaccess
diff --git a/tests/Frameworks/CakePHP/Version_5_0/README.md b/tests/Frameworks/CakePHP/Latest/README.md
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/README.md
rename to tests/Frameworks/CakePHP/Latest/README.md
diff --git a/tests/Frameworks/CakePHP/Version_5_0/bin/bash_completion.sh b/tests/Frameworks/CakePHP/Latest/bin/bash_completion.sh
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/bin/bash_completion.sh
rename to tests/Frameworks/CakePHP/Latest/bin/bash_completion.sh
diff --git a/tests/Frameworks/CakePHP/Version_5_0/bin/cake b/tests/Frameworks/CakePHP/Latest/bin/cake
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/bin/cake
rename to tests/Frameworks/CakePHP/Latest/bin/cake
diff --git a/tests/Frameworks/CakePHP/Version_5_0/bin/cake.bat b/tests/Frameworks/CakePHP/Latest/bin/cake.bat
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/bin/cake.bat
rename to tests/Frameworks/CakePHP/Latest/bin/cake.bat
diff --git a/tests/Frameworks/CakePHP/Version_5_0/bin/cake.php b/tests/Frameworks/CakePHP/Latest/bin/cake.php
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/bin/cake.php
rename to tests/Frameworks/CakePHP/Latest/bin/cake.php
diff --git a/tests/Frameworks/CakePHP/Version_5_0/composer.json b/tests/Frameworks/CakePHP/Latest/composer.json
similarity index 98%
rename from tests/Frameworks/CakePHP/Version_5_0/composer.json
rename to tests/Frameworks/CakePHP/Latest/composer.json
index bbcb4956fc..031df0c408 100644
--- a/tests/Frameworks/CakePHP/Version_5_0/composer.json
+++ b/tests/Frameworks/CakePHP/Latest/composer.json
@@ -6,7 +6,7 @@
"license": "MIT",
"require": {
"php": ">=8.1",
- "cakephp/cakephp": "^5.0.1",
+ "cakephp/cakephp": "5.1.5",
"cakephp/migrations": "^4.0.0",
"cakephp/plugin-installer": "^2.0",
"mobiledetect/mobiledetectlib": "^3.74"
@@ -55,4 +55,4 @@
"dealerdirect/phpcodesniffer-composer-installer": true
}
}
-}
+}
\ No newline at end of file
diff --git a/tests/Frameworks/CakePHP/Version_5_0/config/.env.example b/tests/Frameworks/CakePHP/Latest/config/.env.example
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/config/.env.example
rename to tests/Frameworks/CakePHP/Latest/config/.env.example
diff --git a/tests/Frameworks/CakePHP/Version_5_0/config/app.php b/tests/Frameworks/CakePHP/Latest/config/app.php
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/config/app.php
rename to tests/Frameworks/CakePHP/Latest/config/app.php
diff --git a/tests/Frameworks/CakePHP/Version_5_0/config/app_local.example.php b/tests/Frameworks/CakePHP/Latest/config/app_local.example.php
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/config/app_local.example.php
rename to tests/Frameworks/CakePHP/Latest/config/app_local.example.php
diff --git a/tests/Frameworks/CakePHP/Version_5_0/config/bootstrap.php b/tests/Frameworks/CakePHP/Latest/config/bootstrap.php
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/config/bootstrap.php
rename to tests/Frameworks/CakePHP/Latest/config/bootstrap.php
diff --git a/tests/Frameworks/CakePHP/Version_5_0/config/bootstrap_cli.php b/tests/Frameworks/CakePHP/Latest/config/bootstrap_cli.php
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/config/bootstrap_cli.php
rename to tests/Frameworks/CakePHP/Latest/config/bootstrap_cli.php
diff --git a/tests/Frameworks/CakePHP/Version_5_0/config/paths.php b/tests/Frameworks/CakePHP/Latest/config/paths.php
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/config/paths.php
rename to tests/Frameworks/CakePHP/Latest/config/paths.php
diff --git a/tests/Frameworks/CakePHP/Version_5_0/config/plugins.php b/tests/Frameworks/CakePHP/Latest/config/plugins.php
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/config/plugins.php
rename to tests/Frameworks/CakePHP/Latest/config/plugins.php
diff --git a/tests/Frameworks/CakePHP/Version_5_0/config/routes.php b/tests/Frameworks/CakePHP/Latest/config/routes.php
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/config/routes.php
rename to tests/Frameworks/CakePHP/Latest/config/routes.php
diff --git a/tests/Frameworks/CakePHP/Version_5_0/config/schema/i18n.sql b/tests/Frameworks/CakePHP/Latest/config/schema/i18n.sql
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/config/schema/i18n.sql
rename to tests/Frameworks/CakePHP/Latest/config/schema/i18n.sql
diff --git a/tests/Frameworks/CakePHP/Version_5_0/config/schema/sessions.sql b/tests/Frameworks/CakePHP/Latest/config/schema/sessions.sql
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/config/schema/sessions.sql
rename to tests/Frameworks/CakePHP/Latest/config/schema/sessions.sql
diff --git a/tests/Frameworks/CakePHP/Version_5_0/index.php b/tests/Frameworks/CakePHP/Latest/index.php
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/index.php
rename to tests/Frameworks/CakePHP/Latest/index.php
diff --git a/tests/Frameworks/CakePHP/Version_5_0/phpcs.xml b/tests/Frameworks/CakePHP/Latest/phpcs.xml
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/phpcs.xml
rename to tests/Frameworks/CakePHP/Latest/phpcs.xml
diff --git a/tests/Frameworks/CakePHP/Version_5_0/phpstan.neon b/tests/Frameworks/CakePHP/Latest/phpstan.neon
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/phpstan.neon
rename to tests/Frameworks/CakePHP/Latest/phpstan.neon
diff --git a/tests/Frameworks/CakePHP/Version_5_0/phpunit.xml.dist b/tests/Frameworks/CakePHP/Latest/phpunit.xml.dist
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/phpunit.xml.dist
rename to tests/Frameworks/CakePHP/Latest/phpunit.xml.dist
diff --git a/tests/Frameworks/CakePHP/Version_5_0/plugins/.gitkeep b/tests/Frameworks/CakePHP/Latest/plugins/.gitkeep
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/plugins/.gitkeep
rename to tests/Frameworks/CakePHP/Latest/plugins/.gitkeep
diff --git a/tests/Frameworks/CakePHP/Version_5_0/psalm.xml b/tests/Frameworks/CakePHP/Latest/psalm.xml
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/psalm.xml
rename to tests/Frameworks/CakePHP/Latest/psalm.xml
diff --git a/tests/Frameworks/CakePHP/Version_5_0/resources/.gitkeep b/tests/Frameworks/CakePHP/Latest/resources/.gitkeep
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/resources/.gitkeep
rename to tests/Frameworks/CakePHP/Latest/resources/.gitkeep
diff --git a/tests/Frameworks/CakePHP/Version_5_0/src/Application.php b/tests/Frameworks/CakePHP/Latest/src/Application.php
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/src/Application.php
rename to tests/Frameworks/CakePHP/Latest/src/Application.php
diff --git a/tests/Frameworks/CakePHP/Version_5_0/src/Console/Installer.php b/tests/Frameworks/CakePHP/Latest/src/Console/Installer.php
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/src/Console/Installer.php
rename to tests/Frameworks/CakePHP/Latest/src/Console/Installer.php
diff --git a/tests/Frameworks/CakePHP/Version_5_0/src/Controller/AppController.php b/tests/Frameworks/CakePHP/Latest/src/Controller/AppController.php
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/src/Controller/AppController.php
rename to tests/Frameworks/CakePHP/Latest/src/Controller/AppController.php
diff --git a/tests/Frameworks/CakePHP/Version_5_0/src/Controller/Component/.gitkeep b/tests/Frameworks/CakePHP/Latest/src/Controller/Component/.gitkeep
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/src/Controller/Component/.gitkeep
rename to tests/Frameworks/CakePHP/Latest/src/Controller/Component/.gitkeep
diff --git a/tests/Frameworks/CakePHP/Version_5_0/src/Controller/ErrorController.php b/tests/Frameworks/CakePHP/Latest/src/Controller/ErrorController.php
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/src/Controller/ErrorController.php
rename to tests/Frameworks/CakePHP/Latest/src/Controller/ErrorController.php
diff --git a/tests/Frameworks/CakePHP/Version_5_0/src/Controller/PagesController.php b/tests/Frameworks/CakePHP/Latest/src/Controller/PagesController.php
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/src/Controller/PagesController.php
rename to tests/Frameworks/CakePHP/Latest/src/Controller/PagesController.php
diff --git a/tests/Frameworks/CakePHP/Version_5_0/src/Controller/ParameterizedController.php b/tests/Frameworks/CakePHP/Latest/src/Controller/ParameterizedController.php
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/src/Controller/ParameterizedController.php
rename to tests/Frameworks/CakePHP/Latest/src/Controller/ParameterizedController.php
diff --git a/tests/Frameworks/CakePHP/Version_5_0/src/Controller/SimpleController.php b/tests/Frameworks/CakePHP/Latest/src/Controller/SimpleController.php
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/src/Controller/SimpleController.php
rename to tests/Frameworks/CakePHP/Latest/src/Controller/SimpleController.php
diff --git a/tests/Frameworks/CakePHP/Version_5_0/src/Controller/Simple_viewController.php b/tests/Frameworks/CakePHP/Latest/src/Controller/Simple_viewController.php
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/src/Controller/Simple_viewController.php
rename to tests/Frameworks/CakePHP/Latest/src/Controller/Simple_viewController.php
diff --git a/tests/Frameworks/CakePHP/Version_5_0/src/Model/Behavior/.gitkeep b/tests/Frameworks/CakePHP/Latest/src/Model/Behavior/.gitkeep
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/src/Model/Behavior/.gitkeep
rename to tests/Frameworks/CakePHP/Latest/src/Model/Behavior/.gitkeep
diff --git a/tests/Frameworks/CakePHP/Version_5_0/src/Model/Entity/.gitkeep b/tests/Frameworks/CakePHP/Latest/src/Model/Entity/.gitkeep
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/src/Model/Entity/.gitkeep
rename to tests/Frameworks/CakePHP/Latest/src/Model/Entity/.gitkeep
diff --git a/tests/Frameworks/CakePHP/Version_5_0/src/Model/Table/.gitkeep b/tests/Frameworks/CakePHP/Latest/src/Model/Table/.gitkeep
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/src/Model/Table/.gitkeep
rename to tests/Frameworks/CakePHP/Latest/src/Model/Table/.gitkeep
diff --git a/tests/Frameworks/CakePHP/Version_5_0/src/View/AjaxView.php b/tests/Frameworks/CakePHP/Latest/src/View/AjaxView.php
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/src/View/AjaxView.php
rename to tests/Frameworks/CakePHP/Latest/src/View/AjaxView.php
diff --git a/tests/Frameworks/CakePHP/Version_5_0/src/View/AppView.php b/tests/Frameworks/CakePHP/Latest/src/View/AppView.php
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/src/View/AppView.php
rename to tests/Frameworks/CakePHP/Latest/src/View/AppView.php
diff --git a/tests/Frameworks/CakePHP/Version_5_0/src/View/Cell/.gitkeep b/tests/Frameworks/CakePHP/Latest/src/View/Cell/.gitkeep
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/src/View/Cell/.gitkeep
rename to tests/Frameworks/CakePHP/Latest/src/View/Cell/.gitkeep
diff --git a/tests/Frameworks/CakePHP/Version_5_0/src/View/Helper/.gitkeep b/tests/Frameworks/CakePHP/Latest/src/View/Helper/.gitkeep
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/src/View/Helper/.gitkeep
rename to tests/Frameworks/CakePHP/Latest/src/View/Helper/.gitkeep
diff --git a/tests/Frameworks/CakePHP/Version_5_0/templates/Error/error400.php b/tests/Frameworks/CakePHP/Latest/templates/Error/error400.php
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/templates/Error/error400.php
rename to tests/Frameworks/CakePHP/Latest/templates/Error/error400.php
diff --git a/tests/Frameworks/CakePHP/Version_5_0/templates/Error/error500.php b/tests/Frameworks/CakePHP/Latest/templates/Error/error500.php
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/templates/Error/error500.php
rename to tests/Frameworks/CakePHP/Latest/templates/Error/error500.php
diff --git a/tests/Frameworks/CakePHP/Version_5_0/templates/Pages/home.php b/tests/Frameworks/CakePHP/Latest/templates/Pages/home.php
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/templates/Pages/home.php
rename to tests/Frameworks/CakePHP/Latest/templates/Pages/home.php
diff --git a/tests/Frameworks/CakePHP/Version_5_0/templates/Simple_view/index.php b/tests/Frameworks/CakePHP/Latest/templates/Simple_view/index.php
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/templates/Simple_view/index.php
rename to tests/Frameworks/CakePHP/Latest/templates/Simple_view/index.php
diff --git a/tests/Frameworks/CakePHP/Version_5_0/templates/cell/.gitkeep b/tests/Frameworks/CakePHP/Latest/templates/cell/.gitkeep
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/templates/cell/.gitkeep
rename to tests/Frameworks/CakePHP/Latest/templates/cell/.gitkeep
diff --git a/tests/Frameworks/CakePHP/Version_5_0/templates/element/flash/default.php b/tests/Frameworks/CakePHP/Latest/templates/element/flash/default.php
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/templates/element/flash/default.php
rename to tests/Frameworks/CakePHP/Latest/templates/element/flash/default.php
diff --git a/tests/Frameworks/CakePHP/Version_5_0/templates/element/flash/error.php b/tests/Frameworks/CakePHP/Latest/templates/element/flash/error.php
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/templates/element/flash/error.php
rename to tests/Frameworks/CakePHP/Latest/templates/element/flash/error.php
diff --git a/tests/Frameworks/CakePHP/Version_5_0/templates/element/flash/info.php b/tests/Frameworks/CakePHP/Latest/templates/element/flash/info.php
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/templates/element/flash/info.php
rename to tests/Frameworks/CakePHP/Latest/templates/element/flash/info.php
diff --git a/tests/Frameworks/CakePHP/Version_5_0/templates/element/flash/success.php b/tests/Frameworks/CakePHP/Latest/templates/element/flash/success.php
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/templates/element/flash/success.php
rename to tests/Frameworks/CakePHP/Latest/templates/element/flash/success.php
diff --git a/tests/Frameworks/CakePHP/Version_5_0/templates/element/flash/warning.php b/tests/Frameworks/CakePHP/Latest/templates/element/flash/warning.php
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/templates/element/flash/warning.php
rename to tests/Frameworks/CakePHP/Latest/templates/element/flash/warning.php
diff --git a/tests/Frameworks/CakePHP/Version_5_0/templates/email/html/default.php b/tests/Frameworks/CakePHP/Latest/templates/email/html/default.php
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/templates/email/html/default.php
rename to tests/Frameworks/CakePHP/Latest/templates/email/html/default.php
diff --git a/tests/Frameworks/CakePHP/Version_5_0/templates/email/text/default.php b/tests/Frameworks/CakePHP/Latest/templates/email/text/default.php
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/templates/email/text/default.php
rename to tests/Frameworks/CakePHP/Latest/templates/email/text/default.php
diff --git a/tests/Frameworks/CakePHP/Version_5_0/templates/layout/ajax.php b/tests/Frameworks/CakePHP/Latest/templates/layout/ajax.php
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/templates/layout/ajax.php
rename to tests/Frameworks/CakePHP/Latest/templates/layout/ajax.php
diff --git a/tests/Frameworks/CakePHP/Version_5_0/templates/layout/default.php b/tests/Frameworks/CakePHP/Latest/templates/layout/default.php
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/templates/layout/default.php
rename to tests/Frameworks/CakePHP/Latest/templates/layout/default.php
diff --git a/tests/Frameworks/CakePHP/Version_5_0/templates/layout/email/html/default.php b/tests/Frameworks/CakePHP/Latest/templates/layout/email/html/default.php
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/templates/layout/email/html/default.php
rename to tests/Frameworks/CakePHP/Latest/templates/layout/email/html/default.php
diff --git a/tests/Frameworks/CakePHP/Version_5_0/templates/layout/email/text/default.php b/tests/Frameworks/CakePHP/Latest/templates/layout/email/text/default.php
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/templates/layout/email/text/default.php
rename to tests/Frameworks/CakePHP/Latest/templates/layout/email/text/default.php
diff --git a/tests/Frameworks/CakePHP/Version_5_0/templates/layout/error.php b/tests/Frameworks/CakePHP/Latest/templates/layout/error.php
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/templates/layout/error.php
rename to tests/Frameworks/CakePHP/Latest/templates/layout/error.php
diff --git a/tests/Frameworks/CakePHP/Version_5_0/tests/Fixture/.gitkeep b/tests/Frameworks/CakePHP/Latest/tests/Fixture/.gitkeep
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/tests/Fixture/.gitkeep
rename to tests/Frameworks/CakePHP/Latest/tests/Fixture/.gitkeep
diff --git a/tests/Frameworks/CakePHP/Version_5_0/tests/TestCase/ApplicationTest.php b/tests/Frameworks/CakePHP/Latest/tests/TestCase/ApplicationTest.php
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/tests/TestCase/ApplicationTest.php
rename to tests/Frameworks/CakePHP/Latest/tests/TestCase/ApplicationTest.php
diff --git a/tests/Frameworks/CakePHP/Version_5_0/tests/TestCase/Controller/Component/.gitkeep b/tests/Frameworks/CakePHP/Latest/tests/TestCase/Controller/Component/.gitkeep
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/tests/TestCase/Controller/Component/.gitkeep
rename to tests/Frameworks/CakePHP/Latest/tests/TestCase/Controller/Component/.gitkeep
diff --git a/tests/Frameworks/CakePHP/Version_5_0/tests/TestCase/Controller/PagesControllerTest.php b/tests/Frameworks/CakePHP/Latest/tests/TestCase/Controller/PagesControllerTest.php
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/tests/TestCase/Controller/PagesControllerTest.php
rename to tests/Frameworks/CakePHP/Latest/tests/TestCase/Controller/PagesControllerTest.php
diff --git a/tests/Frameworks/CakePHP/Version_5_0/tests/TestCase/Model/Behavior/.gitkeep b/tests/Frameworks/CakePHP/Latest/tests/TestCase/Model/Behavior/.gitkeep
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/tests/TestCase/Model/Behavior/.gitkeep
rename to tests/Frameworks/CakePHP/Latest/tests/TestCase/Model/Behavior/.gitkeep
diff --git a/tests/Frameworks/CakePHP/Version_5_0/tests/TestCase/View/Helper/.gitkeep b/tests/Frameworks/CakePHP/Latest/tests/TestCase/View/Helper/.gitkeep
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/tests/TestCase/View/Helper/.gitkeep
rename to tests/Frameworks/CakePHP/Latest/tests/TestCase/View/Helper/.gitkeep
diff --git a/tests/Frameworks/CakePHP/Version_5_0/tests/bootstrap.php b/tests/Frameworks/CakePHP/Latest/tests/bootstrap.php
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/tests/bootstrap.php
rename to tests/Frameworks/CakePHP/Latest/tests/bootstrap.php
diff --git a/tests/Frameworks/CakePHP/Version_5_0/tests/schema.sql b/tests/Frameworks/CakePHP/Latest/tests/schema.sql
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/tests/schema.sql
rename to tests/Frameworks/CakePHP/Latest/tests/schema.sql
diff --git a/tests/Frameworks/CakePHP/Version_5_0/webroot/.htaccess b/tests/Frameworks/CakePHP/Latest/webroot/.htaccess
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/webroot/.htaccess
rename to tests/Frameworks/CakePHP/Latest/webroot/.htaccess
diff --git a/tests/Frameworks/CakePHP/Version_5_0/webroot/css/cake.css b/tests/Frameworks/CakePHP/Latest/webroot/css/cake.css
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/webroot/css/cake.css
rename to tests/Frameworks/CakePHP/Latest/webroot/css/cake.css
diff --git a/tests/Frameworks/CakePHP/Version_5_0/webroot/css/fonts.css b/tests/Frameworks/CakePHP/Latest/webroot/css/fonts.css
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/webroot/css/fonts.css
rename to tests/Frameworks/CakePHP/Latest/webroot/css/fonts.css
diff --git a/tests/Frameworks/CakePHP/Version_5_0/webroot/css/home.css b/tests/Frameworks/CakePHP/Latest/webroot/css/home.css
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/webroot/css/home.css
rename to tests/Frameworks/CakePHP/Latest/webroot/css/home.css
diff --git a/tests/Frameworks/CakePHP/Version_5_0/webroot/css/milligram.min.css b/tests/Frameworks/CakePHP/Latest/webroot/css/milligram.min.css
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/webroot/css/milligram.min.css
rename to tests/Frameworks/CakePHP/Latest/webroot/css/milligram.min.css
diff --git a/tests/Frameworks/CakePHP/Version_5_0/webroot/css/normalize.min.css b/tests/Frameworks/CakePHP/Latest/webroot/css/normalize.min.css
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/webroot/css/normalize.min.css
rename to tests/Frameworks/CakePHP/Latest/webroot/css/normalize.min.css
diff --git a/tests/Frameworks/CakePHP/Version_5_0/webroot/favicon.ico b/tests/Frameworks/CakePHP/Latest/webroot/favicon.ico
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/webroot/favicon.ico
rename to tests/Frameworks/CakePHP/Latest/webroot/favicon.ico
diff --git a/tests/Frameworks/CakePHP/Version_5_0/webroot/font/Raleway-License.txt b/tests/Frameworks/CakePHP/Latest/webroot/font/Raleway-License.txt
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/webroot/font/Raleway-License.txt
rename to tests/Frameworks/CakePHP/Latest/webroot/font/Raleway-License.txt
diff --git a/tests/Frameworks/CakePHP/Version_5_0/webroot/font/cakedingbats-webfont.eot b/tests/Frameworks/CakePHP/Latest/webroot/font/cakedingbats-webfont.eot
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/webroot/font/cakedingbats-webfont.eot
rename to tests/Frameworks/CakePHP/Latest/webroot/font/cakedingbats-webfont.eot
diff --git a/tests/Frameworks/CakePHP/Version_5_0/webroot/font/cakedingbats-webfont.svg b/tests/Frameworks/CakePHP/Latest/webroot/font/cakedingbats-webfont.svg
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/webroot/font/cakedingbats-webfont.svg
rename to tests/Frameworks/CakePHP/Latest/webroot/font/cakedingbats-webfont.svg
diff --git a/tests/Frameworks/CakePHP/Version_5_0/webroot/font/cakedingbats-webfont.ttf b/tests/Frameworks/CakePHP/Latest/webroot/font/cakedingbats-webfont.ttf
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/webroot/font/cakedingbats-webfont.ttf
rename to tests/Frameworks/CakePHP/Latest/webroot/font/cakedingbats-webfont.ttf
diff --git a/tests/Frameworks/CakePHP/Version_5_0/webroot/font/cakedingbats-webfont.woff b/tests/Frameworks/CakePHP/Latest/webroot/font/cakedingbats-webfont.woff
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/webroot/font/cakedingbats-webfont.woff
rename to tests/Frameworks/CakePHP/Latest/webroot/font/cakedingbats-webfont.woff
diff --git a/tests/Frameworks/CakePHP/Version_5_0/webroot/font/cakedingbats-webfont.woff2 b/tests/Frameworks/CakePHP/Latest/webroot/font/cakedingbats-webfont.woff2
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/webroot/font/cakedingbats-webfont.woff2
rename to tests/Frameworks/CakePHP/Latest/webroot/font/cakedingbats-webfont.woff2
diff --git a/tests/Frameworks/CakePHP/Version_5_0/webroot/font/raleway-400-cyrillic-ext.woff2 b/tests/Frameworks/CakePHP/Latest/webroot/font/raleway-400-cyrillic-ext.woff2
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/webroot/font/raleway-400-cyrillic-ext.woff2
rename to tests/Frameworks/CakePHP/Latest/webroot/font/raleway-400-cyrillic-ext.woff2
diff --git a/tests/Frameworks/CakePHP/Version_5_0/webroot/font/raleway-400-cyrillic.woff2 b/tests/Frameworks/CakePHP/Latest/webroot/font/raleway-400-cyrillic.woff2
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/webroot/font/raleway-400-cyrillic.woff2
rename to tests/Frameworks/CakePHP/Latest/webroot/font/raleway-400-cyrillic.woff2
diff --git a/tests/Frameworks/CakePHP/Version_5_0/webroot/font/raleway-400-latin-ext.woff2 b/tests/Frameworks/CakePHP/Latest/webroot/font/raleway-400-latin-ext.woff2
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/webroot/font/raleway-400-latin-ext.woff2
rename to tests/Frameworks/CakePHP/Latest/webroot/font/raleway-400-latin-ext.woff2
diff --git a/tests/Frameworks/CakePHP/Version_5_0/webroot/font/raleway-400-latin.woff2 b/tests/Frameworks/CakePHP/Latest/webroot/font/raleway-400-latin.woff2
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/webroot/font/raleway-400-latin.woff2
rename to tests/Frameworks/CakePHP/Latest/webroot/font/raleway-400-latin.woff2
diff --git a/tests/Frameworks/CakePHP/Version_5_0/webroot/font/raleway-400-vietnamese.woff2 b/tests/Frameworks/CakePHP/Latest/webroot/font/raleway-400-vietnamese.woff2
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/webroot/font/raleway-400-vietnamese.woff2
rename to tests/Frameworks/CakePHP/Latest/webroot/font/raleway-400-vietnamese.woff2
diff --git a/tests/Frameworks/CakePHP/Version_5_0/webroot/font/raleway-700-cyrillic-ext.woff2 b/tests/Frameworks/CakePHP/Latest/webroot/font/raleway-700-cyrillic-ext.woff2
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/webroot/font/raleway-700-cyrillic-ext.woff2
rename to tests/Frameworks/CakePHP/Latest/webroot/font/raleway-700-cyrillic-ext.woff2
diff --git a/tests/Frameworks/CakePHP/Version_5_0/webroot/font/raleway-700-cyrillic.woff2 b/tests/Frameworks/CakePHP/Latest/webroot/font/raleway-700-cyrillic.woff2
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/webroot/font/raleway-700-cyrillic.woff2
rename to tests/Frameworks/CakePHP/Latest/webroot/font/raleway-700-cyrillic.woff2
diff --git a/tests/Frameworks/CakePHP/Version_5_0/webroot/font/raleway-700-latin-ext.woff2 b/tests/Frameworks/CakePHP/Latest/webroot/font/raleway-700-latin-ext.woff2
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/webroot/font/raleway-700-latin-ext.woff2
rename to tests/Frameworks/CakePHP/Latest/webroot/font/raleway-700-latin-ext.woff2
diff --git a/tests/Frameworks/CakePHP/Version_5_0/webroot/font/raleway-700-latin.woff2 b/tests/Frameworks/CakePHP/Latest/webroot/font/raleway-700-latin.woff2
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/webroot/font/raleway-700-latin.woff2
rename to tests/Frameworks/CakePHP/Latest/webroot/font/raleway-700-latin.woff2
diff --git a/tests/Frameworks/CakePHP/Version_5_0/webroot/font/raleway-700-vietnamese.woff2 b/tests/Frameworks/CakePHP/Latest/webroot/font/raleway-700-vietnamese.woff2
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/webroot/font/raleway-700-vietnamese.woff2
rename to tests/Frameworks/CakePHP/Latest/webroot/font/raleway-700-vietnamese.woff2
diff --git a/tests/Frameworks/CakePHP/Version_5_0/webroot/img/cake-logo.png b/tests/Frameworks/CakePHP/Latest/webroot/img/cake-logo.png
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/webroot/img/cake-logo.png
rename to tests/Frameworks/CakePHP/Latest/webroot/img/cake-logo.png
diff --git a/tests/Frameworks/CakePHP/Version_5_0/webroot/img/cake.icon.png b/tests/Frameworks/CakePHP/Latest/webroot/img/cake.icon.png
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/webroot/img/cake.icon.png
rename to tests/Frameworks/CakePHP/Latest/webroot/img/cake.icon.png
diff --git a/tests/Frameworks/CakePHP/Version_5_0/webroot/img/cake.logo.svg b/tests/Frameworks/CakePHP/Latest/webroot/img/cake.logo.svg
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/webroot/img/cake.logo.svg
rename to tests/Frameworks/CakePHP/Latest/webroot/img/cake.logo.svg
diff --git a/tests/Frameworks/CakePHP/Version_5_0/webroot/img/cake.power.gif b/tests/Frameworks/CakePHP/Latest/webroot/img/cake.power.gif
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/webroot/img/cake.power.gif
rename to tests/Frameworks/CakePHP/Latest/webroot/img/cake.power.gif
diff --git a/tests/Frameworks/CakePHP/Version_5_0/webroot/index.php b/tests/Frameworks/CakePHP/Latest/webroot/index.php
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/webroot/index.php
rename to tests/Frameworks/CakePHP/Latest/webroot/index.php
diff --git a/tests/Frameworks/CakePHP/Version_5_0/webroot/js/.gitkeep b/tests/Frameworks/CakePHP/Latest/webroot/js/.gitkeep
similarity index 100%
rename from tests/Frameworks/CakePHP/Version_5_0/webroot/js/.gitkeep
rename to tests/Frameworks/CakePHP/Latest/webroot/js/.gitkeep
diff --git a/tests/Frameworks/Drupal/Version_9_5/composer.json b/tests/Frameworks/Drupal/Version_9_5/composer.json
index 20cc8f7d45..7e9257e637 100644
--- a/tests/Frameworks/Drupal/Version_9_5/composer.json
+++ b/tests/Frameworks/Drupal/Version_9_5/composer.json
@@ -135,4 +135,4 @@
"url": "https://packages.drupal.org/8"
}
]
-}
+}
\ No newline at end of file
diff --git a/tests/Frameworks/Drupal/Version_9_5/composer/Metapackage/CoreRecommended/composer.json b/tests/Frameworks/Drupal/Version_9_5/composer/Metapackage/CoreRecommended/composer.json
index 92073a2784..bc433ef197 100644
--- a/tests/Frameworks/Drupal/Version_9_5/composer/Metapackage/CoreRecommended/composer.json
+++ b/tests/Frameworks/Drupal/Version_9_5/composer/Metapackage/CoreRecommended/composer.json
@@ -9,23 +9,23 @@
"require": {
"drupal/core": "9.5.x-dev",
"asm89/stack-cors": "~1.3.0",
- "composer/semver": "~3.4.2",
- "doctrine/annotations": "~1.14.3",
- "doctrine/deprecations": "~1.1.3",
+ "composer/semver": "~3.4.3",
+ "doctrine/annotations": "~1.14.4",
+ "doctrine/deprecations": "~1.1.4",
"doctrine/lexer": "~2.1.1",
"doctrine/reflection": "~1.2.4",
"egulias/email-validator": "~3.2.6",
"guzzlehttp/guzzle": "~7.9.2",
- "guzzlehttp/promises": "~2.0.3",
+ "guzzlehttp/promises": "~2.0.4",
"guzzlehttp/psr7": "~2.7.0",
- "longwave/laminas-diactoros": "~2.14.2",
+ "longwave/laminas-diactoros": "~2.14.3",
"masterminds/html5": "~2.9.0",
"pear/archive_tar": "~1.5.0",
"pear/console_getopt": "~v1.4.3",
- "pear/pear-core-minimal": "~v1.10.15",
+ "pear/pear-core-minimal": "~v1.10.16",
"pear/pear_exception": "~v1.0.2",
- "psr/cache": "~3.0.0",
- "psr/container": "~1.1.2",
+ "psr/cache": "~1.0.1",
+ "psr/container": "~1.1.1",
"psr/http-client": "~1.0.3",
"psr/http-factory": "~1.1.0",
"psr/http-message": "~1.1",
@@ -36,31 +36,31 @@
"symfony/console": "~v4.4.49",
"symfony/debug": "~v4.4.44",
"symfony/dependency-injection": "~v4.4.49",
- "symfony/deprecation-contracts": "~v3.5.0",
+ "symfony/deprecation-contracts": "~v2.5.4",
"symfony/error-handler": "~v4.4.44",
"symfony/event-dispatcher": "~v4.4.44",
"symfony/event-dispatcher-contracts": "~v1.10.0",
- "symfony/http-client-contracts": "~v2.5.3",
+ "symfony/http-client-contracts": "~v2.5.5",
"symfony/http-foundation": "~v4.4.49",
"symfony/http-kernel": "~v4.4.51",
"symfony/mime": "~v5.4.13",
- "symfony/polyfill-ctype": "~v1.30.0",
- "symfony/polyfill-iconv": "~v1.30.0",
- "symfony/polyfill-intl-idn": "~v1.30.0",
- "symfony/polyfill-intl-normalizer": "~v1.30.0",
- "symfony/polyfill-mbstring": "~v1.30.0",
- "symfony/polyfill-php80": "~v1.30.0",
+ "symfony/polyfill-ctype": "~v1.31.0",
+ "symfony/polyfill-iconv": "~v1.31.0",
+ "symfony/polyfill-intl-idn": "~v1.31.0",
+ "symfony/polyfill-intl-normalizer": "~v1.31.0",
+ "symfony/polyfill-mbstring": "~v1.31.0",
+ "symfony/polyfill-php80": "~v1.31.0",
"symfony/process": "~v4.4.44",
"symfony/psr-http-message-bridge": "~v2.1.4",
"symfony/routing": "~v4.4.44",
"symfony/serializer": "~v4.4.47",
- "symfony/service-contracts": "~v2.5.3",
+ "symfony/service-contracts": "~v2.5.4",
"symfony/translation": "~v4.4.47",
- "symfony/translation-contracts": "~v2.5.3",
+ "symfony/translation-contracts": "~v2.5.4",
"symfony/validator": "~v4.4.48",
- "symfony/var-dumper": "~v5.4.42",
+ "symfony/var-dumper": "~v5.4.48",
"symfony/yaml": "~v4.4.45",
- "twig/twig": "~v2.16.0",
- "typo3/phar-stream-wrapper": "~v3.1.7"
+ "twig/twig": "~v2.16.1",
+ "typo3/phar-stream-wrapper": "~v3.1.8"
}
}
diff --git a/tests/Frameworks/Drupal/Version_9_5/composer/Metapackage/PinnedDevDependencies/composer.json b/tests/Frameworks/Drupal/Version_9_5/composer/Metapackage/PinnedDevDependencies/composer.json
index 945c52aac1..f6b3cbc2d1 100644
--- a/tests/Frameworks/Drupal/Version_9_5/composer/Metapackage/PinnedDevDependencies/composer.json
+++ b/tests/Frameworks/Drupal/Version_9_5/composer/Metapackage/PinnedDevDependencies/composer.json
@@ -8,32 +8,32 @@
},
"require": {
"drupal/core": "9.5.x-dev",
- "behat/mink": "v1.11.0",
+ "behat/mink": "v1.12.0",
"behat/mink-selenium2-driver": "v1.7.0",
- "composer/ca-bundle": "1.5.1",
- "composer/composer": "2.2.24",
+ "composer/ca-bundle": "1.5.5",
+ "composer/composer": "2.2.25",
"composer/metadata-minifier": "1.0.0",
"composer/pcre": "1.0.1",
"composer/spdx-licenses": "1.5.8",
"composer/xdebug-handler": "3.0.5",
"dealerdirect/phpcodesniffer-composer-installer": "v1.0.0",
- "doctrine/instantiator": "2.0.0",
- "drupal/coder": "8.3.24",
+ "doctrine/instantiator": "1.5.0",
+ "drupal/coder": "8.3.27",
"easyrdf/easyrdf": "1.1.1",
- "friends-of-behat/mink-browserkit-driver": "v1.6.2",
+ "friends-of-behat/mink-browserkit-driver": "v1.5.0",
"instaclick/php-webdriver": "1.4.19",
"justinrainbow/json-schema": "5.3.0",
- "mikey179/vfsstream": "v1.6.11",
- "myclabs/deep-copy": "1.12.0",
- "nikic/php-parser": "v5.1.0",
+ "mikey179/vfsstream": "v1.6.12",
+ "myclabs/deep-copy": "1.12.1",
+ "nikic/php-parser": "v4.19.4",
"phar-io/manifest": "2.0.4",
"phar-io/version": "3.2.1",
"phpdocumentor/reflection-common": "2.2.0",
- "phpdocumentor/reflection-docblock": "5.4.1",
- "phpdocumentor/type-resolver": "1.8.2",
- "phpspec/prophecy": "v1.19.0",
- "phpstan/phpdoc-parser": "1.29.1",
- "phpunit/php-code-coverage": "9.2.31",
+ "phpdocumentor/reflection-docblock": "5.3.0",
+ "phpdocumentor/type-resolver": "1.10.0",
+ "phpspec/prophecy": "v1.20.0",
+ "phpstan/phpdoc-parser": "1.33.0",
+ "phpunit/php-code-coverage": "9.2.32",
"phpunit/php-file-iterator": "3.0.6",
"phpunit/php-invoker": "3.1.1",
"phpunit/php-text-template": "2.0.4",
@@ -58,16 +58,16 @@
"sebastian/version": "3.0.2",
"seld/jsonlint": "1.11.0",
"seld/phar-utils": "1.2.1",
- "sirbrillig/phpcs-variable-analysis": "v2.11.19",
+ "sirbrillig/phpcs-variable-analysis": "v2.11.22",
"slevomat/coding-standard": "8.15.0",
- "squizlabs/php_codesniffer": "3.10.2",
+ "squizlabs/php_codesniffer": "3.11.2",
"symfony/browser-kit": "v4.4.44",
"symfony/css-selector": "v4.4.44",
"symfony/dom-crawler": "v4.4.45",
"symfony/filesystem": "v4.4.42",
"symfony/finder": "v4.4.44",
"symfony/lock": "v4.4.46",
- "symfony/phpunit-bridge": "v5.4.42",
+ "symfony/phpunit-bridge": "v5.4.48",
"theseer/tokenizer": "1.2.3",
"webmozart/assert": "1.11.0"
}
diff --git a/tests/Frameworks/Drupal/Version_9_5/core/lib/Drupal/Component/DependencyInjection/composer.json b/tests/Frameworks/Drupal/Version_9_5/core/lib/Drupal/Component/DependencyInjection/composer.json
index be6eea2034..25fa7f90e5 100644
--- a/tests/Frameworks/Drupal/Version_9_5/core/lib/Drupal/Component/DependencyInjection/composer.json
+++ b/tests/Frameworks/Drupal/Version_9_5/core/lib/Drupal/Component/DependencyInjection/composer.json
@@ -15,7 +15,7 @@
"require": {
"php": ">=7.3.0",
"symfony/dependency-injection": "^4.4",
- "symfony/service-contracts": "v2.5.3"
+ "symfony/service-contracts": "v2.5.4"
},
"suggest": {
"symfony/expression-language": "For using expressions in service container configuration"
diff --git a/tests/Frameworks/Laminas/ApiTools/Version_1_9/COPYRIGHT.md b/tests/Frameworks/Laminas/ApiTools/Latest/COPYRIGHT.md
similarity index 100%
rename from tests/Frameworks/Laminas/ApiTools/Version_1_9/COPYRIGHT.md
rename to tests/Frameworks/Laminas/ApiTools/Latest/COPYRIGHT.md
diff --git a/tests/Frameworks/Laminas/ApiTools/Version_1_9/Dockerfile b/tests/Frameworks/Laminas/ApiTools/Latest/Dockerfile
similarity index 100%
rename from tests/Frameworks/Laminas/ApiTools/Version_1_9/Dockerfile
rename to tests/Frameworks/Laminas/ApiTools/Latest/Dockerfile
diff --git a/tests/Frameworks/Laminas/ApiTools/Version_1_9/LICENSE.md b/tests/Frameworks/Laminas/ApiTools/Latest/LICENSE.md
similarity index 100%
rename from tests/Frameworks/Laminas/ApiTools/Version_1_9/LICENSE.md
rename to tests/Frameworks/Laminas/ApiTools/Latest/LICENSE.md
diff --git a/tests/Frameworks/Laminas/ApiTools/Version_1_9/README.md b/tests/Frameworks/Laminas/ApiTools/Latest/README.md
similarity index 100%
rename from tests/Frameworks/Laminas/ApiTools/Version_1_9/README.md
rename to tests/Frameworks/Laminas/ApiTools/Latest/README.md
diff --git a/tests/Frameworks/Laminas/ApiTools/Version_1_9/Vagrantfile b/tests/Frameworks/Laminas/ApiTools/Latest/Vagrantfile
similarity index 100%
rename from tests/Frameworks/Laminas/ApiTools/Version_1_9/Vagrantfile
rename to tests/Frameworks/Laminas/ApiTools/Latest/Vagrantfile
diff --git a/tests/Frameworks/Laminas/ApiTools/Version_1_9/composer.json b/tests/Frameworks/Laminas/ApiTools/Latest/composer.json
similarity index 98%
rename from tests/Frameworks/Laminas/ApiTools/Version_1_9/composer.json
rename to tests/Frameworks/Laminas/ApiTools/Latest/composer.json
index 87ea7326bc..c6be091b55 100644
--- a/tests/Frameworks/Laminas/ApiTools/Version_1_9/composer.json
+++ b/tests/Frameworks/Laminas/ApiTools/Latest/composer.json
@@ -29,7 +29,7 @@
},
"require": {
"php": "~8.0.0 || ~8.1.0 || ~8.2.0",
- "laminas-api-tools/api-tools": "^1.7",
+ "laminas-api-tools/api-tools": "1.7.0",
"laminas-api-tools/api-tools-content-negotiation": "^1.8",
"laminas-api-tools/api-tools-documentation": "^1.6",
"laminas-api-tools/api-tools-rest": "^1.8",
@@ -90,4 +90,4 @@
"serve": "php -S 0.0.0.0:8080 -t public/ public/index.php",
"test": "phpunit"
}
-}
+}
\ No newline at end of file
diff --git a/tests/Frameworks/Laminas/ApiTools/Version_1_9/config/application.config.php b/tests/Frameworks/Laminas/ApiTools/Latest/config/application.config.php
similarity index 100%
rename from tests/Frameworks/Laminas/ApiTools/Version_1_9/config/application.config.php
rename to tests/Frameworks/Laminas/ApiTools/Latest/config/application.config.php
diff --git a/tests/Frameworks/Laminas/ApiTools/Version_1_9/config/autoload/.gitignore b/tests/Frameworks/Laminas/ApiTools/Latest/config/autoload/.gitignore
similarity index 100%
rename from tests/Frameworks/Laminas/ApiTools/Version_1_9/config/autoload/.gitignore
rename to tests/Frameworks/Laminas/ApiTools/Latest/config/autoload/.gitignore
diff --git a/tests/Frameworks/Laminas/ApiTools/Version_1_9/config/autoload/README.md b/tests/Frameworks/Laminas/ApiTools/Latest/config/autoload/README.md
similarity index 100%
rename from tests/Frameworks/Laminas/ApiTools/Version_1_9/config/autoload/README.md
rename to tests/Frameworks/Laminas/ApiTools/Latest/config/autoload/README.md
diff --git a/tests/Frameworks/Laminas/ApiTools/Version_1_9/config/autoload/api-tools-config.global.php b/tests/Frameworks/Laminas/ApiTools/Latest/config/autoload/api-tools-config.global.php
similarity index 100%
rename from tests/Frameworks/Laminas/ApiTools/Version_1_9/config/autoload/api-tools-config.global.php
rename to tests/Frameworks/Laminas/ApiTools/Latest/config/autoload/api-tools-config.global.php
diff --git a/tests/Frameworks/Laminas/ApiTools/Version_1_9/config/autoload/api-tools-mvc-auth-oauth2-override.global.php b/tests/Frameworks/Laminas/ApiTools/Latest/config/autoload/api-tools-mvc-auth-oauth2-override.global.php
similarity index 100%
rename from tests/Frameworks/Laminas/ApiTools/Version_1_9/config/autoload/api-tools-mvc-auth-oauth2-override.global.php
rename to tests/Frameworks/Laminas/ApiTools/Latest/config/autoload/api-tools-mvc-auth-oauth2-override.global.php
diff --git a/tests/Frameworks/Laminas/ApiTools/Version_1_9/config/autoload/global-development.php b/tests/Frameworks/Laminas/ApiTools/Latest/config/autoload/global-development.php
similarity index 100%
rename from tests/Frameworks/Laminas/ApiTools/Version_1_9/config/autoload/global-development.php
rename to tests/Frameworks/Laminas/ApiTools/Latest/config/autoload/global-development.php
diff --git a/tests/Frameworks/Laminas/ApiTools/Version_1_9/config/autoload/global.php b/tests/Frameworks/Laminas/ApiTools/Latest/config/autoload/global.php
similarity index 100%
rename from tests/Frameworks/Laminas/ApiTools/Version_1_9/config/autoload/global.php
rename to tests/Frameworks/Laminas/ApiTools/Latest/config/autoload/global.php
diff --git a/tests/Frameworks/Laminas/ApiTools/Version_1_9/config/autoload/local.php.dist b/tests/Frameworks/Laminas/ApiTools/Latest/config/autoload/local.php.dist
similarity index 100%
rename from tests/Frameworks/Laminas/ApiTools/Version_1_9/config/autoload/local.php.dist
rename to tests/Frameworks/Laminas/ApiTools/Latest/config/autoload/local.php.dist
diff --git a/tests/Frameworks/Laminas/ApiTools/Version_1_9/config/autoload/user.global.php b/tests/Frameworks/Laminas/ApiTools/Latest/config/autoload/user.global.php
similarity index 100%
rename from tests/Frameworks/Laminas/ApiTools/Version_1_9/config/autoload/user.global.php
rename to tests/Frameworks/Laminas/ApiTools/Latest/config/autoload/user.global.php
diff --git a/tests/Frameworks/Laminas/ApiTools/Version_1_9/config/development.config.php.dist b/tests/Frameworks/Laminas/ApiTools/Latest/config/development.config.php.dist
similarity index 100%
rename from tests/Frameworks/Laminas/ApiTools/Version_1_9/config/development.config.php.dist
rename to tests/Frameworks/Laminas/ApiTools/Latest/config/development.config.php.dist
diff --git a/tests/Frameworks/Laminas/ApiTools/Version_1_9/config/modules.config.php b/tests/Frameworks/Laminas/ApiTools/Latest/config/modules.config.php
similarity index 100%
rename from tests/Frameworks/Laminas/ApiTools/Version_1_9/config/modules.config.php
rename to tests/Frameworks/Laminas/ApiTools/Latest/config/modules.config.php
diff --git a/tests/Frameworks/Laminas/ApiTools/Version_1_9/data/cache/.gitkeep b/tests/Frameworks/Laminas/ApiTools/Latest/data/cache/.gitkeep
similarity index 100%
rename from tests/Frameworks/Laminas/ApiTools/Version_1_9/data/cache/.gitkeep
rename to tests/Frameworks/Laminas/ApiTools/Latest/data/cache/.gitkeep
diff --git a/tests/Frameworks/Laminas/ApiTools/Version_1_9/docker-compose.yml b/tests/Frameworks/Laminas/ApiTools/Latest/docker-compose.yml
similarity index 100%
rename from tests/Frameworks/Laminas/ApiTools/Version_1_9/docker-compose.yml
rename to tests/Frameworks/Laminas/ApiTools/Latest/docker-compose.yml
diff --git a/tests/Frameworks/Laminas/ApiTools/Version_1_9/module/Application/config/module.config.php b/tests/Frameworks/Laminas/ApiTools/Latest/module/Application/config/module.config.php
similarity index 100%
rename from tests/Frameworks/Laminas/ApiTools/Version_1_9/module/Application/config/module.config.php
rename to tests/Frameworks/Laminas/ApiTools/Latest/module/Application/config/module.config.php
diff --git a/tests/Frameworks/Laminas/ApiTools/Version_1_9/module/Application/src/Controller/IndexController.php b/tests/Frameworks/Laminas/ApiTools/Latest/module/Application/src/Controller/IndexController.php
similarity index 100%
rename from tests/Frameworks/Laminas/ApiTools/Version_1_9/module/Application/src/Controller/IndexController.php
rename to tests/Frameworks/Laminas/ApiTools/Latest/module/Application/src/Controller/IndexController.php
diff --git a/tests/Frameworks/Laminas/ApiTools/Version_1_9/module/Application/src/Module.php b/tests/Frameworks/Laminas/ApiTools/Latest/module/Application/src/Module.php
similarity index 100%
rename from tests/Frameworks/Laminas/ApiTools/Version_1_9/module/Application/src/Module.php
rename to tests/Frameworks/Laminas/ApiTools/Latest/module/Application/src/Module.php
diff --git a/tests/Frameworks/Laminas/ApiTools/Version_1_9/module/Application/test/Controller/IndexControllerTest.php b/tests/Frameworks/Laminas/ApiTools/Latest/module/Application/test/Controller/IndexControllerTest.php
similarity index 100%
rename from tests/Frameworks/Laminas/ApiTools/Version_1_9/module/Application/test/Controller/IndexControllerTest.php
rename to tests/Frameworks/Laminas/ApiTools/Latest/module/Application/test/Controller/IndexControllerTest.php
diff --git a/tests/Frameworks/Laminas/ApiTools/Version_1_9/module/Application/test/Controller/ZZIndexControllerDevModeTest.php b/tests/Frameworks/Laminas/ApiTools/Latest/module/Application/test/Controller/ZZIndexControllerDevModeTest.php
similarity index 100%
rename from tests/Frameworks/Laminas/ApiTools/Version_1_9/module/Application/test/Controller/ZZIndexControllerDevModeTest.php
rename to tests/Frameworks/Laminas/ApiTools/Latest/module/Application/test/Controller/ZZIndexControllerDevModeTest.php
diff --git a/tests/Frameworks/Laminas/ApiTools/Version_1_9/module/Application/view/application/index/index.phtml b/tests/Frameworks/Laminas/ApiTools/Latest/module/Application/view/application/index/index.phtml
similarity index 100%
rename from tests/Frameworks/Laminas/ApiTools/Version_1_9/module/Application/view/application/index/index.phtml
rename to tests/Frameworks/Laminas/ApiTools/Latest/module/Application/view/application/index/index.phtml
diff --git a/tests/Frameworks/Laminas/ApiTools/Version_1_9/module/Application/view/error/404.phtml b/tests/Frameworks/Laminas/ApiTools/Latest/module/Application/view/error/404.phtml
similarity index 100%
rename from tests/Frameworks/Laminas/ApiTools/Version_1_9/module/Application/view/error/404.phtml
rename to tests/Frameworks/Laminas/ApiTools/Latest/module/Application/view/error/404.phtml
diff --git a/tests/Frameworks/Laminas/ApiTools/Version_1_9/module/Application/view/error/index.phtml b/tests/Frameworks/Laminas/ApiTools/Latest/module/Application/view/error/index.phtml
similarity index 100%
rename from tests/Frameworks/Laminas/ApiTools/Version_1_9/module/Application/view/error/index.phtml
rename to tests/Frameworks/Laminas/ApiTools/Latest/module/Application/view/error/index.phtml
diff --git a/tests/Frameworks/Laminas/ApiTools/Version_1_9/module/Application/view/layout/layout.phtml b/tests/Frameworks/Laminas/ApiTools/Latest/module/Application/view/layout/layout.phtml
similarity index 100%
rename from tests/Frameworks/Laminas/ApiTools/Version_1_9/module/Application/view/layout/layout.phtml
rename to tests/Frameworks/Laminas/ApiTools/Latest/module/Application/view/layout/layout.phtml
diff --git a/tests/Frameworks/Laminas/ApiTools/Version_1_9/module/DatadogApi/Module.php b/tests/Frameworks/Laminas/ApiTools/Latest/module/DatadogApi/Module.php
similarity index 100%
rename from tests/Frameworks/Laminas/ApiTools/Version_1_9/module/DatadogApi/Module.php
rename to tests/Frameworks/Laminas/ApiTools/Latest/module/DatadogApi/Module.php
diff --git a/tests/Frameworks/Laminas/ApiTools/Version_1_9/module/DatadogApi/config/module.config.php b/tests/Frameworks/Laminas/ApiTools/Latest/module/DatadogApi/config/module.config.php
similarity index 100%
rename from tests/Frameworks/Laminas/ApiTools/Version_1_9/module/DatadogApi/config/module.config.php
rename to tests/Frameworks/Laminas/ApiTools/Latest/module/DatadogApi/config/module.config.php
diff --git a/tests/Frameworks/Laminas/ApiTools/Version_1_9/module/DatadogApi/src/V1/Rest/DatadogRestService/DatadogRestServiceCollection.php b/tests/Frameworks/Laminas/ApiTools/Latest/module/DatadogApi/src/V1/Rest/DatadogRestService/DatadogRestServiceCollection.php
similarity index 100%
rename from tests/Frameworks/Laminas/ApiTools/Version_1_9/module/DatadogApi/src/V1/Rest/DatadogRestService/DatadogRestServiceCollection.php
rename to tests/Frameworks/Laminas/ApiTools/Latest/module/DatadogApi/src/V1/Rest/DatadogRestService/DatadogRestServiceCollection.php
diff --git a/tests/Frameworks/Laminas/ApiTools/Version_1_9/module/DatadogApi/src/V1/Rest/DatadogRestService/DatadogRestServiceEntity.php b/tests/Frameworks/Laminas/ApiTools/Latest/module/DatadogApi/src/V1/Rest/DatadogRestService/DatadogRestServiceEntity.php
similarity index 100%
rename from tests/Frameworks/Laminas/ApiTools/Version_1_9/module/DatadogApi/src/V1/Rest/DatadogRestService/DatadogRestServiceEntity.php
rename to tests/Frameworks/Laminas/ApiTools/Latest/module/DatadogApi/src/V1/Rest/DatadogRestService/DatadogRestServiceEntity.php
diff --git a/tests/Frameworks/Laminas/ApiTools/Version_1_9/module/DatadogApi/src/V1/Rest/DatadogRestService/DatadogRestServiceResource.php b/tests/Frameworks/Laminas/ApiTools/Latest/module/DatadogApi/src/V1/Rest/DatadogRestService/DatadogRestServiceResource.php
similarity index 100%
rename from tests/Frameworks/Laminas/ApiTools/Version_1_9/module/DatadogApi/src/V1/Rest/DatadogRestService/DatadogRestServiceResource.php
rename to tests/Frameworks/Laminas/ApiTools/Latest/module/DatadogApi/src/V1/Rest/DatadogRestService/DatadogRestServiceResource.php
diff --git a/tests/Frameworks/Laminas/ApiTools/Version_1_9/module/DatadogApi/src/V1/Rest/DatadogRestService/DatadogRestServiceResourceFactory.php b/tests/Frameworks/Laminas/ApiTools/Latest/module/DatadogApi/src/V1/Rest/DatadogRestService/DatadogRestServiceResourceFactory.php
similarity index 100%
rename from tests/Frameworks/Laminas/ApiTools/Version_1_9/module/DatadogApi/src/V1/Rest/DatadogRestService/DatadogRestServiceResourceFactory.php
rename to tests/Frameworks/Laminas/ApiTools/Latest/module/DatadogApi/src/V1/Rest/DatadogRestService/DatadogRestServiceResourceFactory.php
diff --git a/tests/Frameworks/Laminas/ApiTools/Version_1_9/phpcs.xml.dist b/tests/Frameworks/Laminas/ApiTools/Latest/phpcs.xml.dist
similarity index 100%
rename from tests/Frameworks/Laminas/ApiTools/Version_1_9/phpcs.xml.dist
rename to tests/Frameworks/Laminas/ApiTools/Latest/phpcs.xml.dist
diff --git a/tests/Frameworks/Laminas/ApiTools/Version_1_9/phpunit.xml.dist b/tests/Frameworks/Laminas/ApiTools/Latest/phpunit.xml.dist
similarity index 100%
rename from tests/Frameworks/Laminas/ApiTools/Version_1_9/phpunit.xml.dist
rename to tests/Frameworks/Laminas/ApiTools/Latest/phpunit.xml.dist
diff --git a/tests/Frameworks/Laminas/ApiTools/Version_1_9/psalm-baseline.xml b/tests/Frameworks/Laminas/ApiTools/Latest/psalm-baseline.xml
similarity index 100%
rename from tests/Frameworks/Laminas/ApiTools/Version_1_9/psalm-baseline.xml
rename to tests/Frameworks/Laminas/ApiTools/Latest/psalm-baseline.xml
diff --git a/tests/Frameworks/Laminas/ApiTools/Version_1_9/psalm.xml.dist b/tests/Frameworks/Laminas/ApiTools/Latest/psalm.xml.dist
similarity index 100%
rename from tests/Frameworks/Laminas/ApiTools/Version_1_9/psalm.xml.dist
rename to tests/Frameworks/Laminas/ApiTools/Latest/psalm.xml.dist
diff --git a/tests/Frameworks/Laminas/ApiTools/Version_1_9/public/.gitignore b/tests/Frameworks/Laminas/ApiTools/Latest/public/.gitignore
similarity index 100%
rename from tests/Frameworks/Laminas/ApiTools/Version_1_9/public/.gitignore
rename to tests/Frameworks/Laminas/ApiTools/Latest/public/.gitignore
diff --git a/tests/Frameworks/Laminas/ApiTools/Version_1_9/public/.htaccess b/tests/Frameworks/Laminas/ApiTools/Latest/public/.htaccess
similarity index 100%
rename from tests/Frameworks/Laminas/ApiTools/Version_1_9/public/.htaccess
rename to tests/Frameworks/Laminas/ApiTools/Latest/public/.htaccess
diff --git a/tests/Frameworks/Laminas/ApiTools/Version_1_9/public/img/ag-hero.png b/tests/Frameworks/Laminas/ApiTools/Latest/public/img/ag-hero.png
similarity index 100%
rename from tests/Frameworks/Laminas/ApiTools/Version_1_9/public/img/ag-hero.png
rename to tests/Frameworks/Laminas/ApiTools/Latest/public/img/ag-hero.png
diff --git a/tests/Frameworks/Laminas/ApiTools/Version_1_9/public/img/favicon.png b/tests/Frameworks/Laminas/ApiTools/Latest/public/img/favicon.png
similarity index 100%
rename from tests/Frameworks/Laminas/ApiTools/Version_1_9/public/img/favicon.png
rename to tests/Frameworks/Laminas/ApiTools/Latest/public/img/favicon.png
diff --git a/tests/Frameworks/Laminas/ApiTools/Version_1_9/public/index.php b/tests/Frameworks/Laminas/ApiTools/Latest/public/index.php
similarity index 100%
rename from tests/Frameworks/Laminas/ApiTools/Version_1_9/public/index.php
rename to tests/Frameworks/Laminas/ApiTools/Latest/public/index.php
diff --git a/tests/Frameworks/Laminas/ApiTools/Version_1_9/public/web.config b/tests/Frameworks/Laminas/ApiTools/Latest/public/web.config
similarity index 100%
rename from tests/Frameworks/Laminas/ApiTools/Version_1_9/public/web.config
rename to tests/Frameworks/Laminas/ApiTools/Latest/public/web.config
diff --git a/tests/Frameworks/Laminas/ApiTools/Version_1_9/src/ApiTools/constants.php b/tests/Frameworks/Laminas/ApiTools/Latest/src/ApiTools/constants.php
similarity index 100%
rename from tests/Frameworks/Laminas/ApiTools/Version_1_9/src/ApiTools/constants.php
rename to tests/Frameworks/Laminas/ApiTools/Latest/src/ApiTools/constants.php
diff --git a/tests/Frameworks/Laminas/ApiTools/Version_1_9/.dockerignore b/tests/Frameworks/Laminas/ApiTools/Version_1_9/.dockerignore
deleted file mode 100644
index 0f1e2f4f60..0000000000
--- a/tests/Frameworks/Laminas/ApiTools/Version_1_9/.dockerignore
+++ /dev/null
@@ -1,16 +0,0 @@
-nbproject
-._*
-.~lock.*
-.buildpath
-.DS_Store
-.idea
-.project
-.settings
-vendor/
-public/vendor/
-config/development.config.php
-config/autoload/local.php
-config/autoload/*.local.php
-!public/vendor/README.md
-data/cache/*
-!data/cache/.gitkeep
diff --git a/tests/Frameworks/Laminas/ApiTools/Version_1_9/.gitattributes b/tests/Frameworks/Laminas/ApiTools/Version_1_9/.gitattributes
deleted file mode 100644
index 9482631125..0000000000
--- a/tests/Frameworks/Laminas/ApiTools/Version_1_9/.gitattributes
+++ /dev/null
@@ -1,3 +0,0 @@
-/.github/ export-ignore
-/CHANGELOG.md
-/src/remove-package-artifacts.php export-ignore
diff --git a/tests/Frameworks/Laminas/ApiTools/Version_1_9/.gitignore b/tests/Frameworks/Laminas/ApiTools/Version_1_9/.gitignore
deleted file mode 100644
index 45fac9d79a..0000000000
--- a/tests/Frameworks/Laminas/ApiTools/Version_1_9/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-!data/cache/.gitkeep
-.vagrant/
-/phpunit.xml
-/vendor/
-composer.lock
-config/development.config.php
-data/cache/*
-.phpunit.result.cache
-.phpcs-cache
diff --git a/tests/Frameworks/Laminas/ApiTools/Version_1_9/.laminas-ci.json b/tests/Frameworks/Laminas/ApiTools/Version_1_9/.laminas-ci.json
deleted file mode 100644
index 3970434faa..0000000000
--- a/tests/Frameworks/Laminas/ApiTools/Version_1_9/.laminas-ci.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "exclude": [
- {"name": "PHPUnit on PHP 7.3 with locked dependencies"}
- ],
- "ignore_php_platform_requirements": {
- "8.0": false
- }
-}
diff --git a/tests/Frameworks/Laminas/Version_1_4/.gitattributes b/tests/Frameworks/Laminas/Mvc/Latest/.gitattributes
similarity index 100%
rename from tests/Frameworks/Laminas/Version_1_4/.gitattributes
rename to tests/Frameworks/Laminas/Mvc/Latest/.gitattributes
diff --git a/tests/Frameworks/Laminas/Version_1_4/.gitignore b/tests/Frameworks/Laminas/Mvc/Latest/.gitignore
similarity index 100%
rename from tests/Frameworks/Laminas/Version_1_4/.gitignore
rename to tests/Frameworks/Laminas/Mvc/Latest/.gitignore
diff --git a/tests/Frameworks/Laminas/Version_1_4/CHANGELOG.md b/tests/Frameworks/Laminas/Mvc/Latest/CHANGELOG.md
similarity index 100%
rename from tests/Frameworks/Laminas/Version_1_4/CHANGELOG.md
rename to tests/Frameworks/Laminas/Mvc/Latest/CHANGELOG.md
diff --git a/tests/Frameworks/Laminas/Version_1_4/COPYRIGHT.md b/tests/Frameworks/Laminas/Mvc/Latest/COPYRIGHT.md
similarity index 100%
rename from tests/Frameworks/Laminas/Version_1_4/COPYRIGHT.md
rename to tests/Frameworks/Laminas/Mvc/Latest/COPYRIGHT.md
diff --git a/tests/Frameworks/Laminas/Version_2_0/Dockerfile b/tests/Frameworks/Laminas/Mvc/Latest/Dockerfile
similarity index 100%
rename from tests/Frameworks/Laminas/Version_2_0/Dockerfile
rename to tests/Frameworks/Laminas/Mvc/Latest/Dockerfile
diff --git a/tests/Frameworks/Laminas/Version_1_4/LICENSE.md b/tests/Frameworks/Laminas/Mvc/Latest/LICENSE.md
similarity index 100%
rename from tests/Frameworks/Laminas/Version_1_4/LICENSE.md
rename to tests/Frameworks/Laminas/Mvc/Latest/LICENSE.md
diff --git a/tests/Frameworks/Laminas/Version_2_0/README.md b/tests/Frameworks/Laminas/Mvc/Latest/README.md
similarity index 100%
rename from tests/Frameworks/Laminas/Version_2_0/README.md
rename to tests/Frameworks/Laminas/Mvc/Latest/README.md
diff --git a/tests/Frameworks/Laminas/Version_1_4/Vagrantfile b/tests/Frameworks/Laminas/Mvc/Latest/Vagrantfile
similarity index 100%
rename from tests/Frameworks/Laminas/Version_1_4/Vagrantfile
rename to tests/Frameworks/Laminas/Mvc/Latest/Vagrantfile
diff --git a/tests/Frameworks/Laminas/Version_2_0/bin/clear-config-cache.php b/tests/Frameworks/Laminas/Mvc/Latest/bin/clear-config-cache.php
similarity index 100%
rename from tests/Frameworks/Laminas/Version_2_0/bin/clear-config-cache.php
rename to tests/Frameworks/Laminas/Mvc/Latest/bin/clear-config-cache.php
diff --git a/tests/Frameworks/Laminas/Version_1_4/bin/update-gitignore.php b/tests/Frameworks/Laminas/Mvc/Latest/bin/update-gitignore.php
old mode 100755
new mode 100644
similarity index 100%
rename from tests/Frameworks/Laminas/Version_1_4/bin/update-gitignore.php
rename to tests/Frameworks/Laminas/Mvc/Latest/bin/update-gitignore.php
diff --git a/tests/Frameworks/Laminas/Version_2_0/composer.json b/tests/Frameworks/Laminas/Mvc/Latest/composer.json
similarity index 98%
rename from tests/Frameworks/Laminas/Version_2_0/composer.json
rename to tests/Frameworks/Laminas/Mvc/Latest/composer.json
index ade7a1850d..84dfde3942 100644
--- a/tests/Frameworks/Laminas/Version_2_0/composer.json
+++ b/tests/Frameworks/Laminas/Mvc/Latest/composer.json
@@ -14,7 +14,7 @@
"laminas/laminas-component-installer": "^3.2",
"laminas/laminas-development-mode": "^3.10",
"laminas/laminas-skeleton-installer": "^1.2",
- "laminas/laminas-mvc": "^3.6.0"
+ "laminas/laminas-mvc": "3.8.0"
},
"autoload": {
"psr-4": {
@@ -64,4 +64,4 @@
"laminas/laminas-skeleton-installer": true
}
}
-}
+}
\ No newline at end of file
diff --git a/tests/Frameworks/Laminas/Version_1_4/config/application.config.php b/tests/Frameworks/Laminas/Mvc/Latest/config/application.config.php
similarity index 100%
rename from tests/Frameworks/Laminas/Version_1_4/config/application.config.php
rename to tests/Frameworks/Laminas/Mvc/Latest/config/application.config.php
diff --git a/tests/Frameworks/Laminas/Version_1_4/config/autoload/.gitignore b/tests/Frameworks/Laminas/Mvc/Latest/config/autoload/.gitignore
similarity index 100%
rename from tests/Frameworks/Laminas/Version_1_4/config/autoload/.gitignore
rename to tests/Frameworks/Laminas/Mvc/Latest/config/autoload/.gitignore
diff --git a/tests/Frameworks/Laminas/Version_1_4/config/autoload/README.md b/tests/Frameworks/Laminas/Mvc/Latest/config/autoload/README.md
similarity index 100%
rename from tests/Frameworks/Laminas/Version_1_4/config/autoload/README.md
rename to tests/Frameworks/Laminas/Mvc/Latest/config/autoload/README.md
diff --git a/tests/Frameworks/Laminas/Version_1_4/config/autoload/development.local.php.dist b/tests/Frameworks/Laminas/Mvc/Latest/config/autoload/development.local.php.dist
similarity index 100%
rename from tests/Frameworks/Laminas/Version_1_4/config/autoload/development.local.php.dist
rename to tests/Frameworks/Laminas/Mvc/Latest/config/autoload/development.local.php.dist
diff --git a/tests/Frameworks/Laminas/Version_1_4/config/autoload/global.php b/tests/Frameworks/Laminas/Mvc/Latest/config/autoload/global.php
similarity index 100%
rename from tests/Frameworks/Laminas/Version_1_4/config/autoload/global.php
rename to tests/Frameworks/Laminas/Mvc/Latest/config/autoload/global.php
diff --git a/tests/Frameworks/Laminas/Version_1_4/config/autoload/laminas-developer-tools.local-development.php b/tests/Frameworks/Laminas/Mvc/Latest/config/autoload/laminas-developer-tools.local-development.php
similarity index 100%
rename from tests/Frameworks/Laminas/Version_1_4/config/autoload/laminas-developer-tools.local-development.php
rename to tests/Frameworks/Laminas/Mvc/Latest/config/autoload/laminas-developer-tools.local-development.php
diff --git a/tests/Frameworks/Laminas/Version_1_4/config/autoload/local.php.dist b/tests/Frameworks/Laminas/Mvc/Latest/config/autoload/local.php.dist
similarity index 100%
rename from tests/Frameworks/Laminas/Version_1_4/config/autoload/local.php.dist
rename to tests/Frameworks/Laminas/Mvc/Latest/config/autoload/local.php.dist
diff --git a/tests/Frameworks/Laminas/Version_2_0/config/container.php b/tests/Frameworks/Laminas/Mvc/Latest/config/container.php
similarity index 100%
rename from tests/Frameworks/Laminas/Version_2_0/config/container.php
rename to tests/Frameworks/Laminas/Mvc/Latest/config/container.php
diff --git a/tests/Frameworks/Laminas/Version_1_4/config/development.config.php.dist b/tests/Frameworks/Laminas/Mvc/Latest/config/development.config.php.dist
similarity index 100%
rename from tests/Frameworks/Laminas/Version_1_4/config/development.config.php.dist
rename to tests/Frameworks/Laminas/Mvc/Latest/config/development.config.php.dist
diff --git a/tests/Frameworks/Laminas/Version_1_4/config/modules.config.php b/tests/Frameworks/Laminas/Mvc/Latest/config/modules.config.php
similarity index 100%
rename from tests/Frameworks/Laminas/Version_1_4/config/modules.config.php
rename to tests/Frameworks/Laminas/Mvc/Latest/config/modules.config.php
diff --git a/tests/Frameworks/Laminas/Version_1_4/data/cache/.gitkeep b/tests/Frameworks/Laminas/Mvc/Latest/data/cache/.gitkeep
similarity index 100%
rename from tests/Frameworks/Laminas/Version_1_4/data/cache/.gitkeep
rename to tests/Frameworks/Laminas/Mvc/Latest/data/cache/.gitkeep
diff --git a/tests/Frameworks/Laminas/Version_2_0/docker-compose.yml b/tests/Frameworks/Laminas/Mvc/Latest/docker-compose.yml
similarity index 100%
rename from tests/Frameworks/Laminas/Version_2_0/docker-compose.yml
rename to tests/Frameworks/Laminas/Mvc/Latest/docker-compose.yml
diff --git a/tests/Frameworks/Laminas/Version_2_0/module/Application/config/module.config.php b/tests/Frameworks/Laminas/Mvc/Latest/module/Application/config/module.config.php
similarity index 100%
rename from tests/Frameworks/Laminas/Version_2_0/module/Application/config/module.config.php
rename to tests/Frameworks/Laminas/Mvc/Latest/module/Application/config/module.config.php
diff --git a/tests/Frameworks/Laminas/Version_1_4/module/Application/src/Controller/CommonSpecsController.php b/tests/Frameworks/Laminas/Mvc/Latest/module/Application/src/Controller/CommonSpecsController.php
similarity index 100%
rename from tests/Frameworks/Laminas/Version_1_4/module/Application/src/Controller/CommonSpecsController.php
rename to tests/Frameworks/Laminas/Mvc/Latest/module/Application/src/Controller/CommonSpecsController.php
diff --git a/tests/Frameworks/Laminas/Version_1_4/module/Application/src/Controller/IndexController.php b/tests/Frameworks/Laminas/Mvc/Latest/module/Application/src/Controller/IndexController.php
similarity index 100%
rename from tests/Frameworks/Laminas/Version_1_4/module/Application/src/Controller/IndexController.php
rename to tests/Frameworks/Laminas/Mvc/Latest/module/Application/src/Controller/IndexController.php
diff --git a/tests/Frameworks/Laminas/Version_1_4/module/Application/src/Module.php b/tests/Frameworks/Laminas/Mvc/Latest/module/Application/src/Module.php
similarity index 100%
rename from tests/Frameworks/Laminas/Version_1_4/module/Application/src/Module.php
rename to tests/Frameworks/Laminas/Mvc/Latest/module/Application/src/Module.php
diff --git a/tests/Frameworks/Laminas/Version_1_4/module/Application/test/Controller/IndexControllerTest.php b/tests/Frameworks/Laminas/Mvc/Latest/module/Application/test/Controller/IndexControllerTest.php
similarity index 100%
rename from tests/Frameworks/Laminas/Version_1_4/module/Application/test/Controller/IndexControllerTest.php
rename to tests/Frameworks/Laminas/Mvc/Latest/module/Application/test/Controller/IndexControllerTest.php
diff --git a/tests/Frameworks/Laminas/Version_1_4/module/Application/view/application/common-specs/view.phtml b/tests/Frameworks/Laminas/Mvc/Latest/module/Application/view/application/common-specs/view.phtml
similarity index 100%
rename from tests/Frameworks/Laminas/Version_1_4/module/Application/view/application/common-specs/view.phtml
rename to tests/Frameworks/Laminas/Mvc/Latest/module/Application/view/application/common-specs/view.phtml
diff --git a/tests/Frameworks/Laminas/Version_1_4/module/Application/view/application/index/index.phtml b/tests/Frameworks/Laminas/Mvc/Latest/module/Application/view/application/index/index.phtml
similarity index 100%
rename from tests/Frameworks/Laminas/Version_1_4/module/Application/view/application/index/index.phtml
rename to tests/Frameworks/Laminas/Mvc/Latest/module/Application/view/application/index/index.phtml
diff --git a/tests/Frameworks/Laminas/Version_1_4/module/Application/view/error/404.phtml b/tests/Frameworks/Laminas/Mvc/Latest/module/Application/view/error/404.phtml
similarity index 100%
rename from tests/Frameworks/Laminas/Version_1_4/module/Application/view/error/404.phtml
rename to tests/Frameworks/Laminas/Mvc/Latest/module/Application/view/error/404.phtml
diff --git a/tests/Frameworks/Laminas/Version_1_4/module/Application/view/error/index.phtml b/tests/Frameworks/Laminas/Mvc/Latest/module/Application/view/error/index.phtml
similarity index 100%
rename from tests/Frameworks/Laminas/Version_1_4/module/Application/view/error/index.phtml
rename to tests/Frameworks/Laminas/Mvc/Latest/module/Application/view/error/index.phtml
diff --git a/tests/Frameworks/Laminas/Version_1_4/module/Application/view/layout/layout.phtml b/tests/Frameworks/Laminas/Mvc/Latest/module/Application/view/layout/layout.phtml
similarity index 100%
rename from tests/Frameworks/Laminas/Version_1_4/module/Application/view/layout/layout.phtml
rename to tests/Frameworks/Laminas/Mvc/Latest/module/Application/view/layout/layout.phtml
diff --git a/tests/Frameworks/Laminas/Version_1_4/phpcs.xml b/tests/Frameworks/Laminas/Mvc/Latest/phpcs.xml
similarity index 100%
rename from tests/Frameworks/Laminas/Version_1_4/phpcs.xml
rename to tests/Frameworks/Laminas/Mvc/Latest/phpcs.xml
diff --git a/tests/Frameworks/Laminas/Version_2_0/phpunit.xml.dist b/tests/Frameworks/Laminas/Mvc/Latest/phpunit.xml.dist
similarity index 100%
rename from tests/Frameworks/Laminas/Version_2_0/phpunit.xml.dist
rename to tests/Frameworks/Laminas/Mvc/Latest/phpunit.xml.dist
diff --git a/tests/Frameworks/Laminas/Version_1_4/psalm.xml b/tests/Frameworks/Laminas/Mvc/Latest/psalm.xml
similarity index 100%
rename from tests/Frameworks/Laminas/Version_1_4/psalm.xml
rename to tests/Frameworks/Laminas/Mvc/Latest/psalm.xml
diff --git a/tests/Frameworks/Laminas/Version_1_4/public/.htaccess b/tests/Frameworks/Laminas/Mvc/Latest/public/.htaccess
similarity index 100%
rename from tests/Frameworks/Laminas/Version_1_4/public/.htaccess
rename to tests/Frameworks/Laminas/Mvc/Latest/public/.htaccess
diff --git a/tests/Frameworks/Laminas/Version_1_4/public/css/bootstrap.css b/tests/Frameworks/Laminas/Mvc/Latest/public/css/bootstrap.css
similarity index 100%
rename from tests/Frameworks/Laminas/Version_1_4/public/css/bootstrap.css
rename to tests/Frameworks/Laminas/Mvc/Latest/public/css/bootstrap.css
diff --git a/tests/Frameworks/Laminas/Version_1_4/public/css/bootstrap.css.map b/tests/Frameworks/Laminas/Mvc/Latest/public/css/bootstrap.css.map
similarity index 100%
rename from tests/Frameworks/Laminas/Version_1_4/public/css/bootstrap.css.map
rename to tests/Frameworks/Laminas/Mvc/Latest/public/css/bootstrap.css.map
diff --git a/tests/Frameworks/Laminas/Version_1_4/public/css/bootstrap.min.css b/tests/Frameworks/Laminas/Mvc/Latest/public/css/bootstrap.min.css
similarity index 100%
rename from tests/Frameworks/Laminas/Version_1_4/public/css/bootstrap.min.css
rename to tests/Frameworks/Laminas/Mvc/Latest/public/css/bootstrap.min.css
diff --git a/tests/Frameworks/Laminas/Version_1_4/public/css/bootstrap.min.css.map b/tests/Frameworks/Laminas/Mvc/Latest/public/css/bootstrap.min.css.map
similarity index 100%
rename from tests/Frameworks/Laminas/Version_1_4/public/css/bootstrap.min.css.map
rename to tests/Frameworks/Laminas/Mvc/Latest/public/css/bootstrap.min.css.map
diff --git a/tests/Frameworks/Laminas/Version_1_4/public/css/style.css b/tests/Frameworks/Laminas/Mvc/Latest/public/css/style.css
similarity index 100%
rename from tests/Frameworks/Laminas/Version_1_4/public/css/style.css
rename to tests/Frameworks/Laminas/Mvc/Latest/public/css/style.css
diff --git a/tests/Frameworks/Laminas/Version_1_4/public/img/favicon.ico b/tests/Frameworks/Laminas/Mvc/Latest/public/img/favicon.ico
similarity index 100%
rename from tests/Frameworks/Laminas/Version_1_4/public/img/favicon.ico
rename to tests/Frameworks/Laminas/Mvc/Latest/public/img/favicon.ico
diff --git a/tests/Frameworks/Laminas/Version_1_4/public/img/laminas-logo.svg b/tests/Frameworks/Laminas/Mvc/Latest/public/img/laminas-logo.svg
similarity index 100%
rename from tests/Frameworks/Laminas/Version_1_4/public/img/laminas-logo.svg
rename to tests/Frameworks/Laminas/Mvc/Latest/public/img/laminas-logo.svg
diff --git a/tests/Frameworks/Laminas/Version_2_0/public/index.php b/tests/Frameworks/Laminas/Mvc/Latest/public/index.php
similarity index 100%
rename from tests/Frameworks/Laminas/Version_2_0/public/index.php
rename to tests/Frameworks/Laminas/Mvc/Latest/public/index.php
diff --git a/tests/Frameworks/Laminas/Version_1_4/public/js/bootstrap.js b/tests/Frameworks/Laminas/Mvc/Latest/public/js/bootstrap.js
similarity index 100%
rename from tests/Frameworks/Laminas/Version_1_4/public/js/bootstrap.js
rename to tests/Frameworks/Laminas/Mvc/Latest/public/js/bootstrap.js
diff --git a/tests/Frameworks/Laminas/Version_1_4/public/js/bootstrap.js.map b/tests/Frameworks/Laminas/Mvc/Latest/public/js/bootstrap.js.map
similarity index 100%
rename from tests/Frameworks/Laminas/Version_1_4/public/js/bootstrap.js.map
rename to tests/Frameworks/Laminas/Mvc/Latest/public/js/bootstrap.js.map
diff --git a/tests/Frameworks/Laminas/Version_1_4/public/js/bootstrap.min.js b/tests/Frameworks/Laminas/Mvc/Latest/public/js/bootstrap.min.js
similarity index 100%
rename from tests/Frameworks/Laminas/Version_1_4/public/js/bootstrap.min.js
rename to tests/Frameworks/Laminas/Mvc/Latest/public/js/bootstrap.min.js
diff --git a/tests/Frameworks/Laminas/Version_1_4/public/js/bootstrap.min.js.map b/tests/Frameworks/Laminas/Mvc/Latest/public/js/bootstrap.min.js.map
similarity index 100%
rename from tests/Frameworks/Laminas/Version_1_4/public/js/bootstrap.min.js.map
rename to tests/Frameworks/Laminas/Mvc/Latest/public/js/bootstrap.min.js.map
diff --git a/tests/Frameworks/Laminas/Version_1_4/public/js/jquery-3.5.1.min.js b/tests/Frameworks/Laminas/Mvc/Latest/public/js/jquery-3.5.1.min.js
similarity index 100%
rename from tests/Frameworks/Laminas/Version_1_4/public/js/jquery-3.5.1.min.js
rename to tests/Frameworks/Laminas/Mvc/Latest/public/js/jquery-3.5.1.min.js
diff --git a/tests/Frameworks/Laminas/Version_1_4/public/web.config b/tests/Frameworks/Laminas/Mvc/Latest/public/web.config
similarity index 100%
rename from tests/Frameworks/Laminas/Version_1_4/public/web.config
rename to tests/Frameworks/Laminas/Mvc/Latest/public/web.config
diff --git a/tests/Frameworks/Laminas/Version_2_0/renovate.json b/tests/Frameworks/Laminas/Mvc/Latest/renovate.json
similarity index 100%
rename from tests/Frameworks/Laminas/Version_2_0/renovate.json
rename to tests/Frameworks/Laminas/Mvc/Latest/renovate.json
diff --git a/tests/Frameworks/Laminas/Version_2_0/.gitattributes b/tests/Frameworks/Laminas/Mvc/Version_3_3/.gitattributes
similarity index 100%
rename from tests/Frameworks/Laminas/Version_2_0/.gitattributes
rename to tests/Frameworks/Laminas/Mvc/Version_3_3/.gitattributes
diff --git a/tests/Frameworks/Laminas/Version_2_0/.gitignore b/tests/Frameworks/Laminas/Mvc/Version_3_3/.gitignore
similarity index 100%
rename from tests/Frameworks/Laminas/Version_2_0/.gitignore
rename to tests/Frameworks/Laminas/Mvc/Version_3_3/.gitignore
diff --git a/tests/Frameworks/Laminas/Version_2_0/CHANGELOG.md b/tests/Frameworks/Laminas/Mvc/Version_3_3/CHANGELOG.md
similarity index 100%
rename from tests/Frameworks/Laminas/Version_2_0/CHANGELOG.md
rename to tests/Frameworks/Laminas/Mvc/Version_3_3/CHANGELOG.md
diff --git a/tests/Frameworks/Laminas/Version_2_0/COPYRIGHT.md b/tests/Frameworks/Laminas/Mvc/Version_3_3/COPYRIGHT.md
similarity index 100%
rename from tests/Frameworks/Laminas/Version_2_0/COPYRIGHT.md
rename to tests/Frameworks/Laminas/Mvc/Version_3_3/COPYRIGHT.md
diff --git a/tests/Frameworks/Laminas/Version_1_4/Dockerfile b/tests/Frameworks/Laminas/Mvc/Version_3_3/Dockerfile
similarity index 98%
rename from tests/Frameworks/Laminas/Version_1_4/Dockerfile
rename to tests/Frameworks/Laminas/Mvc/Version_3_3/Dockerfile
index 29fe55467f..0e08b8dafc 100644
--- a/tests/Frameworks/Laminas/Version_1_4/Dockerfile
+++ b/tests/Frameworks/Laminas/Mvc/Version_3_3/Dockerfile
@@ -1,4 +1,4 @@
-FROM php:7.3-apache
+FROM php:8.1-apache
LABEL maintainer="getlaminas.org" \
org.label-schema.docker.dockerfile="/Dockerfile" \
diff --git a/tests/Frameworks/Laminas/Version_2_0/LICENSE.md b/tests/Frameworks/Laminas/Mvc/Version_3_3/LICENSE.md
similarity index 100%
rename from tests/Frameworks/Laminas/Version_2_0/LICENSE.md
rename to tests/Frameworks/Laminas/Mvc/Version_3_3/LICENSE.md
diff --git a/tests/Frameworks/Laminas/Version_1_4/README.md b/tests/Frameworks/Laminas/Mvc/Version_3_3/README.md
similarity index 74%
rename from tests/Frameworks/Laminas/Version_1_4/README.md
rename to tests/Frameworks/Laminas/Mvc/Version_3_3/README.md
index 087f4eeb40..c4254941f1 100644
--- a/tests/Frameworks/Laminas/Version_1_4/README.md
+++ b/tests/Frameworks/Laminas/Mvc/Version_3_3/README.md
@@ -1,5 +1,21 @@
# laminas-mvc-skeleton
+> ## 🇷🇺 Русским гражданам
+>
+> Мы, участники Laminas, родились и живем в разных странах. У многих из нас есть друзья, родственники и коллеги как в России, так и в Украине. Некоторые из нас родились в России. Некоторые из нас живут в России. У некоторых бабушки и дедушки сражались с фашистами во Второй мировой войне. Здесь никто не поддерживает фашизм.
+>
+> У одного из нас есть украинская родственница, которая спаслась из дома вместе с сыном. Поезд задержался из-за бомбежки на дороге впереди. У нас есть друзья, которые прячутся в бомбоубежищах. Мы с тревогой ждем весточки от них после воздушных налетов, которые беспорядочно наносят удары и попадают по больницам, школам, детским садам и домам. Мы не берем это из каких-либо СМИ. Мы наблюдаем это напрямую.
+>
+> Вы доверяете нам достаточно, чтоб использовать наши программы, и мы просим вас довериться нам вновь. Мы нуждаемся в помощи. Выходите и протестуйте против этой бесполезной войны. Остановите кровопролитие. Скажите "Нет войне!"
+>
+> ## 🇺🇸 To Citizens of Russia
+>
+> We at Laminas come from all over the world. Many of us have friends, family and colleagues in both Russia and Ukraine. Some of us were born in Russia. Some of us currently live in Russia. Some have grandparents who fought Nazis in World War II. Nobody here supports fascism.
+>
+> One team member has a Ukrainian relative who fled her home with her son. The train was delayed due to bombing on the road ahead. We have friends who are hiding in bomb shelters. We anxiously follow up on them after the air raids, which indiscriminately fire at hospitals, schools, kindergartens and houses. We're not taking this from any media. These are our actual experiences.
+>
+> You trust us enough to use our software. We ask that you trust us to say the truth on this. We need your help. Go out and protest this unnecessary war. Stop the bloodshed. Say "stop the war!"
+
## Introduction
This is a skeleton application using the Laminas MVC layer and module
@@ -24,7 +40,7 @@ Once installed, you can test it out immediately using PHP's built-in web server:
$ cd path/to/install
$ php -S 0.0.0.0:8080 -t public
# OR use the composer alias:
-$ composer run --timeout 0 serve
+$ composer serve
```
This will start the cli-server on port 8080, and bind it to all network
diff --git a/tests/Frameworks/Laminas/Version_2_0/Vagrantfile b/tests/Frameworks/Laminas/Mvc/Version_3_3/Vagrantfile
similarity index 100%
rename from tests/Frameworks/Laminas/Version_2_0/Vagrantfile
rename to tests/Frameworks/Laminas/Mvc/Version_3_3/Vagrantfile
diff --git a/tests/Frameworks/Laminas/Mvc/Version_3_3/bin/clear-config-cache.php b/tests/Frameworks/Laminas/Mvc/Version_3_3/bin/clear-config-cache.php
new file mode 100644
index 0000000000..3b318addcb
--- /dev/null
+++ b/tests/Frameworks/Laminas/Mvc/Version_3_3/bin/clear-config-cache.php
@@ -0,0 +1,44 @@
+getConfigCacheFile();
+
+if (! file_exists($configCacheFile)) {
+ printf(
+ "Configured config cache file '%s' not found%s",
+ $configCacheFile,
+ PHP_EOL
+ );
+ exit(0);
+}
+
+if (false === unlink($configCacheFile)) {
+ printf(
+ "Error removing config cache file '%s'%s",
+ $configCacheFile,
+ PHP_EOL
+ );
+ exit(1);
+}
+
+printf(
+ "Removed configured config cache file '%s'%s",
+ $configCacheFile,
+ PHP_EOL
+);
+exit(0);
diff --git a/tests/Frameworks/Laminas/Version_2_0/bin/update-gitignore.php b/tests/Frameworks/Laminas/Mvc/Version_3_3/bin/update-gitignore.php
old mode 100755
new mode 100644
similarity index 100%
rename from tests/Frameworks/Laminas/Version_2_0/bin/update-gitignore.php
rename to tests/Frameworks/Laminas/Mvc/Version_3_3/bin/update-gitignore.php
diff --git a/tests/Frameworks/Laminas/Version_1_4/composer.json b/tests/Frameworks/Laminas/Mvc/Version_3_3/composer.json
similarity index 78%
rename from tests/Frameworks/Laminas/Version_1_4/composer.json
rename to tests/Frameworks/Laminas/Mvc/Version_3_3/composer.json
index 320adfda43..f03478c8ec 100644
--- a/tests/Frameworks/Laminas/Version_1_4/composer.json
+++ b/tests/Frameworks/Laminas/Mvc/Version_3_3/composer.json
@@ -10,10 +10,11 @@
"framework"
],
"require": {
- "php": "^7.3 || ~8.0.0",
+ "php": "^7.3 || ~8.0.0 || ~8.1.0",
"laminas/laminas-component-installer": "^2.4",
"laminas/laminas-development-mode": "^3.2",
- "laminas/laminas-mvc": "^3.1.1"
+ "laminas/laminas-skeleton-installer": "^0.6",
+ "laminas/laminas-mvc": "3.3.*"
},
"autoload": {
"psr-4": {
@@ -26,6 +27,7 @@
}
},
"scripts": {
+ "clear-config-cache": "php bin/clear-config-cache.php",
"cs-check": "vendor/bin/phpcs",
"cs-fix": "vendor/bin/phpcbf",
"development-disable": "laminas-development-mode disable",
@@ -37,11 +39,17 @@
"php -r 'if (file_exists(\"bin/remove-package-artifacts.php\")) include \"bin/remove-package-artifacts.php\";'",
"php -r 'if (file_exists(\"CHANGELOG.md\")) unlink(\"CHANGELOG.md\");'"
],
- "serve": "php -S 0.0.0.0:8080 -t public",
+ "post-install-cmd": "@clear-config-cache",
+ "post-update-cmd": "@clear-config-cache",
+ "serve": [
+ "Composer\\Config::disableProcessTimeout",
+ "php -S 0.0.0.0:8080 -t public"
+ ],
"test": "vendor/bin/phpunit",
"static-analysis": "vendor/bin/psalm --shepherd --stats"
},
"scripts-descriptions": {
+ "clear-config-cache": "Clears merged config cache. Required for config changes to be applied.",
"cs-check": "Run coding standards checks.",
"cs-fix": "Automatically fix coding standard issues.",
"development-disable": "Disable development mode.",
diff --git a/tests/Frameworks/Laminas/Version_2_0/config/application.config.php b/tests/Frameworks/Laminas/Mvc/Version_3_3/config/application.config.php
similarity index 100%
rename from tests/Frameworks/Laminas/Version_2_0/config/application.config.php
rename to tests/Frameworks/Laminas/Mvc/Version_3_3/config/application.config.php
diff --git a/tests/Frameworks/Laminas/Version_2_0/config/autoload/.gitignore b/tests/Frameworks/Laminas/Mvc/Version_3_3/config/autoload/.gitignore
similarity index 100%
rename from tests/Frameworks/Laminas/Version_2_0/config/autoload/.gitignore
rename to tests/Frameworks/Laminas/Mvc/Version_3_3/config/autoload/.gitignore
diff --git a/tests/Frameworks/Laminas/Version_2_0/config/autoload/README.md b/tests/Frameworks/Laminas/Mvc/Version_3_3/config/autoload/README.md
similarity index 100%
rename from tests/Frameworks/Laminas/Version_2_0/config/autoload/README.md
rename to tests/Frameworks/Laminas/Mvc/Version_3_3/config/autoload/README.md
diff --git a/tests/Frameworks/Laminas/Version_2_0/config/autoload/development.local.php.dist b/tests/Frameworks/Laminas/Mvc/Version_3_3/config/autoload/development.local.php.dist
similarity index 100%
rename from tests/Frameworks/Laminas/Version_2_0/config/autoload/development.local.php.dist
rename to tests/Frameworks/Laminas/Mvc/Version_3_3/config/autoload/development.local.php.dist
diff --git a/tests/Frameworks/Laminas/Version_2_0/config/autoload/global.php b/tests/Frameworks/Laminas/Mvc/Version_3_3/config/autoload/global.php
similarity index 100%
rename from tests/Frameworks/Laminas/Version_2_0/config/autoload/global.php
rename to tests/Frameworks/Laminas/Mvc/Version_3_3/config/autoload/global.php
diff --git a/tests/Frameworks/Laminas/Version_2_0/config/autoload/laminas-developer-tools.local-development.php b/tests/Frameworks/Laminas/Mvc/Version_3_3/config/autoload/laminas-developer-tools.local-development.php
similarity index 100%
rename from tests/Frameworks/Laminas/Version_2_0/config/autoload/laminas-developer-tools.local-development.php
rename to tests/Frameworks/Laminas/Mvc/Version_3_3/config/autoload/laminas-developer-tools.local-development.php
diff --git a/tests/Frameworks/Laminas/Version_2_0/config/autoload/local.php.dist b/tests/Frameworks/Laminas/Mvc/Version_3_3/config/autoload/local.php.dist
similarity index 100%
rename from tests/Frameworks/Laminas/Version_2_0/config/autoload/local.php.dist
rename to tests/Frameworks/Laminas/Mvc/Version_3_3/config/autoload/local.php.dist
diff --git a/tests/Frameworks/Laminas/Mvc/Version_3_3/config/container.php b/tests/Frameworks/Laminas/Mvc/Version_3_3/config/container.php
new file mode 100644
index 0000000000..ec8cb421f6
--- /dev/null
+++ b/tests/Frameworks/Laminas/Mvc/Version_3_3/config/container.php
@@ -0,0 +1,13 @@
+getServiceManager();
diff --git a/tests/Frameworks/Laminas/Version_2_0/config/development.config.php.dist b/tests/Frameworks/Laminas/Mvc/Version_3_3/config/development.config.php.dist
similarity index 100%
rename from tests/Frameworks/Laminas/Version_2_0/config/development.config.php.dist
rename to tests/Frameworks/Laminas/Mvc/Version_3_3/config/development.config.php.dist
diff --git a/tests/Frameworks/Laminas/Version_2_0/config/modules.config.php b/tests/Frameworks/Laminas/Mvc/Version_3_3/config/modules.config.php
similarity index 100%
rename from tests/Frameworks/Laminas/Version_2_0/config/modules.config.php
rename to tests/Frameworks/Laminas/Mvc/Version_3_3/config/modules.config.php
diff --git a/tests/Frameworks/Laminas/Version_2_0/data/cache/.gitkeep b/tests/Frameworks/Laminas/Mvc/Version_3_3/data/cache/.gitkeep
similarity index 100%
rename from tests/Frameworks/Laminas/Version_2_0/data/cache/.gitkeep
rename to tests/Frameworks/Laminas/Mvc/Version_3_3/data/cache/.gitkeep
diff --git a/tests/Frameworks/Laminas/Mvc/Version_3_3/docker-compose.yml b/tests/Frameworks/Laminas/Mvc/Version_3_3/docker-compose.yml
new file mode 100644
index 0000000000..38186a8be3
--- /dev/null
+++ b/tests/Frameworks/Laminas/Mvc/Version_3_3/docker-compose.yml
@@ -0,0 +1,7 @@
+services:
+ laminas:
+ build: .
+ ports:
+ - "8080:80"
+ volumes:
+ - .:/var/www
diff --git a/tests/Frameworks/Laminas/Version_1_4/module/Application/config/module.config.php b/tests/Frameworks/Laminas/Mvc/Version_3_3/module/Application/config/module.config.php
similarity index 97%
rename from tests/Frameworks/Laminas/Version_1_4/module/Application/config/module.config.php
rename to tests/Frameworks/Laminas/Mvc/Version_3_3/module/Application/config/module.config.php
index 034e1ab978..86768e7706 100644
--- a/tests/Frameworks/Laminas/Version_1_4/module/Application/config/module.config.php
+++ b/tests/Frameworks/Laminas/Mvc/Version_3_3/module/Application/config/module.config.php
@@ -4,6 +4,7 @@
namespace Application;
+use Application\Controller\CommonSpecsController;
use Laminas\Router\Http\Literal;
use Laminas\Router\Http\Segment;
use Laminas\ServiceManager\Factory\InvokableFactory;
@@ -19,7 +20,7 @@
'controller' => Controller\IndexController::class,
'action' => 'index',
],
- ],
+ ]
],
'application' => [
'type' => Segment::class,
diff --git a/tests/Frameworks/Laminas/Version_2_0/module/Application/src/Controller/CommonSpecsController.php b/tests/Frameworks/Laminas/Mvc/Version_3_3/module/Application/src/Controller/CommonSpecsController.php
similarity index 100%
rename from tests/Frameworks/Laminas/Version_2_0/module/Application/src/Controller/CommonSpecsController.php
rename to tests/Frameworks/Laminas/Mvc/Version_3_3/module/Application/src/Controller/CommonSpecsController.php
diff --git a/tests/Frameworks/Laminas/Version_2_0/module/Application/src/Controller/IndexController.php b/tests/Frameworks/Laminas/Mvc/Version_3_3/module/Application/src/Controller/IndexController.php
similarity index 100%
rename from tests/Frameworks/Laminas/Version_2_0/module/Application/src/Controller/IndexController.php
rename to tests/Frameworks/Laminas/Mvc/Version_3_3/module/Application/src/Controller/IndexController.php
diff --git a/tests/Frameworks/Laminas/Version_2_0/module/Application/src/Module.php b/tests/Frameworks/Laminas/Mvc/Version_3_3/module/Application/src/Module.php
similarity index 100%
rename from tests/Frameworks/Laminas/Version_2_0/module/Application/src/Module.php
rename to tests/Frameworks/Laminas/Mvc/Version_3_3/module/Application/src/Module.php
diff --git a/tests/Frameworks/Laminas/Version_2_0/module/Application/test/Controller/IndexControllerTest.php b/tests/Frameworks/Laminas/Mvc/Version_3_3/module/Application/test/Controller/IndexControllerTest.php
similarity index 100%
rename from tests/Frameworks/Laminas/Version_2_0/module/Application/test/Controller/IndexControllerTest.php
rename to tests/Frameworks/Laminas/Mvc/Version_3_3/module/Application/test/Controller/IndexControllerTest.php
diff --git a/tests/Frameworks/Laminas/Version_2_0/module/Application/view/application/common-specs/view.phtml b/tests/Frameworks/Laminas/Mvc/Version_3_3/module/Application/view/application/common-specs/view.phtml
similarity index 100%
rename from tests/Frameworks/Laminas/Version_2_0/module/Application/view/application/common-specs/view.phtml
rename to tests/Frameworks/Laminas/Mvc/Version_3_3/module/Application/view/application/common-specs/view.phtml
diff --git a/tests/Frameworks/Laminas/Version_2_0/module/Application/view/application/index/index.phtml b/tests/Frameworks/Laminas/Mvc/Version_3_3/module/Application/view/application/index/index.phtml
similarity index 100%
rename from tests/Frameworks/Laminas/Version_2_0/module/Application/view/application/index/index.phtml
rename to tests/Frameworks/Laminas/Mvc/Version_3_3/module/Application/view/application/index/index.phtml
diff --git a/tests/Frameworks/Laminas/Version_2_0/module/Application/view/error/404.phtml b/tests/Frameworks/Laminas/Mvc/Version_3_3/module/Application/view/error/404.phtml
similarity index 100%
rename from tests/Frameworks/Laminas/Version_2_0/module/Application/view/error/404.phtml
rename to tests/Frameworks/Laminas/Mvc/Version_3_3/module/Application/view/error/404.phtml
diff --git a/tests/Frameworks/Laminas/Version_2_0/module/Application/view/error/index.phtml b/tests/Frameworks/Laminas/Mvc/Version_3_3/module/Application/view/error/index.phtml
similarity index 100%
rename from tests/Frameworks/Laminas/Version_2_0/module/Application/view/error/index.phtml
rename to tests/Frameworks/Laminas/Mvc/Version_3_3/module/Application/view/error/index.phtml
diff --git a/tests/Frameworks/Laminas/Version_2_0/module/Application/view/layout/layout.phtml b/tests/Frameworks/Laminas/Mvc/Version_3_3/module/Application/view/layout/layout.phtml
similarity index 100%
rename from tests/Frameworks/Laminas/Version_2_0/module/Application/view/layout/layout.phtml
rename to tests/Frameworks/Laminas/Mvc/Version_3_3/module/Application/view/layout/layout.phtml
diff --git a/tests/Frameworks/Laminas/Version_2_0/phpcs.xml b/tests/Frameworks/Laminas/Mvc/Version_3_3/phpcs.xml
similarity index 100%
rename from tests/Frameworks/Laminas/Version_2_0/phpcs.xml
rename to tests/Frameworks/Laminas/Mvc/Version_3_3/phpcs.xml
diff --git a/tests/Frameworks/Laminas/Mvc/Version_3_3/phpunit.xml.dist b/tests/Frameworks/Laminas/Mvc/Version_3_3/phpunit.xml.dist
new file mode 100644
index 0000000000..43aceffd9d
--- /dev/null
+++ b/tests/Frameworks/Laminas/Mvc/Version_3_3/phpunit.xml.dist
@@ -0,0 +1,18 @@
+
+
+
+
+ ./module/*/src
+
+
+
+
+
+ ./module/*/test
+
+
+
diff --git a/tests/Frameworks/Laminas/Version_2_0/psalm.xml b/tests/Frameworks/Laminas/Mvc/Version_3_3/psalm.xml
similarity index 100%
rename from tests/Frameworks/Laminas/Version_2_0/psalm.xml
rename to tests/Frameworks/Laminas/Mvc/Version_3_3/psalm.xml
diff --git a/tests/Frameworks/Laminas/Version_2_0/public/.htaccess b/tests/Frameworks/Laminas/Mvc/Version_3_3/public/.htaccess
similarity index 100%
rename from tests/Frameworks/Laminas/Version_2_0/public/.htaccess
rename to tests/Frameworks/Laminas/Mvc/Version_3_3/public/.htaccess
diff --git a/tests/Frameworks/Laminas/Version_2_0/public/css/bootstrap.css b/tests/Frameworks/Laminas/Mvc/Version_3_3/public/css/bootstrap.css
similarity index 100%
rename from tests/Frameworks/Laminas/Version_2_0/public/css/bootstrap.css
rename to tests/Frameworks/Laminas/Mvc/Version_3_3/public/css/bootstrap.css
diff --git a/tests/Frameworks/Laminas/Version_2_0/public/css/bootstrap.css.map b/tests/Frameworks/Laminas/Mvc/Version_3_3/public/css/bootstrap.css.map
similarity index 100%
rename from tests/Frameworks/Laminas/Version_2_0/public/css/bootstrap.css.map
rename to tests/Frameworks/Laminas/Mvc/Version_3_3/public/css/bootstrap.css.map
diff --git a/tests/Frameworks/Laminas/Version_2_0/public/css/bootstrap.min.css b/tests/Frameworks/Laminas/Mvc/Version_3_3/public/css/bootstrap.min.css
similarity index 100%
rename from tests/Frameworks/Laminas/Version_2_0/public/css/bootstrap.min.css
rename to tests/Frameworks/Laminas/Mvc/Version_3_3/public/css/bootstrap.min.css
diff --git a/tests/Frameworks/Laminas/Version_2_0/public/css/bootstrap.min.css.map b/tests/Frameworks/Laminas/Mvc/Version_3_3/public/css/bootstrap.min.css.map
similarity index 100%
rename from tests/Frameworks/Laminas/Version_2_0/public/css/bootstrap.min.css.map
rename to tests/Frameworks/Laminas/Mvc/Version_3_3/public/css/bootstrap.min.css.map
diff --git a/tests/Frameworks/Laminas/Version_2_0/public/css/style.css b/tests/Frameworks/Laminas/Mvc/Version_3_3/public/css/style.css
similarity index 100%
rename from tests/Frameworks/Laminas/Version_2_0/public/css/style.css
rename to tests/Frameworks/Laminas/Mvc/Version_3_3/public/css/style.css
diff --git a/tests/Frameworks/Laminas/Version_2_0/public/img/favicon.ico b/tests/Frameworks/Laminas/Mvc/Version_3_3/public/img/favicon.ico
similarity index 100%
rename from tests/Frameworks/Laminas/Version_2_0/public/img/favicon.ico
rename to tests/Frameworks/Laminas/Mvc/Version_3_3/public/img/favicon.ico
diff --git a/tests/Frameworks/Laminas/Version_2_0/public/img/laminas-logo.svg b/tests/Frameworks/Laminas/Mvc/Version_3_3/public/img/laminas-logo.svg
similarity index 100%
rename from tests/Frameworks/Laminas/Version_2_0/public/img/laminas-logo.svg
rename to tests/Frameworks/Laminas/Mvc/Version_3_3/public/img/laminas-logo.svg
diff --git a/tests/Frameworks/Laminas/Version_1_4/public/index.php b/tests/Frameworks/Laminas/Mvc/Version_3_3/public/index.php
similarity index 74%
rename from tests/Frameworks/Laminas/Version_1_4/public/index.php
rename to tests/Frameworks/Laminas/Mvc/Version_3_3/public/index.php
index 045b84d3c5..cc5d2249e7 100644
--- a/tests/Frameworks/Laminas/Version_1_4/public/index.php
+++ b/tests/Frameworks/Laminas/Mvc/Version_3_3/public/index.php
@@ -3,7 +3,6 @@
declare(strict_types=1);
use Laminas\Mvc\Application;
-use Laminas\Stdlib\ArrayUtils;
/**
* This makes our life easier when dealing with paths. Everything is relative
@@ -32,11 +31,7 @@
);
}
-// Retrieve configuration
-$appConfig = require __DIR__ . '/../config/application.config.php';
-if (file_exists(__DIR__ . '/../config/development.config.php')) {
- $appConfig = ArrayUtils::merge($appConfig, require __DIR__ . '/../config/development.config.php');
-}
-
+$container = require __DIR__ . '/../config/container.php';
// Run the application!
-Application::init($appConfig)->run();
+$container->get('Application')
+ ->run();
diff --git a/tests/Frameworks/Laminas/Version_2_0/public/js/bootstrap.js b/tests/Frameworks/Laminas/Mvc/Version_3_3/public/js/bootstrap.js
similarity index 100%
rename from tests/Frameworks/Laminas/Version_2_0/public/js/bootstrap.js
rename to tests/Frameworks/Laminas/Mvc/Version_3_3/public/js/bootstrap.js
diff --git a/tests/Frameworks/Laminas/Version_2_0/public/js/bootstrap.js.map b/tests/Frameworks/Laminas/Mvc/Version_3_3/public/js/bootstrap.js.map
similarity index 100%
rename from tests/Frameworks/Laminas/Version_2_0/public/js/bootstrap.js.map
rename to tests/Frameworks/Laminas/Mvc/Version_3_3/public/js/bootstrap.js.map
diff --git a/tests/Frameworks/Laminas/Version_2_0/public/js/bootstrap.min.js b/tests/Frameworks/Laminas/Mvc/Version_3_3/public/js/bootstrap.min.js
similarity index 100%
rename from tests/Frameworks/Laminas/Version_2_0/public/js/bootstrap.min.js
rename to tests/Frameworks/Laminas/Mvc/Version_3_3/public/js/bootstrap.min.js
diff --git a/tests/Frameworks/Laminas/Version_2_0/public/js/bootstrap.min.js.map b/tests/Frameworks/Laminas/Mvc/Version_3_3/public/js/bootstrap.min.js.map
similarity index 100%
rename from tests/Frameworks/Laminas/Version_2_0/public/js/bootstrap.min.js.map
rename to tests/Frameworks/Laminas/Mvc/Version_3_3/public/js/bootstrap.min.js.map
diff --git a/tests/Frameworks/Laminas/Version_2_0/public/js/jquery-3.5.1.min.js b/tests/Frameworks/Laminas/Mvc/Version_3_3/public/js/jquery-3.5.1.min.js
similarity index 100%
rename from tests/Frameworks/Laminas/Version_2_0/public/js/jquery-3.5.1.min.js
rename to tests/Frameworks/Laminas/Mvc/Version_3_3/public/js/jquery-3.5.1.min.js
diff --git a/tests/Frameworks/Laminas/Version_2_0/public/web.config b/tests/Frameworks/Laminas/Mvc/Version_3_3/public/web.config
similarity index 100%
rename from tests/Frameworks/Laminas/Version_2_0/public/web.config
rename to tests/Frameworks/Laminas/Mvc/Version_3_3/public/web.config
diff --git a/tests/Frameworks/Laminas/Mvc/Version_3_3/renovate.json b/tests/Frameworks/Laminas/Mvc/Version_3_3/renovate.json
new file mode 100644
index 0000000000..ca2f46a31d
--- /dev/null
+++ b/tests/Frameworks/Laminas/Mvc/Version_3_3/renovate.json
@@ -0,0 +1,9 @@
+{
+ "$schema": "https://docs.renovatebot.com/renovate-schema.json",
+ "extends": [
+ "local>laminas/.github:renovate-config"
+ ],
+ "constraints": {
+ "php": "^7.4"
+ }
+}
diff --git a/tests/Frameworks/Laminas/Version_1_4/docker-compose.yml b/tests/Frameworks/Laminas/Version_1_4/docker-compose.yml
deleted file mode 100644
index c35ab634b1..0000000000
--- a/tests/Frameworks/Laminas/Version_1_4/docker-compose.yml
+++ /dev/null
@@ -1,7 +0,0 @@
-laminas:
- build: .
- dockerfile: Dockerfile
- ports:
- - "8080:80"
- volumes:
- - .:/var/www
diff --git a/tests/Frameworks/Laminas/Version_1_4/phpunit.xml.dist b/tests/Frameworks/Laminas/Version_1_4/phpunit.xml.dist
deleted file mode 100644
index 218614ca65..0000000000
--- a/tests/Frameworks/Laminas/Version_1_4/phpunit.xml.dist
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
- ./module/Application/test
-
-
-
-
- ./module/*/src
-
-
-
diff --git a/tests/Frameworks/Laravel/Latest/.editorconfig b/tests/Frameworks/Laravel/Latest/.editorconfig
new file mode 100644
index 0000000000..fc0b5c75ca
--- /dev/null
+++ b/tests/Frameworks/Laravel/Latest/.editorconfig
@@ -0,0 +1,18 @@
+root = true
+
+[*]
+charset = utf-8
+end_of_line = lf
+indent_size = 4
+indent_style = space
+insert_final_newline = false
+trim_trailing_whitespace = true
+
+[*.md]
+trim_trailing_whitespace = false
+
+[*.{yml,yaml}]
+indent_size = 2
+
+[docker-compose.yml]
+indent_size = 4
\ No newline at end of file
diff --git a/tests/Frameworks/Laravel/Latest/.env b/tests/Frameworks/Laravel/Latest/.env
new file mode 100644
index 0000000000..1047bb0413
--- /dev/null
+++ b/tests/Frameworks/Laravel/Latest/.env
@@ -0,0 +1,64 @@
+APP_NAME=Laravel
+APP_ENV=local
+APP_KEY=base64:OARTdfHIE+aUfC5yw2beipDNbqRXqjX+CyqPtpjZka8=
+APP_DEBUG=true
+APP_TIMEZONE=UTC
+APP_URL=http://localhost
+
+APP_LOCALE=en
+APP_FALLBACK_LOCALE=en
+APP_FAKER_LOCALE=en_US
+
+APP_MAINTENANCE_DRIVER=file
+APP_MAINTENANCE_STORE=file
+
+BCRYPT_ROUNDS=12
+
+LOG_CHANNEL=stack
+LOG_STACK=single
+LOG_DEPRECATIONS_CHANNEL=null
+LOG_LEVEL=debug
+
+DB_CONNECTION=mysql
+DB_HOST=127.0.0.1
+DB_PORT=3306
+DB_DATABASE=laravel
+DB_USERNAME=root
+DB_PASSWORD=
+
+SESSION_DRIVER=file
+SESSION_LIFETIME=120
+SESSION_ENCRYPT=false
+SESSION_PATH=/
+SESSION_DOMAIN=null
+
+BROADCAST_CONNECTION=log
+FILESYSTEM_DISK=local
+QUEUE_CONNECTION=sync
+
+CACHE_STORE=file
+CACHE_PREFIX=
+
+MEMCACHED_HOST=127.0.0.1
+
+REDIS_CLIENT=phpredis
+REDIS_HOST=127.0.0.1
+REDIS_PASSWORD=null
+REDIS_PORT=6379
+
+MAIL_MAILER=log
+MAIL_HOST=127.0.0.1
+MAIL_PORT=2525
+MAIL_USERNAME=null
+MAIL_PASSWORD=null
+MAIL_ENCRYPTION=null
+MAIL_FROM_ADDRESS="hello@example.com"
+MAIL_FROM_NAME="${APP_NAME}"
+
+AWS_ACCESS_KEY_ID=
+AWS_SECRET_ACCESS_KEY=
+AWS_DEFAULT_REGION=us-east-1
+AWS_BUCKET=
+AWS_USE_PATH_STYLE_ENDPOINT=false
+
+VITE_APP_NAME="${APP_NAME}"
diff --git a/tests/Frameworks/Laravel/Octane/.env.example b/tests/Frameworks/Laravel/Latest/.env.example
similarity index 100%
rename from tests/Frameworks/Laravel/Octane/.env.example
rename to tests/Frameworks/Laravel/Latest/.env.example
diff --git a/tests/Frameworks/Laravel/Octane/.gitattributes b/tests/Frameworks/Laravel/Latest/.gitattributes
similarity index 100%
rename from tests/Frameworks/Laravel/Octane/.gitattributes
rename to tests/Frameworks/Laravel/Latest/.gitattributes
diff --git a/tests/Frameworks/Laravel/Latest/.gitignore b/tests/Frameworks/Laravel/Latest/.gitignore
new file mode 100644
index 0000000000..aa1f39a2f2
--- /dev/null
+++ b/tests/Frameworks/Laravel/Latest/.gitignore
@@ -0,0 +1,18 @@
+/.phpunit.cache
+/node_modules
+/public/build
+/public/hot
+/public/storage
+/storage/*.key
+/vendor
+.env.backup
+.env.production
+.phpunit.result.cache
+Homestead.json
+Homestead.yaml
+auth.json
+npm-debug.log
+yarn-error.log
+/.fleet
+/.idea
+/.vscode
diff --git a/tests/Frameworks/Laravel/Octane/README.md b/tests/Frameworks/Laravel/Latest/README.md
similarity index 100%
rename from tests/Frameworks/Laravel/Octane/README.md
rename to tests/Frameworks/Laravel/Latest/README.md
diff --git a/tests/Frameworks/Laravel/Octane/app/Http/Controllers/CommonSpecsController.php b/tests/Frameworks/Laravel/Latest/app/Http/Controllers/CommonSpecsController.php
similarity index 100%
rename from tests/Frameworks/Laravel/Octane/app/Http/Controllers/CommonSpecsController.php
rename to tests/Frameworks/Laravel/Latest/app/Http/Controllers/CommonSpecsController.php
diff --git a/tests/Frameworks/Laravel/Octane/app/Http/Controllers/Controller.php b/tests/Frameworks/Laravel/Latest/app/Http/Controllers/Controller.php
similarity index 100%
rename from tests/Frameworks/Laravel/Octane/app/Http/Controllers/Controller.php
rename to tests/Frameworks/Laravel/Latest/app/Http/Controllers/Controller.php
diff --git a/tests/Frameworks/Laravel/Octane/app/Models/User.php b/tests/Frameworks/Laravel/Latest/app/Models/User.php
similarity index 100%
rename from tests/Frameworks/Laravel/Octane/app/Models/User.php
rename to tests/Frameworks/Laravel/Latest/app/Models/User.php
diff --git a/tests/Frameworks/Laravel/Octane/app/Providers/AppServiceProvider.php b/tests/Frameworks/Laravel/Latest/app/Providers/AppServiceProvider.php
similarity index 100%
rename from tests/Frameworks/Laravel/Octane/app/Providers/AppServiceProvider.php
rename to tests/Frameworks/Laravel/Latest/app/Providers/AppServiceProvider.php
diff --git a/tests/Frameworks/Laravel/Latest/artisan b/tests/Frameworks/Laravel/Latest/artisan
new file mode 100644
index 0000000000..8e04b42240
--- /dev/null
+++ b/tests/Frameworks/Laravel/Latest/artisan
@@ -0,0 +1,15 @@
+#!/usr/bin/env php
+handleCommand(new ArgvInput);
+
+exit($status);
diff --git a/tests/Frameworks/Laravel/Octane/bootstrap/app.php b/tests/Frameworks/Laravel/Latest/bootstrap/app.php
similarity index 100%
rename from tests/Frameworks/Laravel/Octane/bootstrap/app.php
rename to tests/Frameworks/Laravel/Latest/bootstrap/app.php
diff --git a/tests/Frameworks/Laravel/Octane/bootstrap/cache/.gitignore b/tests/Frameworks/Laravel/Latest/bootstrap/cache/.gitignore
similarity index 100%
rename from tests/Frameworks/Laravel/Octane/bootstrap/cache/.gitignore
rename to tests/Frameworks/Laravel/Latest/bootstrap/cache/.gitignore
diff --git a/tests/Frameworks/Laravel/Octane/bootstrap/providers.php b/tests/Frameworks/Laravel/Latest/bootstrap/providers.php
similarity index 100%
rename from tests/Frameworks/Laravel/Octane/bootstrap/providers.php
rename to tests/Frameworks/Laravel/Latest/bootstrap/providers.php
diff --git a/tests/Frameworks/Laravel/Latest/composer.json b/tests/Frameworks/Laravel/Latest/composer.json
new file mode 100644
index 0000000000..0e2b4db703
--- /dev/null
+++ b/tests/Frameworks/Laravel/Latest/composer.json
@@ -0,0 +1,69 @@
+{
+ "name": "laravel/laravel",
+ "type": "project",
+ "description": "The skeleton application for the Laravel framework.",
+ "keywords": [
+ "laravel",
+ "framework"
+ ],
+ "license": "MIT",
+ "require": {
+ "php": "^8.2",
+ "laravel/framework": "11.39.1",
+ "laravel/tinker": "^2.9"
+ },
+ "require-dev": {
+ "fakerphp/faker": "^1.23",
+ "laravel/pint": "^1.13",
+ "laravel/sail": "^1.26",
+ "mockery/mockery": "^1.6",
+ "nunomaduro/collision": "^8.0",
+ "phpunit/phpunit": "^11.0",
+ "spatie/laravel-ignition": "^2.4"
+ },
+ "autoload": {
+ "psr-4": {
+ "App\\": "app/",
+ "Database\\Factories\\": "database/factories/",
+ "Database\\Seeders\\": "database/seeders/"
+ }
+ },
+ "autoload-dev": {
+ "psr-4": {
+ "Tests\\": "tests/"
+ }
+ },
+ "scripts": {
+ "post-autoload-dump": [
+ "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
+ "@php artisan package:discover --ansi"
+ ],
+ "post-update-cmd": [
+ "@php artisan vendor:publish --tag=laravel-assets --ansi --force"
+ ],
+ "post-root-package-install": [
+ "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
+ ],
+ "post-create-project-cmd": [
+ "@php artisan key:generate --ansi",
+ "@php -r \"file_exists('database/database.sqlite') || touch('database/database.sqlite');\"",
+ "@php artisan migrate --graceful --ansi"
+ ]
+ },
+ "extra": {
+ "laravel": {
+ "dont-discover": []
+ }
+ },
+ "config": {
+ "optimize-autoloader": true,
+ "preferred-install": "dist",
+ "sort-packages": true,
+ "allow-plugins": {
+ "pestphp/pest-plugin": true,
+ "php-http/discovery": true
+ }
+ },
+ "minimum-stability": "stable",
+ "prefer-stable": true
+}
\ No newline at end of file
diff --git a/tests/Frameworks/Laravel/Octane/config/app.php b/tests/Frameworks/Laravel/Latest/config/app.php
similarity index 100%
rename from tests/Frameworks/Laravel/Octane/config/app.php
rename to tests/Frameworks/Laravel/Latest/config/app.php
diff --git a/tests/Frameworks/Laravel/Octane/config/auth.php b/tests/Frameworks/Laravel/Latest/config/auth.php
similarity index 100%
rename from tests/Frameworks/Laravel/Octane/config/auth.php
rename to tests/Frameworks/Laravel/Latest/config/auth.php
diff --git a/tests/Frameworks/Laravel/Octane/config/cache.php b/tests/Frameworks/Laravel/Latest/config/cache.php
similarity index 100%
rename from tests/Frameworks/Laravel/Octane/config/cache.php
rename to tests/Frameworks/Laravel/Latest/config/cache.php
diff --git a/tests/Frameworks/Laravel/Octane/config/database.php b/tests/Frameworks/Laravel/Latest/config/database.php
similarity index 100%
rename from tests/Frameworks/Laravel/Octane/config/database.php
rename to tests/Frameworks/Laravel/Latest/config/database.php
diff --git a/tests/Frameworks/Laravel/Octane/config/filesystems.php b/tests/Frameworks/Laravel/Latest/config/filesystems.php
similarity index 100%
rename from tests/Frameworks/Laravel/Octane/config/filesystems.php
rename to tests/Frameworks/Laravel/Latest/config/filesystems.php
diff --git a/tests/Frameworks/Laravel/Octane/config/logging.php b/tests/Frameworks/Laravel/Latest/config/logging.php
similarity index 100%
rename from tests/Frameworks/Laravel/Octane/config/logging.php
rename to tests/Frameworks/Laravel/Latest/config/logging.php
diff --git a/tests/Frameworks/Laravel/Latest/config/mail.php b/tests/Frameworks/Laravel/Latest/config/mail.php
new file mode 100644
index 0000000000..a4a02fe486
--- /dev/null
+++ b/tests/Frameworks/Laravel/Latest/config/mail.php
@@ -0,0 +1,103 @@
+ env('MAIL_MAILER', 'log'),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Mailer Configurations
+ |--------------------------------------------------------------------------
+ |
+ | Here you may configure all of the mailers used by your application plus
+ | their respective settings. Several examples have been configured for
+ | you and you are free to add your own as your application requires.
+ |
+ | Laravel supports a variety of mail "transport" drivers that can be used
+ | when delivering an email. You may specify which one you're using for
+ | your mailers below. You may also add additional mailers if needed.
+ |
+ | Supported: "smtp", "sendmail", "mailgun", "ses", "ses-v2",
+ | "postmark", "log", "array", "failover", "roundrobin"
+ |
+ */
+
+ 'mailers' => [
+
+ 'smtp' => [
+ 'transport' => 'smtp',
+ 'url' => env('MAIL_URL'),
+ 'host' => env('MAIL_HOST', '127.0.0.1'),
+ 'port' => env('MAIL_PORT', 2525),
+ 'encryption' => env('MAIL_ENCRYPTION', 'tls'),
+ 'username' => env('MAIL_USERNAME'),
+ 'password' => env('MAIL_PASSWORD'),
+ 'timeout' => null,
+ 'local_domain' => env('MAIL_EHLO_DOMAIN'),
+ ],
+
+ 'ses' => [
+ 'transport' => 'ses',
+ ],
+
+ 'postmark' => [
+ 'transport' => 'postmark',
+ // 'message_stream_id' => env('POSTMARK_MESSAGE_STREAM_ID'),
+ // 'client' => [
+ // 'timeout' => 5,
+ // ],
+ ],
+
+ 'sendmail' => [
+ 'transport' => 'sendmail',
+ 'path' => env('MAIL_SENDMAIL_PATH', '/usr/sbin/sendmail -bs -i'),
+ ],
+
+ 'log' => [
+ 'transport' => 'log',
+ 'channel' => env('MAIL_LOG_CHANNEL'),
+ ],
+
+ 'array' => [
+ 'transport' => 'array',
+ ],
+
+ 'failover' => [
+ 'transport' => 'failover',
+ 'mailers' => [
+ 'smtp',
+ 'log',
+ ],
+ ],
+
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Global "From" Address
+ |--------------------------------------------------------------------------
+ |
+ | You may wish for all emails sent by your application to be sent from
+ | the same address. Here you may specify a name and address that is
+ | used globally for all emails that are sent by your application.
+ |
+ */
+
+ 'from' => [
+ 'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'),
+ 'name' => env('MAIL_FROM_NAME', 'Example'),
+ ],
+
+];
diff --git a/tests/Frameworks/Laravel/Octane/config/queue.php b/tests/Frameworks/Laravel/Latest/config/queue.php
similarity index 100%
rename from tests/Frameworks/Laravel/Octane/config/queue.php
rename to tests/Frameworks/Laravel/Latest/config/queue.php
diff --git a/tests/Frameworks/Laravel/Octane/config/services.php b/tests/Frameworks/Laravel/Latest/config/services.php
similarity index 100%
rename from tests/Frameworks/Laravel/Octane/config/services.php
rename to tests/Frameworks/Laravel/Latest/config/services.php
diff --git a/tests/Frameworks/Laravel/Latest/config/session.php b/tests/Frameworks/Laravel/Latest/config/session.php
new file mode 100644
index 0000000000..0e22ee41de
--- /dev/null
+++ b/tests/Frameworks/Laravel/Latest/config/session.php
@@ -0,0 +1,218 @@
+ env('SESSION_DRIVER', 'database'),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Session Lifetime
+ |--------------------------------------------------------------------------
+ |
+ | Here you may specify the number of minutes that you wish the session
+ | to be allowed to remain idle before it expires. If you want them
+ | to expire immediately when the browser is closed then you may
+ | indicate that via the expire_on_close configuration option.
+ |
+ */
+
+ 'lifetime' => env('SESSION_LIFETIME', 120),
+
+ 'expire_on_close' => env('SESSION_EXPIRE_ON_CLOSE', false),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Session Encryption
+ |--------------------------------------------------------------------------
+ |
+ | This option allows you to easily specify that all of your session data
+ | should be encrypted before it's stored. All encryption is performed
+ | automatically by Laravel and you may use the session like normal.
+ |
+ */
+
+ 'encrypt' => env('SESSION_ENCRYPT', false),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Session File Location
+ |--------------------------------------------------------------------------
+ |
+ | When utilizing the "file" session driver, the session files are placed
+ | on disk. The default storage location is defined here; however, you
+ | are free to provide another location where they should be stored.
+ |
+ */
+
+ 'files' => storage_path('framework/sessions'),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Session Database Connection
+ |--------------------------------------------------------------------------
+ |
+ | When using the "database" or "redis" session drivers, you may specify a
+ | connection that should be used to manage these sessions. This should
+ | correspond to a connection in your database configuration options.
+ |
+ */
+
+ 'connection' => env('SESSION_CONNECTION'),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Session Database Table
+ |--------------------------------------------------------------------------
+ |
+ | When using the "database" session driver, you may specify the table to
+ | be used to store sessions. Of course, a sensible default is defined
+ | for you; however, you're welcome to change this to another table.
+ |
+ */
+
+ 'table' => env('SESSION_TABLE', 'sessions'),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Session Cache Store
+ |--------------------------------------------------------------------------
+ |
+ | When using one of the framework's cache driven session backends, you may
+ | define the cache store which should be used to store the session data
+ | between requests. This must match one of your defined cache stores.
+ |
+ | Affects: "apc", "dynamodb", "memcached", "redis"
+ |
+ */
+
+ 'store' => env('SESSION_STORE'),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Session Sweeping Lottery
+ |--------------------------------------------------------------------------
+ |
+ | Some session drivers must manually sweep their storage location to get
+ | rid of old sessions from storage. Here are the chances that it will
+ | happen on a given request. By default, the odds are 2 out of 100.
+ |
+ */
+
+ 'lottery' => [2, 100],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Session Cookie Name
+ |--------------------------------------------------------------------------
+ |
+ | Here you may change the name of the session cookie that is created by
+ | the framework. Typically, you should not need to change this value
+ | since doing so does not grant a meaningful security improvement.
+ |
+ |
+ */
+
+ 'cookie' => env(
+ 'SESSION_COOKIE',
+ Str::slug(env('APP_NAME', 'laravel'), '_').'_session'
+ ),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Session Cookie Path
+ |--------------------------------------------------------------------------
+ |
+ | The session cookie path determines the path for which the cookie will
+ | be regarded as available. Typically, this will be the root path of
+ | your application, but you're free to change this when necessary.
+ |
+ */
+
+ 'path' => env('SESSION_PATH', '/'),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Session Cookie Domain
+ |--------------------------------------------------------------------------
+ |
+ | This value determines the domain and subdomains the session cookie is
+ | available to. By default, the cookie will be available to the root
+ | domain and all subdomains. Typically, this shouldn't be changed.
+ |
+ */
+
+ 'domain' => env('SESSION_DOMAIN'),
+
+ /*
+ |--------------------------------------------------------------------------
+ | HTTPS Only Cookies
+ |--------------------------------------------------------------------------
+ |
+ | By setting this option to true, session cookies will only be sent back
+ | to the server if the browser has a HTTPS connection. This will keep
+ | the cookie from being sent to you when it can't be done securely.
+ |
+ */
+
+ 'secure' => env('SESSION_SECURE_COOKIE'),
+
+ /*
+ |--------------------------------------------------------------------------
+ | HTTP Access Only
+ |--------------------------------------------------------------------------
+ |
+ | Setting this value to true will prevent JavaScript from accessing the
+ | value of the cookie and the cookie will only be accessible through
+ | the HTTP protocol. It's unlikely you should disable this option.
+ |
+ */
+
+ 'http_only' => env('SESSION_HTTP_ONLY', true),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Same-Site Cookies
+ |--------------------------------------------------------------------------
+ |
+ | This option determines how your cookies behave when cross-site requests
+ | take place, and can be used to mitigate CSRF attacks. By default, we
+ | will set this value to "lax" to permit secure cross-site requests.
+ |
+ | See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#samesitesamesite-value
+ |
+ | Supported: "lax", "strict", "none", null
+ |
+ */
+
+ 'same_site' => env('SESSION_SAME_SITE', 'lax'),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Partitioned Cookies
+ |--------------------------------------------------------------------------
+ |
+ | Setting this value to true will tie the cookie to the top-level site for
+ | a cross-site context. Partitioned cookies are accepted by the browser
+ | when flagged "secure" and the Same-Site attribute is set to "none".
+ |
+ */
+
+ 'partitioned' => env('SESSION_PARTITIONED_COOKIE', false),
+
+];
diff --git a/tests/Frameworks/Laravel/Octane/database/.gitignore b/tests/Frameworks/Laravel/Latest/database/.gitignore
similarity index 100%
rename from tests/Frameworks/Laravel/Octane/database/.gitignore
rename to tests/Frameworks/Laravel/Latest/database/.gitignore
diff --git a/tests/Frameworks/Laravel/Octane/database/factories/UserFactory.php b/tests/Frameworks/Laravel/Latest/database/factories/UserFactory.php
similarity index 100%
rename from tests/Frameworks/Laravel/Octane/database/factories/UserFactory.php
rename to tests/Frameworks/Laravel/Latest/database/factories/UserFactory.php
diff --git a/tests/Frameworks/Laravel/Octane/database/migrations/0001_01_01_000000_create_users_table.php b/tests/Frameworks/Laravel/Latest/database/migrations/0001_01_01_000000_create_users_table.php
similarity index 100%
rename from tests/Frameworks/Laravel/Octane/database/migrations/0001_01_01_000000_create_users_table.php
rename to tests/Frameworks/Laravel/Latest/database/migrations/0001_01_01_000000_create_users_table.php
diff --git a/tests/Frameworks/Laravel/Octane/database/migrations/0001_01_01_000001_create_cache_table.php b/tests/Frameworks/Laravel/Latest/database/migrations/0001_01_01_000001_create_cache_table.php
similarity index 100%
rename from tests/Frameworks/Laravel/Octane/database/migrations/0001_01_01_000001_create_cache_table.php
rename to tests/Frameworks/Laravel/Latest/database/migrations/0001_01_01_000001_create_cache_table.php
diff --git a/tests/Frameworks/Laravel/Octane/database/migrations/0001_01_01_000002_create_jobs_table.php b/tests/Frameworks/Laravel/Latest/database/migrations/0001_01_01_000002_create_jobs_table.php
similarity index 100%
rename from tests/Frameworks/Laravel/Octane/database/migrations/0001_01_01_000002_create_jobs_table.php
rename to tests/Frameworks/Laravel/Latest/database/migrations/0001_01_01_000002_create_jobs_table.php
diff --git a/tests/Frameworks/Laravel/Octane/database/seeders/DatabaseSeeder.php b/tests/Frameworks/Laravel/Latest/database/seeders/DatabaseSeeder.php
similarity index 100%
rename from tests/Frameworks/Laravel/Octane/database/seeders/DatabaseSeeder.php
rename to tests/Frameworks/Laravel/Latest/database/seeders/DatabaseSeeder.php
diff --git a/tests/Frameworks/Laravel/Octane/phpunit.xml b/tests/Frameworks/Laravel/Latest/phpunit.xml
similarity index 100%
rename from tests/Frameworks/Laravel/Octane/phpunit.xml
rename to tests/Frameworks/Laravel/Latest/phpunit.xml
diff --git a/tests/Frameworks/Laravel/Octane/public/.htaccess b/tests/Frameworks/Laravel/Latest/public/.htaccess
similarity index 100%
rename from tests/Frameworks/Laravel/Octane/public/.htaccess
rename to tests/Frameworks/Laravel/Latest/public/.htaccess
diff --git a/tests/Frameworks/Laravel/Octane/public/index.php b/tests/Frameworks/Laravel/Latest/public/index.php
similarity index 100%
rename from tests/Frameworks/Laravel/Octane/public/index.php
rename to tests/Frameworks/Laravel/Latest/public/index.php
diff --git a/tests/Frameworks/Laravel/Octane/public/robots.txt b/tests/Frameworks/Laravel/Latest/public/robots.txt
similarity index 100%
rename from tests/Frameworks/Laravel/Octane/public/robots.txt
rename to tests/Frameworks/Laravel/Latest/public/robots.txt
diff --git a/tests/Frameworks/Laravel/Octane/resources/js/app.js b/tests/Frameworks/Laravel/Latest/resources/js/app.js
similarity index 100%
rename from tests/Frameworks/Laravel/Octane/resources/js/app.js
rename to tests/Frameworks/Laravel/Latest/resources/js/app.js
diff --git a/tests/Frameworks/Laravel/Octane/resources/js/bootstrap.js b/tests/Frameworks/Laravel/Latest/resources/js/bootstrap.js
similarity index 100%
rename from tests/Frameworks/Laravel/Octane/resources/js/bootstrap.js
rename to tests/Frameworks/Laravel/Latest/resources/js/bootstrap.js
diff --git a/tests/Frameworks/Laravel/Octane/resources/views/simple_view.blade.php b/tests/Frameworks/Laravel/Latest/resources/views/simple_view.blade.php
similarity index 100%
rename from tests/Frameworks/Laravel/Octane/resources/views/simple_view.blade.php
rename to tests/Frameworks/Laravel/Latest/resources/views/simple_view.blade.php
diff --git a/tests/Frameworks/Laravel/Octane/resources/views/welcome.blade.php b/tests/Frameworks/Laravel/Latest/resources/views/welcome.blade.php
similarity index 100%
rename from tests/Frameworks/Laravel/Octane/resources/views/welcome.blade.php
rename to tests/Frameworks/Laravel/Latest/resources/views/welcome.blade.php
diff --git a/tests/Frameworks/Laravel/Octane/routes/console.php b/tests/Frameworks/Laravel/Latest/routes/console.php
similarity index 100%
rename from tests/Frameworks/Laravel/Octane/routes/console.php
rename to tests/Frameworks/Laravel/Latest/routes/console.php
diff --git a/tests/Frameworks/Laravel/Octane/routes/web.php b/tests/Frameworks/Laravel/Latest/routes/web.php
similarity index 100%
rename from tests/Frameworks/Laravel/Octane/routes/web.php
rename to tests/Frameworks/Laravel/Latest/routes/web.php
diff --git a/tests/Frameworks/Laravel/Octane/storage/app/.gitignore b/tests/Frameworks/Laravel/Latest/storage/app/.gitignore
similarity index 100%
rename from tests/Frameworks/Laravel/Octane/storage/app/.gitignore
rename to tests/Frameworks/Laravel/Latest/storage/app/.gitignore
diff --git a/tests/Frameworks/Laravel/Octane/storage/app/public/.gitignore b/tests/Frameworks/Laravel/Latest/storage/app/public/.gitignore
similarity index 100%
rename from tests/Frameworks/Laravel/Octane/storage/app/public/.gitignore
rename to tests/Frameworks/Laravel/Latest/storage/app/public/.gitignore
diff --git a/tests/Frameworks/Laravel/Octane/storage/framework/.gitignore b/tests/Frameworks/Laravel/Latest/storage/framework/.gitignore
similarity index 100%
rename from tests/Frameworks/Laravel/Octane/storage/framework/.gitignore
rename to tests/Frameworks/Laravel/Latest/storage/framework/.gitignore
diff --git a/tests/Frameworks/Laravel/Octane/storage/framework/cache/.gitignore b/tests/Frameworks/Laravel/Latest/storage/framework/cache/.gitignore
similarity index 100%
rename from tests/Frameworks/Laravel/Octane/storage/framework/cache/.gitignore
rename to tests/Frameworks/Laravel/Latest/storage/framework/cache/.gitignore
diff --git a/tests/Frameworks/Laravel/Octane/storage/framework/cache/data/.gitignore b/tests/Frameworks/Laravel/Latest/storage/framework/cache/data/.gitignore
similarity index 100%
rename from tests/Frameworks/Laravel/Octane/storage/framework/cache/data/.gitignore
rename to tests/Frameworks/Laravel/Latest/storage/framework/cache/data/.gitignore
diff --git a/tests/Frameworks/Laravel/Octane/storage/framework/sessions/.gitignore b/tests/Frameworks/Laravel/Latest/storage/framework/sessions/.gitignore
similarity index 100%
rename from tests/Frameworks/Laravel/Octane/storage/framework/sessions/.gitignore
rename to tests/Frameworks/Laravel/Latest/storage/framework/sessions/.gitignore
diff --git a/tests/Frameworks/Laravel/Octane/storage/framework/testing/.gitignore b/tests/Frameworks/Laravel/Latest/storage/framework/testing/.gitignore
similarity index 100%
rename from tests/Frameworks/Laravel/Octane/storage/framework/testing/.gitignore
rename to tests/Frameworks/Laravel/Latest/storage/framework/testing/.gitignore
diff --git a/tests/Frameworks/Laravel/Octane/storage/framework/views/.gitignore b/tests/Frameworks/Laravel/Latest/storage/framework/views/.gitignore
similarity index 100%
rename from tests/Frameworks/Laravel/Octane/storage/framework/views/.gitignore
rename to tests/Frameworks/Laravel/Latest/storage/framework/views/.gitignore
diff --git a/tests/Frameworks/Laravel/Octane/storage/logs/.gitignore b/tests/Frameworks/Laravel/Latest/storage/logs/.gitignore
similarity index 100%
rename from tests/Frameworks/Laravel/Octane/storage/logs/.gitignore
rename to tests/Frameworks/Laravel/Latest/storage/logs/.gitignore
diff --git a/tests/Frameworks/Laravel/Octane/tests/Feature/ExampleTest.php b/tests/Frameworks/Laravel/Latest/tests/Feature/ExampleTest.php
similarity index 100%
rename from tests/Frameworks/Laravel/Octane/tests/Feature/ExampleTest.php
rename to tests/Frameworks/Laravel/Latest/tests/Feature/ExampleTest.php
diff --git a/tests/Frameworks/Laravel/Octane/tests/TestCase.php b/tests/Frameworks/Laravel/Latest/tests/TestCase.php
similarity index 100%
rename from tests/Frameworks/Laravel/Octane/tests/TestCase.php
rename to tests/Frameworks/Laravel/Latest/tests/TestCase.php
diff --git a/tests/Frameworks/Laravel/Octane/tests/Unit/ExampleTest.php b/tests/Frameworks/Laravel/Latest/tests/Unit/ExampleTest.php
similarity index 100%
rename from tests/Frameworks/Laravel/Octane/tests/Unit/ExampleTest.php
rename to tests/Frameworks/Laravel/Latest/tests/Unit/ExampleTest.php
diff --git a/tests/Frameworks/Laravel/Octane/vite.config.js b/tests/Frameworks/Laravel/Latest/vite.config.js
similarity index 100%
rename from tests/Frameworks/Laravel/Octane/vite.config.js
rename to tests/Frameworks/Laravel/Latest/vite.config.js
diff --git a/tests/Frameworks/Laravel/Octane/.editorconfig b/tests/Frameworks/Laravel/Octane/Latest/.editorconfig
similarity index 100%
rename from tests/Frameworks/Laravel/Octane/.editorconfig
rename to tests/Frameworks/Laravel/Octane/Latest/.editorconfig
diff --git a/tests/Frameworks/Laravel/Octane/.env b/tests/Frameworks/Laravel/Octane/Latest/.env
similarity index 100%
rename from tests/Frameworks/Laravel/Octane/.env
rename to tests/Frameworks/Laravel/Octane/Latest/.env
diff --git a/tests/Frameworks/Laravel/Octane/Latest/.env.example b/tests/Frameworks/Laravel/Octane/Latest/.env.example
new file mode 100644
index 0000000000..7b49625aae
--- /dev/null
+++ b/tests/Frameworks/Laravel/Octane/Latest/.env.example
@@ -0,0 +1,64 @@
+APP_NAME=Laravel
+APP_ENV=local
+APP_KEY=
+APP_DEBUG=true
+APP_TIMEZONE=UTC
+APP_URL=http://localhost
+
+APP_LOCALE=en
+APP_FALLBACK_LOCALE=en
+APP_FAKER_LOCALE=en_US
+
+APP_MAINTENANCE_DRIVER=file
+APP_MAINTENANCE_STORE=database
+
+BCRYPT_ROUNDS=12
+
+LOG_CHANNEL=stack
+LOG_STACK=single
+LOG_DEPRECATIONS_CHANNEL=null
+LOG_LEVEL=debug
+
+DB_CONNECTION=sqlite
+# DB_HOST=127.0.0.1
+# DB_PORT=3306
+# DB_DATABASE=laravel
+# DB_USERNAME=root
+# DB_PASSWORD=
+
+SESSION_DRIVER=database
+SESSION_LIFETIME=120
+SESSION_ENCRYPT=false
+SESSION_PATH=/
+SESSION_DOMAIN=null
+
+BROADCAST_CONNECTION=log
+FILESYSTEM_DISK=local
+QUEUE_CONNECTION=database
+
+CACHE_STORE=database
+CACHE_PREFIX=
+
+MEMCACHED_HOST=127.0.0.1
+
+REDIS_CLIENT=phpredis
+REDIS_HOST=127.0.0.1
+REDIS_PASSWORD=null
+REDIS_PORT=6379
+
+MAIL_MAILER=log
+MAIL_HOST=127.0.0.1
+MAIL_PORT=2525
+MAIL_USERNAME=null
+MAIL_PASSWORD=null
+MAIL_ENCRYPTION=null
+MAIL_FROM_ADDRESS="hello@example.com"
+MAIL_FROM_NAME="${APP_NAME}"
+
+AWS_ACCESS_KEY_ID=
+AWS_SECRET_ACCESS_KEY=
+AWS_DEFAULT_REGION=us-east-1
+AWS_BUCKET=
+AWS_USE_PATH_STYLE_ENDPOINT=false
+
+VITE_APP_NAME="${APP_NAME}"
diff --git a/tests/Frameworks/Laravel/Octane/Latest/.gitattributes b/tests/Frameworks/Laravel/Octane/Latest/.gitattributes
new file mode 100644
index 0000000000..fcb21d396d
--- /dev/null
+++ b/tests/Frameworks/Laravel/Octane/Latest/.gitattributes
@@ -0,0 +1,11 @@
+* text=auto eol=lf
+
+*.blade.php diff=html
+*.css diff=css
+*.html diff=html
+*.md diff=markdown
+*.php diff=php
+
+/.github export-ignore
+CHANGELOG.md export-ignore
+.styleci.yml export-ignore
diff --git a/tests/Frameworks/Laravel/Octane/.gitignore b/tests/Frameworks/Laravel/Octane/Latest/.gitignore
similarity index 100%
rename from tests/Frameworks/Laravel/Octane/.gitignore
rename to tests/Frameworks/Laravel/Octane/Latest/.gitignore
diff --git a/tests/Frameworks/Laravel/Octane/Latest/README.md b/tests/Frameworks/Laravel/Octane/Latest/README.md
new file mode 100644
index 0000000000..1a4c26ba32
--- /dev/null
+++ b/tests/Frameworks/Laravel/Octane/Latest/README.md
@@ -0,0 +1,66 @@
+
+
+
+
+
+
+
+
+
+## About Laravel
+
+Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experience to be truly fulfilling. Laravel takes the pain out of development by easing common tasks used in many web projects, such as:
+
+- [Simple, fast routing engine](https://laravel.com/docs/routing).
+- [Powerful dependency injection container](https://laravel.com/docs/container).
+- Multiple back-ends for [session](https://laravel.com/docs/session) and [cache](https://laravel.com/docs/cache) storage.
+- Expressive, intuitive [database ORM](https://laravel.com/docs/eloquent).
+- Database agnostic [schema migrations](https://laravel.com/docs/migrations).
+- [Robust background job processing](https://laravel.com/docs/queues).
+- [Real-time event broadcasting](https://laravel.com/docs/broadcasting).
+
+Laravel is accessible, powerful, and provides tools required for large, robust applications.
+
+## Learning Laravel
+
+Laravel has the most extensive and thorough [documentation](https://laravel.com/docs) and video tutorial library of all modern web application frameworks, making it a breeze to get started with the framework.
+
+You may also try the [Laravel Bootcamp](https://bootcamp.laravel.com), where you will be guided through building a modern Laravel application from scratch.
+
+If you don't feel like reading, [Laracasts](https://laracasts.com) can help. Laracasts contains thousands of video tutorials on a range of topics including Laravel, modern PHP, unit testing, and JavaScript. Boost your skills by digging into our comprehensive video library.
+
+## Laravel Sponsors
+
+We would like to extend our thanks to the following sponsors for funding Laravel development. If you are interested in becoming a sponsor, please visit the [Laravel Partners program](https://partners.laravel.com).
+
+### Premium Partners
+
+- **[Vehikl](https://vehikl.com/)**
+- **[Tighten Co.](https://tighten.co)**
+- **[WebReinvent](https://webreinvent.com/)**
+- **[Kirschbaum Development Group](https://kirschbaumdevelopment.com)**
+- **[64 Robots](https://64robots.com)**
+- **[Curotec](https://www.curotec.com/services/technologies/laravel/)**
+- **[Cyber-Duck](https://cyber-duck.co.uk)**
+- **[DevSquad](https://devsquad.com/hire-laravel-developers)**
+- **[Jump24](https://jump24.co.uk)**
+- **[Redberry](https://redberry.international/laravel/)**
+- **[Active Logic](https://activelogic.com)**
+- **[byte5](https://byte5.de)**
+- **[OP.GG](https://op.gg)**
+
+## Contributing
+
+Thank you for considering contributing to the Laravel framework! The contribution guide can be found in the [Laravel documentation](https://laravel.com/docs/contributions).
+
+## Code of Conduct
+
+In order to ensure that the Laravel community is welcoming to all, please review and abide by the [Code of Conduct](https://laravel.com/docs/contributions#code-of-conduct).
+
+## Security Vulnerabilities
+
+If you discover a security vulnerability within Laravel, please send an e-mail to Taylor Otwell via [taylor@laravel.com](mailto:taylor@laravel.com). All security vulnerabilities will be promptly addressed.
+
+## License
+
+The Laravel framework is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT).
diff --git a/tests/Frameworks/Laravel/Octane/Latest/app/Http/Controllers/CommonSpecsController.php b/tests/Frameworks/Laravel/Octane/Latest/app/Http/Controllers/CommonSpecsController.php
new file mode 100644
index 0000000000..99357a535f
--- /dev/null
+++ b/tests/Frameworks/Laravel/Octane/Latest/app/Http/Controllers/CommonSpecsController.php
@@ -0,0 +1,21 @@
+
+ */
+ protected $fillable = [
+ 'name',
+ 'email',
+ 'password',
+ ];
+
+ /**
+ * The attributes that should be hidden for serialization.
+ *
+ * @var array
+ */
+ protected $hidden = [
+ 'password',
+ 'remember_token',
+ ];
+
+ /**
+ * Get the attributes that should be cast.
+ *
+ * @return array
+ */
+ protected function casts(): array
+ {
+ return [
+ 'email_verified_at' => 'datetime',
+ 'password' => 'hashed',
+ ];
+ }
+}
diff --git a/tests/Frameworks/Laravel/Octane/Latest/app/Providers/AppServiceProvider.php b/tests/Frameworks/Laravel/Octane/Latest/app/Providers/AppServiceProvider.php
new file mode 100644
index 0000000000..452e6b65b7
--- /dev/null
+++ b/tests/Frameworks/Laravel/Octane/Latest/app/Providers/AppServiceProvider.php
@@ -0,0 +1,24 @@
+withRouting(
+ web: __DIR__.'/../routes/web.php',
+ commands: __DIR__.'/../routes/console.php',
+ health: '/up',
+ )
+ ->withMiddleware(function (Middleware $middleware) {
+ //
+ })
+ ->withExceptions(function (Exceptions $exceptions) {
+ //
+ })->create();
diff --git a/tests/Frameworks/Nette/Version_3_0/log/.gitignore b/tests/Frameworks/Laravel/Octane/Latest/bootstrap/cache/.gitignore
similarity index 100%
rename from tests/Frameworks/Nette/Version_3_0/log/.gitignore
rename to tests/Frameworks/Laravel/Octane/Latest/bootstrap/cache/.gitignore
diff --git a/tests/Frameworks/Laravel/Octane/Latest/bootstrap/providers.php b/tests/Frameworks/Laravel/Octane/Latest/bootstrap/providers.php
new file mode 100644
index 0000000000..38b258d185
--- /dev/null
+++ b/tests/Frameworks/Laravel/Octane/Latest/bootstrap/providers.php
@@ -0,0 +1,5 @@
+ env('APP_NAME', 'Laravel'),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Application Environment
+ |--------------------------------------------------------------------------
+ |
+ | This value determines the "environment" your application is currently
+ | running in. This may determine how you prefer to configure various
+ | services the application utilizes. Set this in your ".env" file.
+ |
+ */
+
+ 'env' => env('APP_ENV', 'production'),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Application Debug Mode
+ |--------------------------------------------------------------------------
+ |
+ | When your application is in debug mode, detailed error messages with
+ | stack traces will be shown on every error that occurs within your
+ | application. If disabled, a simple generic error page is shown.
+ |
+ */
+
+ 'debug' => (bool) env('APP_DEBUG', false),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Application URL
+ |--------------------------------------------------------------------------
+ |
+ | This URL is used by the console to properly generate URLs when using
+ | the Artisan command line tool. You should set this to the root of
+ | the application so that it's available within Artisan commands.
+ |
+ */
+
+ 'url' => env('APP_URL', 'http://localhost'),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Application Timezone
+ |--------------------------------------------------------------------------
+ |
+ | Here you may specify the default timezone for your application, which
+ | will be used by the PHP date and date-time functions. The timezone
+ | is set to "UTC" by default as it is suitable for most use cases.
+ |
+ */
+
+ 'timezone' => env('APP_TIMEZONE', 'UTC'),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Application Locale Configuration
+ |--------------------------------------------------------------------------
+ |
+ | The application locale determines the default locale that will be used
+ | by Laravel's translation / localization methods. This option can be
+ | set to any locale for which you plan to have translation strings.
+ |
+ */
+
+ 'locale' => env('APP_LOCALE', 'en'),
+
+ 'fallback_locale' => env('APP_FALLBACK_LOCALE', 'en'),
+
+ 'faker_locale' => env('APP_FAKER_LOCALE', 'en_US'),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Encryption Key
+ |--------------------------------------------------------------------------
+ |
+ | This key is utilized by Laravel's encryption services and should be set
+ | to a random, 32 character string to ensure that all encrypted values
+ | are secure. You should do this prior to deploying the application.
+ |
+ */
+
+ 'cipher' => 'AES-256-CBC',
+
+ 'key' => env('APP_KEY'),
+
+ 'previous_keys' => [
+ ...array_filter(
+ explode(',', env('APP_PREVIOUS_KEYS', ''))
+ ),
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Maintenance Mode Driver
+ |--------------------------------------------------------------------------
+ |
+ | These configuration options determine the driver used to determine and
+ | manage Laravel's "maintenance mode" status. The "cache" driver will
+ | allow maintenance mode to be controlled across multiple machines.
+ |
+ | Supported drivers: "file", "cache"
+ |
+ */
+
+ 'maintenance' => [
+ 'driver' => env('APP_MAINTENANCE_DRIVER', 'file'),
+ 'store' => env('APP_MAINTENANCE_STORE', 'database'),
+ ],
+
+];
diff --git a/tests/Frameworks/Laravel/Octane/Latest/config/auth.php b/tests/Frameworks/Laravel/Octane/Latest/config/auth.php
new file mode 100644
index 0000000000..0ba5d5d8f1
--- /dev/null
+++ b/tests/Frameworks/Laravel/Octane/Latest/config/auth.php
@@ -0,0 +1,115 @@
+ [
+ 'guard' => env('AUTH_GUARD', 'web'),
+ 'passwords' => env('AUTH_PASSWORD_BROKER', 'users'),
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Authentication Guards
+ |--------------------------------------------------------------------------
+ |
+ | Next, you may define every authentication guard for your application.
+ | Of course, a great default configuration has been defined for you
+ | which utilizes session storage plus the Eloquent user provider.
+ |
+ | All authentication guards have a user provider, which defines how the
+ | users are actually retrieved out of your database or other storage
+ | system used by the application. Typically, Eloquent is utilized.
+ |
+ | Supported: "session"
+ |
+ */
+
+ 'guards' => [
+ 'web' => [
+ 'driver' => 'session',
+ 'provider' => 'users',
+ ],
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | User Providers
+ |--------------------------------------------------------------------------
+ |
+ | All authentication guards have a user provider, which defines how the
+ | users are actually retrieved out of your database or other storage
+ | system used by the application. Typically, Eloquent is utilized.
+ |
+ | If you have multiple user tables or models you may configure multiple
+ | providers to represent the model / table. These providers may then
+ | be assigned to any extra authentication guards you have defined.
+ |
+ | Supported: "database", "eloquent"
+ |
+ */
+
+ 'providers' => [
+ 'users' => [
+ 'driver' => 'eloquent',
+ 'model' => env('AUTH_MODEL', App\Models\User::class),
+ ],
+
+ // 'users' => [
+ // 'driver' => 'database',
+ // 'table' => 'users',
+ // ],
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Resetting Passwords
+ |--------------------------------------------------------------------------
+ |
+ | These configuration options specify the behavior of Laravel's password
+ | reset functionality, including the table utilized for token storage
+ | and the user provider that is invoked to actually retrieve users.
+ |
+ | The expiry time is the number of minutes that each reset token will be
+ | considered valid. This security feature keeps tokens short-lived so
+ | they have less time to be guessed. You may change this as needed.
+ |
+ | The throttle setting is the number of seconds a user must wait before
+ | generating more password reset tokens. This prevents the user from
+ | quickly generating a very large amount of password reset tokens.
+ |
+ */
+
+ 'passwords' => [
+ 'users' => [
+ 'provider' => 'users',
+ 'table' => env('AUTH_PASSWORD_RESET_TOKEN_TABLE', 'password_reset_tokens'),
+ 'expire' => 60,
+ 'throttle' => 60,
+ ],
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Password Confirmation Timeout
+ |--------------------------------------------------------------------------
+ |
+ | Here you may define the amount of seconds before a password confirmation
+ | window expires and users are asked to re-enter their password via the
+ | confirmation screen. By default, the timeout lasts for three hours.
+ |
+ */
+
+ 'password_timeout' => env('AUTH_PASSWORD_TIMEOUT', 10800),
+
+];
diff --git a/tests/Frameworks/Laravel/Octane/Latest/config/cache.php b/tests/Frameworks/Laravel/Octane/Latest/config/cache.php
new file mode 100644
index 0000000000..38680919f0
--- /dev/null
+++ b/tests/Frameworks/Laravel/Octane/Latest/config/cache.php
@@ -0,0 +1,107 @@
+ env('CACHE_STORE', 'database'),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Cache Stores
+ |--------------------------------------------------------------------------
+ |
+ | Here you may define all of the cache "stores" for your application as
+ | well as their drivers. You may even define multiple stores for the
+ | same cache driver to group types of items stored in your caches.
+ |
+ | Supported drivers: "apc", "array", "database", "file", "memcached",
+ | "redis", "dynamodb", "octane", "null"
+ |
+ */
+
+ 'stores' => [
+
+ 'array' => [
+ 'driver' => 'array',
+ 'serialize' => false,
+ ],
+
+ 'database' => [
+ 'driver' => 'database',
+ 'table' => env('DB_CACHE_TABLE', 'cache'),
+ 'connection' => env('DB_CACHE_CONNECTION'),
+ 'lock_connection' => env('DB_CACHE_LOCK_CONNECTION'),
+ ],
+
+ 'file' => [
+ 'driver' => 'file',
+ 'path' => storage_path('framework/cache/data'),
+ 'lock_path' => storage_path('framework/cache/data'),
+ ],
+
+ 'memcached' => [
+ 'driver' => 'memcached',
+ 'persistent_id' => env('MEMCACHED_PERSISTENT_ID'),
+ 'sasl' => [
+ env('MEMCACHED_USERNAME'),
+ env('MEMCACHED_PASSWORD'),
+ ],
+ 'options' => [
+ // Memcached::OPT_CONNECT_TIMEOUT => 2000,
+ ],
+ 'servers' => [
+ [
+ 'host' => env('MEMCACHED_HOST', '127.0.0.1'),
+ 'port' => env('MEMCACHED_PORT', 11211),
+ 'weight' => 100,
+ ],
+ ],
+ ],
+
+ 'redis' => [
+ 'driver' => 'redis',
+ 'connection' => env('REDIS_CACHE_CONNECTION', 'cache'),
+ 'lock_connection' => env('REDIS_CACHE_LOCK_CONNECTION', 'default'),
+ ],
+
+ 'dynamodb' => [
+ 'driver' => 'dynamodb',
+ 'key' => env('AWS_ACCESS_KEY_ID'),
+ 'secret' => env('AWS_SECRET_ACCESS_KEY'),
+ 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
+ 'table' => env('DYNAMODB_CACHE_TABLE', 'cache'),
+ 'endpoint' => env('DYNAMODB_ENDPOINT'),
+ ],
+
+ 'octane' => [
+ 'driver' => 'octane',
+ ],
+
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Cache Key Prefix
+ |--------------------------------------------------------------------------
+ |
+ | When utilizing the APC, database, memcached, Redis, and DynamoDB cache
+ | stores, there might be other applications using the same cache. For
+ | that reason, you may prefix every cache key to avoid collisions.
+ |
+ */
+
+ 'prefix' => env('CACHE_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_cache_'),
+
+];
diff --git a/tests/Frameworks/Laravel/Octane/Latest/config/database.php b/tests/Frameworks/Laravel/Octane/Latest/config/database.php
new file mode 100644
index 0000000000..f8e8dcb8a6
--- /dev/null
+++ b/tests/Frameworks/Laravel/Octane/Latest/config/database.php
@@ -0,0 +1,170 @@
+ env('DB_CONNECTION', 'sqlite'),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Database Connections
+ |--------------------------------------------------------------------------
+ |
+ | Below are all of the database connections defined for your application.
+ | An example configuration is provided for each database system which
+ | is supported by Laravel. You're free to add / remove connections.
+ |
+ */
+
+ 'connections' => [
+
+ 'sqlite' => [
+ 'driver' => 'sqlite',
+ 'url' => env('DB_URL'),
+ 'database' => env('DB_DATABASE', database_path('database.sqlite')),
+ 'prefix' => '',
+ 'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true),
+ ],
+
+ 'mysql' => [
+ 'driver' => 'mysql',
+ 'url' => env('DB_URL'),
+ 'host' => env('DB_HOST', '127.0.0.1'),
+ 'port' => env('DB_PORT', '3306'),
+ 'database' => env('DB_DATABASE', 'laravel'),
+ 'username' => env('DB_USERNAME', 'root'),
+ 'password' => env('DB_PASSWORD', ''),
+ 'unix_socket' => env('DB_SOCKET', ''),
+ 'charset' => env('DB_CHARSET', 'utf8mb4'),
+ 'collation' => env('DB_COLLATION', 'utf8mb4_unicode_ci'),
+ 'prefix' => '',
+ 'prefix_indexes' => true,
+ 'strict' => true,
+ 'engine' => null,
+ 'options' => extension_loaded('pdo_mysql') ? array_filter([
+ PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
+ ]) : [],
+ ],
+
+ 'mariadb' => [
+ 'driver' => 'mariadb',
+ 'url' => env('DB_URL'),
+ 'host' => env('DB_HOST', '127.0.0.1'),
+ 'port' => env('DB_PORT', '3306'),
+ 'database' => env('DB_DATABASE', 'laravel'),
+ 'username' => env('DB_USERNAME', 'root'),
+ 'password' => env('DB_PASSWORD', ''),
+ 'unix_socket' => env('DB_SOCKET', ''),
+ 'charset' => env('DB_CHARSET', 'utf8mb4'),
+ 'collation' => env('DB_COLLATION', 'utf8mb4_unicode_ci'),
+ 'prefix' => '',
+ 'prefix_indexes' => true,
+ 'strict' => true,
+ 'engine' => null,
+ 'options' => extension_loaded('pdo_mysql') ? array_filter([
+ PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
+ ]) : [],
+ ],
+
+ 'pgsql' => [
+ 'driver' => 'pgsql',
+ 'url' => env('DB_URL'),
+ 'host' => env('DB_HOST', '127.0.0.1'),
+ 'port' => env('DB_PORT', '5432'),
+ 'database' => env('DB_DATABASE', 'laravel'),
+ 'username' => env('DB_USERNAME', 'root'),
+ 'password' => env('DB_PASSWORD', ''),
+ 'charset' => env('DB_CHARSET', 'utf8'),
+ 'prefix' => '',
+ 'prefix_indexes' => true,
+ 'search_path' => 'public',
+ 'sslmode' => 'prefer',
+ ],
+
+ 'sqlsrv' => [
+ 'driver' => 'sqlsrv',
+ 'url' => env('DB_URL'),
+ 'host' => env('DB_HOST', 'localhost'),
+ 'port' => env('DB_PORT', '1433'),
+ 'database' => env('DB_DATABASE', 'laravel'),
+ 'username' => env('DB_USERNAME', 'root'),
+ 'password' => env('DB_PASSWORD', ''),
+ 'charset' => env('DB_CHARSET', 'utf8'),
+ 'prefix' => '',
+ 'prefix_indexes' => true,
+ // 'encrypt' => env('DB_ENCRYPT', 'yes'),
+ // 'trust_server_certificate' => env('DB_TRUST_SERVER_CERTIFICATE', 'false'),
+ ],
+
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Migration Repository Table
+ |--------------------------------------------------------------------------
+ |
+ | This table keeps track of all the migrations that have already run for
+ | your application. Using this information, we can determine which of
+ | the migrations on disk haven't actually been run on the database.
+ |
+ */
+
+ 'migrations' => [
+ 'table' => 'migrations',
+ 'update_date_on_publish' => true,
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Redis Databases
+ |--------------------------------------------------------------------------
+ |
+ | Redis is an open source, fast, and advanced key-value store that also
+ | provides a richer body of commands than a typical key-value system
+ | such as Memcached. You may define your connection settings here.
+ |
+ */
+
+ 'redis' => [
+
+ 'client' => env('REDIS_CLIENT', 'phpredis'),
+
+ 'options' => [
+ 'cluster' => env('REDIS_CLUSTER', 'redis'),
+ 'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'),
+ ],
+
+ 'default' => [
+ 'url' => env('REDIS_URL'),
+ 'host' => env('REDIS_HOST', '127.0.0.1'),
+ 'username' => env('REDIS_USERNAME'),
+ 'password' => env('REDIS_PASSWORD'),
+ 'port' => env('REDIS_PORT', '6379'),
+ 'database' => env('REDIS_DB', '0'),
+ ],
+
+ 'cache' => [
+ 'url' => env('REDIS_URL'),
+ 'host' => env('REDIS_HOST', '127.0.0.1'),
+ 'username' => env('REDIS_USERNAME'),
+ 'password' => env('REDIS_PASSWORD'),
+ 'port' => env('REDIS_PORT', '6379'),
+ 'database' => env('REDIS_CACHE_DB', '1'),
+ ],
+
+ ],
+
+];
diff --git a/tests/Frameworks/Laravel/Octane/Latest/config/filesystems.php b/tests/Frameworks/Laravel/Octane/Latest/config/filesystems.php
new file mode 100644
index 0000000000..44fe9c828e
--- /dev/null
+++ b/tests/Frameworks/Laravel/Octane/Latest/config/filesystems.php
@@ -0,0 +1,76 @@
+ env('FILESYSTEM_DISK', 'local'),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Filesystem Disks
+ |--------------------------------------------------------------------------
+ |
+ | Below you may configure as many filesystem disks as necessary, and you
+ | may even configure multiple disks for the same driver. Examples for
+ | most supported storage drivers are configured here for reference.
+ |
+ | Supported Drivers: "local", "ftp", "sftp", "s3"
+ |
+ */
+
+ 'disks' => [
+
+ 'local' => [
+ 'driver' => 'local',
+ 'root' => storage_path('app'),
+ 'throw' => false,
+ ],
+
+ 'public' => [
+ 'driver' => 'local',
+ 'root' => storage_path('app/public'),
+ 'url' => env('APP_URL').'/storage',
+ 'visibility' => 'public',
+ 'throw' => false,
+ ],
+
+ 's3' => [
+ 'driver' => 's3',
+ 'key' => env('AWS_ACCESS_KEY_ID'),
+ 'secret' => env('AWS_SECRET_ACCESS_KEY'),
+ 'region' => env('AWS_DEFAULT_REGION'),
+ 'bucket' => env('AWS_BUCKET'),
+ 'url' => env('AWS_URL'),
+ 'endpoint' => env('AWS_ENDPOINT'),
+ 'use_path_style_endpoint' => env('AWS_USE_PATH_STYLE_ENDPOINT', false),
+ 'throw' => false,
+ ],
+
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Symbolic Links
+ |--------------------------------------------------------------------------
+ |
+ | Here you may configure the symbolic links that will be created when the
+ | `storage:link` Artisan command is executed. The array keys should be
+ | the locations of the links and the values should be their targets.
+ |
+ */
+
+ 'links' => [
+ public_path('storage') => storage_path('app/public'),
+ ],
+
+];
diff --git a/tests/Frameworks/Laravel/Octane/Latest/config/logging.php b/tests/Frameworks/Laravel/Octane/Latest/config/logging.php
new file mode 100644
index 0000000000..d526b64d75
--- /dev/null
+++ b/tests/Frameworks/Laravel/Octane/Latest/config/logging.php
@@ -0,0 +1,132 @@
+ env('LOG_CHANNEL', 'stack'),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Deprecations Log Channel
+ |--------------------------------------------------------------------------
+ |
+ | This option controls the log channel that should be used to log warnings
+ | regarding deprecated PHP and library features. This allows you to get
+ | your application ready for upcoming major versions of dependencies.
+ |
+ */
+
+ 'deprecations' => [
+ 'channel' => env('LOG_DEPRECATIONS_CHANNEL', 'null'),
+ 'trace' => env('LOG_DEPRECATIONS_TRACE', false),
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Log Channels
+ |--------------------------------------------------------------------------
+ |
+ | Here you may configure the log channels for your application. Laravel
+ | utilizes the Monolog PHP logging library, which includes a variety
+ | of powerful log handlers and formatters that you're free to use.
+ |
+ | Available Drivers: "single", "daily", "slack", "syslog",
+ | "errorlog", "monolog", "custom", "stack"
+ |
+ */
+
+ 'channels' => [
+
+ 'stack' => [
+ 'driver' => 'stack',
+ 'channels' => explode(',', env('LOG_STACK', 'single')),
+ 'ignore_exceptions' => false,
+ ],
+
+ 'single' => [
+ 'driver' => 'single',
+ 'path' => storage_path('logs/laravel.log'),
+ 'level' => env('LOG_LEVEL', 'debug'),
+ 'replace_placeholders' => true,
+ ],
+
+ 'daily' => [
+ 'driver' => 'daily',
+ 'path' => storage_path('logs/laravel.log'),
+ 'level' => env('LOG_LEVEL', 'debug'),
+ 'days' => env('LOG_DAILY_DAYS', 14),
+ 'replace_placeholders' => true,
+ ],
+
+ 'slack' => [
+ 'driver' => 'slack',
+ 'url' => env('LOG_SLACK_WEBHOOK_URL'),
+ 'username' => env('LOG_SLACK_USERNAME', 'Laravel Log'),
+ 'emoji' => env('LOG_SLACK_EMOJI', ':boom:'),
+ 'level' => env('LOG_LEVEL', 'critical'),
+ 'replace_placeholders' => true,
+ ],
+
+ 'papertrail' => [
+ 'driver' => 'monolog',
+ 'level' => env('LOG_LEVEL', 'debug'),
+ 'handler' => env('LOG_PAPERTRAIL_HANDLER', SyslogUdpHandler::class),
+ 'handler_with' => [
+ 'host' => env('PAPERTRAIL_URL'),
+ 'port' => env('PAPERTRAIL_PORT'),
+ 'connectionString' => 'tls://'.env('PAPERTRAIL_URL').':'.env('PAPERTRAIL_PORT'),
+ ],
+ 'processors' => [PsrLogMessageProcessor::class],
+ ],
+
+ 'stderr' => [
+ 'driver' => 'monolog',
+ 'level' => env('LOG_LEVEL', 'debug'),
+ 'handler' => StreamHandler::class,
+ 'formatter' => env('LOG_STDERR_FORMATTER'),
+ 'with' => [
+ 'stream' => 'php://stderr',
+ ],
+ 'processors' => [PsrLogMessageProcessor::class],
+ ],
+
+ 'syslog' => [
+ 'driver' => 'syslog',
+ 'level' => env('LOG_LEVEL', 'debug'),
+ 'facility' => env('LOG_SYSLOG_FACILITY', LOG_USER),
+ 'replace_placeholders' => true,
+ ],
+
+ 'errorlog' => [
+ 'driver' => 'errorlog',
+ 'level' => env('LOG_LEVEL', 'debug'),
+ 'replace_placeholders' => true,
+ ],
+
+ 'null' => [
+ 'driver' => 'monolog',
+ 'handler' => NullHandler::class,
+ ],
+
+ 'emergency' => [
+ 'path' => storage_path('logs/laravel.log'),
+ ],
+
+ ],
+
+];
diff --git a/tests/Frameworks/Laravel/Octane/config/mail.php b/tests/Frameworks/Laravel/Octane/Latest/config/mail.php
similarity index 100%
rename from tests/Frameworks/Laravel/Octane/config/mail.php
rename to tests/Frameworks/Laravel/Octane/Latest/config/mail.php
diff --git a/tests/Frameworks/Laravel/Octane/config/octane.php b/tests/Frameworks/Laravel/Octane/Latest/config/octane.php
similarity index 100%
rename from tests/Frameworks/Laravel/Octane/config/octane.php
rename to tests/Frameworks/Laravel/Octane/Latest/config/octane.php
diff --git a/tests/Frameworks/Laravel/Octane/Latest/config/queue.php b/tests/Frameworks/Laravel/Octane/Latest/config/queue.php
new file mode 100644
index 0000000000..116bd8d002
--- /dev/null
+++ b/tests/Frameworks/Laravel/Octane/Latest/config/queue.php
@@ -0,0 +1,112 @@
+ env('QUEUE_CONNECTION', 'database'),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Queue Connections
+ |--------------------------------------------------------------------------
+ |
+ | Here you may configure the connection options for every queue backend
+ | used by your application. An example configuration is provided for
+ | each backend supported by Laravel. You're also free to add more.
+ |
+ | Drivers: "sync", "database", "beanstalkd", "sqs", "redis", "null"
+ |
+ */
+
+ 'connections' => [
+
+ 'sync' => [
+ 'driver' => 'sync',
+ ],
+
+ 'database' => [
+ 'driver' => 'database',
+ 'connection' => env('DB_QUEUE_CONNECTION'),
+ 'table' => env('DB_QUEUE_TABLE', 'jobs'),
+ 'queue' => env('DB_QUEUE', 'default'),
+ 'retry_after' => (int) env('DB_QUEUE_RETRY_AFTER', 90),
+ 'after_commit' => false,
+ ],
+
+ 'beanstalkd' => [
+ 'driver' => 'beanstalkd',
+ 'host' => env('BEANSTALKD_QUEUE_HOST', 'localhost'),
+ 'queue' => env('BEANSTALKD_QUEUE', 'default'),
+ 'retry_after' => (int) env('BEANSTALKD_QUEUE_RETRY_AFTER', 90),
+ 'block_for' => 0,
+ 'after_commit' => false,
+ ],
+
+ 'sqs' => [
+ 'driver' => 'sqs',
+ 'key' => env('AWS_ACCESS_KEY_ID'),
+ 'secret' => env('AWS_SECRET_ACCESS_KEY'),
+ 'prefix' => env('SQS_PREFIX', 'https://sqs.us-east-1.amazonaws.com/your-account-id'),
+ 'queue' => env('SQS_QUEUE', 'default'),
+ 'suffix' => env('SQS_SUFFIX'),
+ 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
+ 'after_commit' => false,
+ ],
+
+ 'redis' => [
+ 'driver' => 'redis',
+ 'connection' => env('REDIS_QUEUE_CONNECTION', 'default'),
+ 'queue' => env('REDIS_QUEUE', 'default'),
+ 'retry_after' => (int) env('REDIS_QUEUE_RETRY_AFTER', 90),
+ 'block_for' => null,
+ 'after_commit' => false,
+ ],
+
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Job Batching
+ |--------------------------------------------------------------------------
+ |
+ | The following options configure the database and table that store job
+ | batching information. These options can be updated to any database
+ | connection and table which has been defined by your application.
+ |
+ */
+
+ 'batching' => [
+ 'database' => env('DB_CONNECTION', 'sqlite'),
+ 'table' => 'job_batches',
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Failed Queue Jobs
+ |--------------------------------------------------------------------------
+ |
+ | These options configure the behavior of failed queue job logging so you
+ | can control how and where failed jobs are stored. Laravel ships with
+ | support for storing failed jobs in a simple file or in a database.
+ |
+ | Supported drivers: "database-uuids", "dynamodb", "file", "null"
+ |
+ */
+
+ 'failed' => [
+ 'driver' => env('QUEUE_FAILED_DRIVER', 'database-uuids'),
+ 'database' => env('DB_CONNECTION', 'sqlite'),
+ 'table' => 'failed_jobs',
+ ],
+
+];
diff --git a/tests/Frameworks/Laravel/Octane/Latest/config/services.php b/tests/Frameworks/Laravel/Octane/Latest/config/services.php
new file mode 100644
index 0000000000..6bb68f6aec
--- /dev/null
+++ b/tests/Frameworks/Laravel/Octane/Latest/config/services.php
@@ -0,0 +1,34 @@
+ [
+ 'token' => env('POSTMARK_TOKEN'),
+ ],
+
+ 'ses' => [
+ 'key' => env('AWS_ACCESS_KEY_ID'),
+ 'secret' => env('AWS_SECRET_ACCESS_KEY'),
+ 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
+ ],
+
+ 'slack' => [
+ 'notifications' => [
+ 'bot_user_oauth_token' => env('SLACK_BOT_USER_OAUTH_TOKEN'),
+ 'channel' => env('SLACK_BOT_USER_DEFAULT_CHANNEL'),
+ ],
+ ],
+
+];
diff --git a/tests/Frameworks/Laravel/Octane/config/session.php b/tests/Frameworks/Laravel/Octane/Latest/config/session.php
similarity index 100%
rename from tests/Frameworks/Laravel/Octane/config/session.php
rename to tests/Frameworks/Laravel/Octane/Latest/config/session.php
diff --git a/tests/Frameworks/Laravel/Octane/Latest/database/.gitignore b/tests/Frameworks/Laravel/Octane/Latest/database/.gitignore
new file mode 100644
index 0000000000..9b19b93c9f
--- /dev/null
+++ b/tests/Frameworks/Laravel/Octane/Latest/database/.gitignore
@@ -0,0 +1 @@
+*.sqlite*
diff --git a/tests/Frameworks/Laravel/Octane/Latest/database/factories/UserFactory.php b/tests/Frameworks/Laravel/Octane/Latest/database/factories/UserFactory.php
new file mode 100644
index 0000000000..584104c9cf
--- /dev/null
+++ b/tests/Frameworks/Laravel/Octane/Latest/database/factories/UserFactory.php
@@ -0,0 +1,44 @@
+
+ */
+class UserFactory extends Factory
+{
+ /**
+ * The current password being used by the factory.
+ */
+ protected static ?string $password;
+
+ /**
+ * Define the model's default state.
+ *
+ * @return array
+ */
+ public function definition(): array
+ {
+ return [
+ 'name' => fake()->name(),
+ 'email' => fake()->unique()->safeEmail(),
+ 'email_verified_at' => now(),
+ 'password' => static::$password ??= Hash::make('password'),
+ 'remember_token' => Str::random(10),
+ ];
+ }
+
+ /**
+ * Indicate that the model's email address should be unverified.
+ */
+ public function unverified(): static
+ {
+ return $this->state(fn (array $attributes) => [
+ 'email_verified_at' => null,
+ ]);
+ }
+}
diff --git a/tests/Frameworks/Laravel/Octane/Latest/database/migrations/0001_01_01_000000_create_users_table.php b/tests/Frameworks/Laravel/Octane/Latest/database/migrations/0001_01_01_000000_create_users_table.php
new file mode 100644
index 0000000000..05fb5d9ea9
--- /dev/null
+++ b/tests/Frameworks/Laravel/Octane/Latest/database/migrations/0001_01_01_000000_create_users_table.php
@@ -0,0 +1,49 @@
+id();
+ $table->string('name');
+ $table->string('email')->unique();
+ $table->timestamp('email_verified_at')->nullable();
+ $table->string('password');
+ $table->rememberToken();
+ $table->timestamps();
+ });
+
+ Schema::create('password_reset_tokens', function (Blueprint $table) {
+ $table->string('email')->primary();
+ $table->string('token');
+ $table->timestamp('created_at')->nullable();
+ });
+
+ Schema::create('sessions', function (Blueprint $table) {
+ $table->string('id')->primary();
+ $table->foreignId('user_id')->nullable()->index();
+ $table->string('ip_address', 45)->nullable();
+ $table->text('user_agent')->nullable();
+ $table->longText('payload');
+ $table->integer('last_activity')->index();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('users');
+ Schema::dropIfExists('password_reset_tokens');
+ Schema::dropIfExists('sessions');
+ }
+};
diff --git a/tests/Frameworks/Laravel/Octane/Latest/database/migrations/0001_01_01_000001_create_cache_table.php b/tests/Frameworks/Laravel/Octane/Latest/database/migrations/0001_01_01_000001_create_cache_table.php
new file mode 100644
index 0000000000..b9c106be81
--- /dev/null
+++ b/tests/Frameworks/Laravel/Octane/Latest/database/migrations/0001_01_01_000001_create_cache_table.php
@@ -0,0 +1,35 @@
+string('key')->primary();
+ $table->mediumText('value');
+ $table->integer('expiration');
+ });
+
+ Schema::create('cache_locks', function (Blueprint $table) {
+ $table->string('key')->primary();
+ $table->string('owner');
+ $table->integer('expiration');
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('cache');
+ Schema::dropIfExists('cache_locks');
+ }
+};
diff --git a/tests/Frameworks/Laravel/Octane/Latest/database/migrations/0001_01_01_000002_create_jobs_table.php b/tests/Frameworks/Laravel/Octane/Latest/database/migrations/0001_01_01_000002_create_jobs_table.php
new file mode 100644
index 0000000000..425e7058fc
--- /dev/null
+++ b/tests/Frameworks/Laravel/Octane/Latest/database/migrations/0001_01_01_000002_create_jobs_table.php
@@ -0,0 +1,57 @@
+id();
+ $table->string('queue')->index();
+ $table->longText('payload');
+ $table->unsignedTinyInteger('attempts');
+ $table->unsignedInteger('reserved_at')->nullable();
+ $table->unsignedInteger('available_at');
+ $table->unsignedInteger('created_at');
+ });
+
+ Schema::create('job_batches', function (Blueprint $table) {
+ $table->string('id')->primary();
+ $table->string('name');
+ $table->integer('total_jobs');
+ $table->integer('pending_jobs');
+ $table->integer('failed_jobs');
+ $table->longText('failed_job_ids');
+ $table->mediumText('options')->nullable();
+ $table->integer('cancelled_at')->nullable();
+ $table->integer('created_at');
+ $table->integer('finished_at')->nullable();
+ });
+
+ Schema::create('failed_jobs', function (Blueprint $table) {
+ $table->id();
+ $table->string('uuid')->unique();
+ $table->text('connection');
+ $table->text('queue');
+ $table->longText('payload');
+ $table->longText('exception');
+ $table->timestamp('failed_at')->useCurrent();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('jobs');
+ Schema::dropIfExists('job_batches');
+ Schema::dropIfExists('failed_jobs');
+ }
+};
diff --git a/tests/Frameworks/Laravel/Octane/Latest/database/seeders/DatabaseSeeder.php b/tests/Frameworks/Laravel/Octane/Latest/database/seeders/DatabaseSeeder.php
new file mode 100644
index 0000000000..d01a0ef2f7
--- /dev/null
+++ b/tests/Frameworks/Laravel/Octane/Latest/database/seeders/DatabaseSeeder.php
@@ -0,0 +1,23 @@
+create();
+
+ User::factory()->create([
+ 'name' => 'Test User',
+ 'email' => 'test@example.com',
+ ]);
+ }
+}
diff --git a/tests/Frameworks/Laravel/Octane/Latest/phpunit.xml b/tests/Frameworks/Laravel/Octane/Latest/phpunit.xml
new file mode 100644
index 0000000000..506b9a38ec
--- /dev/null
+++ b/tests/Frameworks/Laravel/Octane/Latest/phpunit.xml
@@ -0,0 +1,33 @@
+
+
+
+
+ tests/Unit
+
+
+ tests/Feature
+
+
+
+
+ app
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/Frameworks/Laravel/Octane/Latest/public/.htaccess b/tests/Frameworks/Laravel/Octane/Latest/public/.htaccess
new file mode 100644
index 0000000000..3aec5e27e5
--- /dev/null
+++ b/tests/Frameworks/Laravel/Octane/Latest/public/.htaccess
@@ -0,0 +1,21 @@
+
+
+ Options -MultiViews -Indexes
+
+
+ RewriteEngine On
+
+ # Handle Authorization Header
+ RewriteCond %{HTTP:Authorization} .
+ RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
+
+ # Redirect Trailing Slashes If Not A Folder...
+ RewriteCond %{REQUEST_FILENAME} !-d
+ RewriteCond %{REQUEST_URI} (.+)/$
+ RewriteRule ^ %1 [L,R=301]
+
+ # Send Requests To Front Controller...
+ RewriteCond %{REQUEST_FILENAME} !-d
+ RewriteCond %{REQUEST_FILENAME} !-f
+ RewriteRule ^ index.php [L]
+
diff --git a/tests/Frameworks/Laravel/Octane/public/favicon.ico b/tests/Frameworks/Laravel/Octane/Latest/public/favicon.ico
similarity index 100%
rename from tests/Frameworks/Laravel/Octane/public/favicon.ico
rename to tests/Frameworks/Laravel/Octane/Latest/public/favicon.ico
diff --git a/tests/Frameworks/Laravel/Octane/Latest/public/index.php b/tests/Frameworks/Laravel/Octane/Latest/public/index.php
new file mode 100644
index 0000000000..947d98963f
--- /dev/null
+++ b/tests/Frameworks/Laravel/Octane/Latest/public/index.php
@@ -0,0 +1,17 @@
+handleRequest(Request::capture());
diff --git a/tests/Frameworks/Laravel/Octane/Latest/public/robots.txt b/tests/Frameworks/Laravel/Octane/Latest/public/robots.txt
new file mode 100644
index 0000000000..eb0536286f
--- /dev/null
+++ b/tests/Frameworks/Laravel/Octane/Latest/public/robots.txt
@@ -0,0 +1,2 @@
+User-agent: *
+Disallow:
diff --git a/tests/Frameworks/Laravel/Octane/resources/css/app.css b/tests/Frameworks/Laravel/Octane/Latest/resources/css/app.css
similarity index 100%
rename from tests/Frameworks/Laravel/Octane/resources/css/app.css
rename to tests/Frameworks/Laravel/Octane/Latest/resources/css/app.css
diff --git a/tests/Frameworks/Laravel/Octane/Latest/resources/js/app.js b/tests/Frameworks/Laravel/Octane/Latest/resources/js/app.js
new file mode 100644
index 0000000000..e59d6a0adf
--- /dev/null
+++ b/tests/Frameworks/Laravel/Octane/Latest/resources/js/app.js
@@ -0,0 +1 @@
+import './bootstrap';
diff --git a/tests/Frameworks/Laravel/Octane/Latest/resources/js/bootstrap.js b/tests/Frameworks/Laravel/Octane/Latest/resources/js/bootstrap.js
new file mode 100644
index 0000000000..5f1390b015
--- /dev/null
+++ b/tests/Frameworks/Laravel/Octane/Latest/resources/js/bootstrap.js
@@ -0,0 +1,4 @@
+import axios from 'axios';
+window.axios = axios;
+
+window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
diff --git a/tests/Frameworks/Laravel/Octane/Latest/resources/views/simple_view.blade.php b/tests/Frameworks/Laravel/Octane/Latest/resources/views/simple_view.blade.php
new file mode 100644
index 0000000000..5efc5f248f
--- /dev/null
+++ b/tests/Frameworks/Laravel/Octane/Latest/resources/views/simple_view.blade.php
@@ -0,0 +1,9 @@
+
+
+
+
+
+Simple View
+This is a simple view.
+
+
diff --git a/tests/Frameworks/Laravel/Octane/Latest/resources/views/welcome.blade.php b/tests/Frameworks/Laravel/Octane/Latest/resources/views/welcome.blade.php
new file mode 100644
index 0000000000..a9898e337b
--- /dev/null
+++ b/tests/Frameworks/Laravel/Octane/Latest/resources/views/welcome.blade.php
@@ -0,0 +1,172 @@
+
+
+
+
+
+
+ Laravel
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Documentation
+
+
+ Laravel has wonderful documentation covering every aspect of the framework. Whether you are a newcomer or have prior experience with Laravel, we recommend reading our documentation from beginning to end.
+
+
+
+
+
+
+
+
+
+
+
+
+
Laracasts
+
+
+ Laracasts offers thousands of video tutorials on Laravel, PHP, and JavaScript development. Check them out, see for yourself, and massively level up your development skills in the process.
+
+
+
+
+
+
+
+
+
+
+
Laravel News
+
+
+ Laravel News is a community driven portal and newsletter aggregating all of the latest and most important news in the Laravel ecosystem, including new package releases and tutorials.
+
+
+
+
+
+
+
+
+
+
+
Vibrant Ecosystem
+
+
+ Laravel's robust library of first-party tools and libraries, such as Forge , Vapor , Nova , Envoyer , and Herd help you take your projects to the next level. Pair them with powerful open source libraries like Cashier , Dusk , Echo , Horizon , Sanctum , Telescope , and more.
+
+
+
+
+
+
+
+ Laravel v{{ Illuminate\Foundation\Application::VERSION }} (PHP v{{ PHP_VERSION }})
+
+
+
+
+
+
diff --git a/tests/Frameworks/Laravel/Octane/Latest/routes/console.php b/tests/Frameworks/Laravel/Octane/Latest/routes/console.php
new file mode 100644
index 0000000000..eff2ed2404
--- /dev/null
+++ b/tests/Frameworks/Laravel/Octane/Latest/routes/console.php
@@ -0,0 +1,8 @@
+comment(Inspiring::quote());
+})->purpose('Display an inspiring quote')->hourly();
diff --git a/tests/Frameworks/Laravel/Octane/Latest/routes/web.php b/tests/Frameworks/Laravel/Octane/Latest/routes/web.php
new file mode 100644
index 0000000000..a50f091f32
--- /dev/null
+++ b/tests/Frameworks/Laravel/Octane/Latest/routes/web.php
@@ -0,0 +1,8 @@
+name('simple_route');
+Route::get('simple_view', [CommonSpecsController::class, 'simple_view']);
+Route::get('error', [CommonSpecsController::class, 'error']);
diff --git a/tests/Frameworks/Laravel/Octane/Latest/storage/app/.gitignore b/tests/Frameworks/Laravel/Octane/Latest/storage/app/.gitignore
new file mode 100644
index 0000000000..8f4803c056
--- /dev/null
+++ b/tests/Frameworks/Laravel/Octane/Latest/storage/app/.gitignore
@@ -0,0 +1,3 @@
+*
+!public/
+!.gitignore
diff --git a/tests/Frameworks/Nette/Version_3_0/temp/.gitignore b/tests/Frameworks/Laravel/Octane/Latest/storage/app/public/.gitignore
similarity index 100%
rename from tests/Frameworks/Nette/Version_3_0/temp/.gitignore
rename to tests/Frameworks/Laravel/Octane/Latest/storage/app/public/.gitignore
diff --git a/tests/Frameworks/Laravel/Octane/Latest/storage/framework/.gitignore b/tests/Frameworks/Laravel/Octane/Latest/storage/framework/.gitignore
new file mode 100644
index 0000000000..05c4471f2b
--- /dev/null
+++ b/tests/Frameworks/Laravel/Octane/Latest/storage/framework/.gitignore
@@ -0,0 +1,9 @@
+compiled.php
+config.php
+down
+events.scanned.php
+maintenance.php
+routes.php
+routes.scanned.php
+schedule-*
+services.json
diff --git a/tests/Frameworks/Laravel/Octane/Latest/storage/framework/cache/.gitignore b/tests/Frameworks/Laravel/Octane/Latest/storage/framework/cache/.gitignore
new file mode 100644
index 0000000000..01e4a6cda9
--- /dev/null
+++ b/tests/Frameworks/Laravel/Octane/Latest/storage/framework/cache/.gitignore
@@ -0,0 +1,3 @@
+*
+!data/
+!.gitignore
diff --git a/tests/Frameworks/Slim/Version_4/var/cache/.gitignore b/tests/Frameworks/Laravel/Octane/Latest/storage/framework/cache/data/.gitignore
similarity index 100%
rename from tests/Frameworks/Slim/Version_4/var/cache/.gitignore
rename to tests/Frameworks/Laravel/Octane/Latest/storage/framework/cache/data/.gitignore
diff --git a/tests/Frameworks/Yii/Version_2_0/web/assets/.gitignore b/tests/Frameworks/Laravel/Octane/Latest/storage/framework/sessions/.gitignore
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/web/assets/.gitignore
rename to tests/Frameworks/Laravel/Octane/Latest/storage/framework/sessions/.gitignore
diff --git a/tests/Frameworks/Laravel/Octane/Latest/storage/framework/testing/.gitignore b/tests/Frameworks/Laravel/Octane/Latest/storage/framework/testing/.gitignore
new file mode 100644
index 0000000000..d6b7ef32c8
--- /dev/null
+++ b/tests/Frameworks/Laravel/Octane/Latest/storage/framework/testing/.gitignore
@@ -0,0 +1,2 @@
+*
+!.gitignore
diff --git a/tests/Frameworks/Laravel/Octane/Latest/storage/framework/views/.gitignore b/tests/Frameworks/Laravel/Octane/Latest/storage/framework/views/.gitignore
new file mode 100644
index 0000000000..d6b7ef32c8
--- /dev/null
+++ b/tests/Frameworks/Laravel/Octane/Latest/storage/framework/views/.gitignore
@@ -0,0 +1,2 @@
+*
+!.gitignore
diff --git a/tests/Frameworks/Laravel/Octane/Latest/storage/logs/.gitignore b/tests/Frameworks/Laravel/Octane/Latest/storage/logs/.gitignore
new file mode 100644
index 0000000000..d6b7ef32c8
--- /dev/null
+++ b/tests/Frameworks/Laravel/Octane/Latest/storage/logs/.gitignore
@@ -0,0 +1,2 @@
+*
+!.gitignore
diff --git a/tests/Frameworks/Laravel/Octane/Latest/tests/Feature/ExampleTest.php b/tests/Frameworks/Laravel/Octane/Latest/tests/Feature/ExampleTest.php
new file mode 100644
index 0000000000..8364a84e2b
--- /dev/null
+++ b/tests/Frameworks/Laravel/Octane/Latest/tests/Feature/ExampleTest.php
@@ -0,0 +1,19 @@
+get('/');
+
+ $response->assertStatus(200);
+ }
+}
diff --git a/tests/Frameworks/Laravel/Octane/Latest/tests/TestCase.php b/tests/Frameworks/Laravel/Octane/Latest/tests/TestCase.php
new file mode 100644
index 0000000000..fe1ffc2ff1
--- /dev/null
+++ b/tests/Frameworks/Laravel/Octane/Latest/tests/TestCase.php
@@ -0,0 +1,10 @@
+assertTrue(true);
+ }
+}
diff --git a/tests/Frameworks/Laravel/Octane/Latest/vite.config.js b/tests/Frameworks/Laravel/Octane/Latest/vite.config.js
new file mode 100644
index 0000000000..421b569562
--- /dev/null
+++ b/tests/Frameworks/Laravel/Octane/Latest/vite.config.js
@@ -0,0 +1,11 @@
+import { defineConfig } from 'vite';
+import laravel from 'laravel-vite-plugin';
+
+export default defineConfig({
+ plugins: [
+ laravel({
+ input: ['resources/css/app.css', 'resources/js/app.js'],
+ refresh: true,
+ }),
+ ],
+});
diff --git a/tests/Frameworks/Nette/Version_3_0/.gitignore b/tests/Frameworks/Nette/Latest/.gitignore
similarity index 100%
rename from tests/Frameworks/Nette/Version_3_0/.gitignore
rename to tests/Frameworks/Nette/Latest/.gitignore
diff --git a/tests/Frameworks/Nette/Version_3_0/app/Bootstrap.php b/tests/Frameworks/Nette/Latest/app/Bootstrap.php
similarity index 100%
rename from tests/Frameworks/Nette/Version_3_0/app/Bootstrap.php
rename to tests/Frameworks/Nette/Latest/app/Bootstrap.php
diff --git a/tests/Frameworks/Nette/Version_3_0/app/Presenters/ErrorPresenter.php b/tests/Frameworks/Nette/Latest/app/Presenters/ErrorPresenter.php
similarity index 100%
rename from tests/Frameworks/Nette/Version_3_0/app/Presenters/ErrorPresenter.php
rename to tests/Frameworks/Nette/Latest/app/Presenters/ErrorPresenter.php
diff --git a/tests/Frameworks/Nette/Version_3_0/app/Presenters/HomepagePresenter.php b/tests/Frameworks/Nette/Latest/app/Presenters/HomepagePresenter.php
similarity index 100%
rename from tests/Frameworks/Nette/Version_3_0/app/Presenters/HomepagePresenter.php
rename to tests/Frameworks/Nette/Latest/app/Presenters/HomepagePresenter.php
diff --git a/tests/Frameworks/Nette/Version_3_0/app/Presenters/templates/@layout.latte b/tests/Frameworks/Nette/Latest/app/Presenters/templates/@layout.latte
similarity index 100%
rename from tests/Frameworks/Nette/Version_3_0/app/Presenters/templates/@layout.latte
rename to tests/Frameworks/Nette/Latest/app/Presenters/templates/@layout.latte
diff --git a/tests/Frameworks/Nette/Version_3_0/app/Presenters/templates/Error/500.phtml b/tests/Frameworks/Nette/Latest/app/Presenters/templates/Error/500.phtml
similarity index 100%
rename from tests/Frameworks/Nette/Version_3_0/app/Presenters/templates/Error/500.phtml
rename to tests/Frameworks/Nette/Latest/app/Presenters/templates/Error/500.phtml
diff --git a/tests/Frameworks/Nette/Version_3_0/app/Presenters/templates/Homepage/default.latte b/tests/Frameworks/Nette/Latest/app/Presenters/templates/Homepage/default.latte
similarity index 100%
rename from tests/Frameworks/Nette/Version_3_0/app/Presenters/templates/Homepage/default.latte
rename to tests/Frameworks/Nette/Latest/app/Presenters/templates/Homepage/default.latte
diff --git a/tests/Frameworks/Nette/Version_3_0/app/Presenters/templates/Homepage/simpleView.latte b/tests/Frameworks/Nette/Latest/app/Presenters/templates/Homepage/simpleView.latte
similarity index 100%
rename from tests/Frameworks/Nette/Version_3_0/app/Presenters/templates/Homepage/simpleView.latte
rename to tests/Frameworks/Nette/Latest/app/Presenters/templates/Homepage/simpleView.latte
diff --git a/tests/Frameworks/Nette/Version_3_0/app/Router/RouterFactory.php b/tests/Frameworks/Nette/Latest/app/Router/RouterFactory.php
similarity index 100%
rename from tests/Frameworks/Nette/Version_3_0/app/Router/RouterFactory.php
rename to tests/Frameworks/Nette/Latest/app/Router/RouterFactory.php
diff --git a/tests/Frameworks/Nette/Version_3_0/app/config/common.neon b/tests/Frameworks/Nette/Latest/app/config/common.neon
similarity index 100%
rename from tests/Frameworks/Nette/Version_3_0/app/config/common.neon
rename to tests/Frameworks/Nette/Latest/app/config/common.neon
diff --git a/tests/Frameworks/Nette/Latest/composer.json b/tests/Frameworks/Nette/Latest/composer.json
new file mode 100644
index 0000000000..5dc27c9cd5
--- /dev/null
+++ b/tests/Frameworks/Nette/Latest/composer.json
@@ -0,0 +1,39 @@
+{
+ "name": "nette/web-project",
+ "description": "Nette: Standard Web Project",
+ "keywords": [
+ "nette"
+ ],
+ "type": "project",
+ "license": [
+ "MIT",
+ "BSD-3-Clause",
+ "GPL-2.0",
+ "GPL-3.0"
+ ],
+ "require": {
+ "php": ">= 7.1",
+ "nette/application": "3.2.6",
+ "nette/bootstrap": "^3.2",
+ "nette/caching": "^3.2",
+ "nette/database": "^3.2",
+ "nette/di": "^3.2",
+ "nette/forms": "^3.2",
+ "nette/http": "^3.3",
+ "nette/mail": "^4.0",
+ "nette/robot-loader": "^4.0",
+ "nette/security": "^3.2",
+ "nette/utils": "^4.0",
+ "latte/latte": "^3.0",
+ "tracy/tracy": "^2.10"
+ },
+ "require-dev": {
+ "nette/tester": "^2.0"
+ },
+ "autoload": {
+ "classmap": [
+ "app/Bootstrap.php"
+ ]
+ },
+ "minimum-stability": "stable"
+}
\ No newline at end of file
diff --git a/tests/Frameworks/Nette/Latest/log/.gitignore b/tests/Frameworks/Nette/Latest/log/.gitignore
new file mode 100644
index 0000000000..d6b7ef32c8
--- /dev/null
+++ b/tests/Frameworks/Nette/Latest/log/.gitignore
@@ -0,0 +1,2 @@
+*
+!.gitignore
diff --git a/tests/Frameworks/Nette/Latest/temp/.gitignore b/tests/Frameworks/Nette/Latest/temp/.gitignore
new file mode 100644
index 0000000000..d6b7ef32c8
--- /dev/null
+++ b/tests/Frameworks/Nette/Latest/temp/.gitignore
@@ -0,0 +1,2 @@
+*
+!.gitignore
diff --git a/tests/Frameworks/Nette/Version_3_0/www/.htaccess b/tests/Frameworks/Nette/Latest/www/.htaccess
similarity index 100%
rename from tests/Frameworks/Nette/Version_3_0/www/.htaccess
rename to tests/Frameworks/Nette/Latest/www/.htaccess
diff --git a/tests/Frameworks/Nette/Version_3_0/www/index.php b/tests/Frameworks/Nette/Latest/www/index.php
similarity index 100%
rename from tests/Frameworks/Nette/Version_3_0/www/index.php
rename to tests/Frameworks/Nette/Latest/www/index.php
diff --git a/tests/Frameworks/Nette/Version_3_0/composer.json b/tests/Frameworks/Nette/Version_3_0/composer.json
deleted file mode 100644
index a1457541e4..0000000000
--- a/tests/Frameworks/Nette/Version_3_0/composer.json
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "name": "nette/web-project",
- "description": "Nette: Standard Web Project",
- "keywords": [
- "nette"
- ],
- "type": "project",
- "license": [
- "MIT",
- "BSD-3-Clause",
- "GPL-2.0",
- "GPL-3.0"
- ],
- "require": {
- "php": ">= 7.1",
- "nette/application": "~3.0.0",
- "nette/bootstrap": "~3.0.0",
- "nette/caching": "~3.0.0",
- "nette/database": "~3.0.0",
- "nette/di": "~3.0.0",
- "nette/finder": "^2.5",
- "nette/forms": "~3.0.0",
- "nette/http": "~3.0.0",
- "nette/mail": "~3.0.0",
- "nette/robot-loader": "^3.0",
- "nette/security": "~3.0.0",
- "nette/utils": "~3.0.0",
- "latte/latte": "^2.5",
- "tracy/tracy": "^2.6"
- },
- "require-dev": {
- "nette/tester": "^2.0"
- },
- "autoload": {
- "classmap": [
- "app/Bootstrap.php"
- ]
- },
- "minimum-stability": "stable",
- "config": {
- "platform": {
- "php": "7.1"
- }
- }
-}
\ No newline at end of file
diff --git a/tests/Frameworks/Nette/Version_3_1/.gitignore b/tests/Frameworks/Nette/Version_3_1/.gitignore
new file mode 100644
index 0000000000..47cd1d970f
--- /dev/null
+++ b/tests/Frameworks/Nette/Version_3_1/.gitignore
@@ -0,0 +1 @@
+app/config/local.neon
diff --git a/tests/Frameworks/Nette/Version_3_1/app/Bootstrap.php b/tests/Frameworks/Nette/Version_3_1/app/Bootstrap.php
new file mode 100644
index 0000000000..c602593716
--- /dev/null
+++ b/tests/Frameworks/Nette/Version_3_1/app/Bootstrap.php
@@ -0,0 +1,33 @@
+setDebugMode(false); // enable for your remote IP
+ $configurator->enableTracy(__DIR__ . '/../log');
+
+ $configurator->setTimeZone('Europe/Prague');
+ $configurator->setTempDirectory(__DIR__ . '/../temp');
+
+ $configurator->createRobotLoader()
+ ->addDirectory(__DIR__)
+ ->register();
+
+ $configurator->addConfig(__DIR__ . '/config/common.neon');
+ $configurator->addParameters([
+ 'appDir' => __DIR__
+ ]);
+
+ return $configurator;
+ }
+}
diff --git a/tests/Frameworks/Nette/Version_3_1/app/Presenters/ErrorPresenter.php b/tests/Frameworks/Nette/Version_3_1/app/Presenters/ErrorPresenter.php
new file mode 100644
index 0000000000..c1be099e5d
--- /dev/null
+++ b/tests/Frameworks/Nette/Version_3_1/app/Presenters/ErrorPresenter.php
@@ -0,0 +1,34 @@
+logger = $logger;
+ }
+
+
+ public function run(Nette\Application\Request $request): Nette\Application\IResponse
+ {
+ return new Responses\CallbackResponse(function (Http\IRequest $httpRequest, Http\IResponse $httpResponse): void {
+ require __DIR__ . '/templates/Error/500.phtml';
+ });
+
+ }
+}
diff --git a/tests/Frameworks/Nette/Version_3_1/app/Presenters/HomepagePresenter.php b/tests/Frameworks/Nette/Version_3_1/app/Presenters/HomepagePresenter.php
new file mode 100644
index 0000000000..8311fbdab1
--- /dev/null
+++ b/tests/Frameworks/Nette/Version_3_1/app/Presenters/HomepagePresenter.php
@@ -0,0 +1,28 @@
+terminate();
+ }
+
+ public function renderSimpleView()
+ {
+ $this->template->name = 'simple view';
+ }
+
+ public function renderErrorView()
+ {
+ throw new \Exception('An exception occurred');
+ }
+}
diff --git a/tests/Frameworks/Nette/Version_3_1/app/Presenters/templates/@layout.latte b/tests/Frameworks/Nette/Version_3_1/app/Presenters/templates/@layout.latte
new file mode 100644
index 0000000000..33212ad946
--- /dev/null
+++ b/tests/Frameworks/Nette/Version_3_1/app/Presenters/templates/@layout.latte
@@ -0,0 +1,14 @@
+
+
+
+
+
+ Layout
+
+
+
+
+{include content}
+
+
+
diff --git a/tests/Frameworks/Nette/Version_3_1/app/Presenters/templates/Error/500.phtml b/tests/Frameworks/Nette/Version_3_1/app/Presenters/templates/Error/500.phtml
new file mode 100644
index 0000000000..706fa018a2
--- /dev/null
+++ b/tests/Frameworks/Nette/Version_3_1/app/Presenters/templates/Error/500.phtml
@@ -0,0 +1,10 @@
+
+
+
+
+ Server error
+
+
+500 error
+
+
\ No newline at end of file
diff --git a/tests/Frameworks/Nette/Version_3_1/app/Presenters/templates/Homepage/default.latte b/tests/Frameworks/Nette/Version_3_1/app/Presenters/templates/Homepage/default.latte
new file mode 100644
index 0000000000..0cefb689a8
--- /dev/null
+++ b/tests/Frameworks/Nette/Version_3_1/app/Presenters/templates/Homepage/default.latte
@@ -0,0 +1,2 @@
+{block content}
+Hello world
\ No newline at end of file
diff --git a/tests/Frameworks/Nette/Version_3_1/app/Presenters/templates/Homepage/simpleView.latte b/tests/Frameworks/Nette/Version_3_1/app/Presenters/templates/Homepage/simpleView.latte
new file mode 100644
index 0000000000..642109e5da
--- /dev/null
+++ b/tests/Frameworks/Nette/Version_3_1/app/Presenters/templates/Homepage/simpleView.latte
@@ -0,0 +1,3 @@
+{block content}
+
+Hello from {$name}
\ No newline at end of file
diff --git a/tests/Frameworks/Nette/Version_3_1/app/Router/RouterFactory.php b/tests/Frameworks/Nette/Version_3_1/app/Router/RouterFactory.php
new file mode 100644
index 0000000000..382ac288b3
--- /dev/null
+++ b/tests/Frameworks/Nette/Version_3_1/app/Router/RouterFactory.php
@@ -0,0 +1,24 @@
+addRoute('/simple', 'Homepage:simple');
+ $router->addRoute('/simple_view', 'Homepage:simpleView');
+ $router->addRoute('/error', 'Homepage:errorView');
+ $router->addRoute('/[/]', 'Homepage:default');
+ return $router;
+ }
+}
diff --git a/tests/Frameworks/Nette/Version_3_1/app/config/common.neon b/tests/Frameworks/Nette/Version_3_1/app/config/common.neon
new file mode 100644
index 0000000000..02adb7ff20
--- /dev/null
+++ b/tests/Frameworks/Nette/Version_3_1/app/config/common.neon
@@ -0,0 +1,15 @@
+parameters:
+
+
+application:
+ errorPresenter: Error
+ mapping:
+ *: App\*Module\Presenters\*Presenter
+
+
+session:
+ expiration: 14 days
+
+
+services:
+ router: App\Router\RouterFactory::createRouter
diff --git a/tests/Frameworks/Nette/Version_3_1/composer.json b/tests/Frameworks/Nette/Version_3_1/composer.json
new file mode 100644
index 0000000000..5dfe847a63
--- /dev/null
+++ b/tests/Frameworks/Nette/Version_3_1/composer.json
@@ -0,0 +1,40 @@
+{
+ "name": "nette/web-project",
+ "description": "Nette: Standard Web Project",
+ "keywords": [
+ "nette"
+ ],
+ "type": "project",
+ "license": [
+ "MIT",
+ "BSD-3-Clause",
+ "GPL-2.0",
+ "GPL-3.0"
+ ],
+ "require": {
+ "php": ">= 7.1",
+ "nette/application": "3.1.*",
+ "nette/bootstrap": "^3.1",
+ "nette/caching": "^3.1",
+ "nette/database": "^3.1",
+ "nette/di": "^3.0",
+ "nette/finder": "^2.5",
+ "nette/forms": "^3.1",
+ "nette/http": "^3.1",
+ "nette/mail": "^3.1",
+ "nette/robot-loader": "^3.1",
+ "nette/security": "^3.1",
+ "nette/utils": "^3.1",
+ "latte/latte": "^2.9",
+ "tracy/tracy": "^2.8"
+ },
+ "require-dev": {
+ "nette/tester": "^2.0"
+ },
+ "autoload": {
+ "classmap": [
+ "app/Bootstrap.php"
+ ]
+ },
+ "minimum-stability": "stable"
+}
\ No newline at end of file
diff --git a/tests/Frameworks/Nette/Version_3_1/log/.gitignore b/tests/Frameworks/Nette/Version_3_1/log/.gitignore
new file mode 100644
index 0000000000..d6b7ef32c8
--- /dev/null
+++ b/tests/Frameworks/Nette/Version_3_1/log/.gitignore
@@ -0,0 +1,2 @@
+*
+!.gitignore
diff --git a/tests/Frameworks/Nette/Version_3_1/temp/.gitignore b/tests/Frameworks/Nette/Version_3_1/temp/.gitignore
new file mode 100644
index 0000000000..d6b7ef32c8
--- /dev/null
+++ b/tests/Frameworks/Nette/Version_3_1/temp/.gitignore
@@ -0,0 +1,2 @@
+*
+!.gitignore
diff --git a/tests/Frameworks/Nette/Version_3_1/www/.htaccess b/tests/Frameworks/Nette/Version_3_1/www/.htaccess
new file mode 100644
index 0000000000..0996638bdd
--- /dev/null
+++ b/tests/Frameworks/Nette/Version_3_1/www/.htaccess
@@ -0,0 +1,32 @@
+# Apache configuration file (see https://httpd.apache.org/docs/current/mod/quickreference.html)
+Require all granted
+
+# disable directory listing
+
+ Options -Indexes
+
+
+# enable cool URL
+
+ RewriteEngine On
+ # RewriteBase /
+
+ # use HTTPS
+ # RewriteCond %{HTTPS} !on
+ # RewriteRule .? https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
+
+ # prevents files starting with dot to be viewed by browser
+ RewriteRule /\.|^\.(?!well-known/) - [F]
+
+ # front controller
+ RewriteCond %{REQUEST_FILENAME} !-f
+ RewriteCond %{REQUEST_FILENAME} !-d
+ RewriteRule !\.(pdf|js|ico|gif|jpg|jpeg|png|webp|svg|css|rar|zip|7z|tar\.gz|map|eot|ttf|otf|woff|woff2)$ index.php [L]
+
+
+# enable gzip compression
+
+
+ AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/javascript application/json application/xml image/svg+xml
+
+
diff --git a/tests/Frameworks/Nette/Version_3_1/www/index.php b/tests/Frameworks/Nette/Version_3_1/www/index.php
new file mode 100644
index 0000000000..ccc00d9ad5
--- /dev/null
+++ b/tests/Frameworks/Nette/Version_3_1/www/index.php
@@ -0,0 +1,13 @@
+createContainer()
+ ->getByType(Nette\Application\Application::class)
+ ->run();
diff --git a/tests/Frameworks/Slim/Version_4/.coveralls.yml b/tests/Frameworks/Slim/Latest/.coveralls.yml
similarity index 100%
rename from tests/Frameworks/Slim/Version_4/.coveralls.yml
rename to tests/Frameworks/Slim/Latest/.coveralls.yml
diff --git a/tests/Frameworks/Slim/Version_4/.gitignore b/tests/Frameworks/Slim/Latest/.gitignore
similarity index 100%
rename from tests/Frameworks/Slim/Version_4/.gitignore
rename to tests/Frameworks/Slim/Latest/.gitignore
diff --git a/tests/Frameworks/Slim/Version_4/.travis.yml b/tests/Frameworks/Slim/Latest/.travis.yml
similarity index 100%
rename from tests/Frameworks/Slim/Version_4/.travis.yml
rename to tests/Frameworks/Slim/Latest/.travis.yml
diff --git a/tests/Frameworks/Slim/Version_4/CONTRIBUTING.md b/tests/Frameworks/Slim/Latest/CONTRIBUTING.md
similarity index 100%
rename from tests/Frameworks/Slim/Version_4/CONTRIBUTING.md
rename to tests/Frameworks/Slim/Latest/CONTRIBUTING.md
diff --git a/tests/Frameworks/Slim/Version_4/README.md b/tests/Frameworks/Slim/Latest/README.md
similarity index 100%
rename from tests/Frameworks/Slim/Version_4/README.md
rename to tests/Frameworks/Slim/Latest/README.md
diff --git a/tests/Frameworks/Slim/Version_4/app/dependencies.php b/tests/Frameworks/Slim/Latest/app/dependencies.php
similarity index 100%
rename from tests/Frameworks/Slim/Version_4/app/dependencies.php
rename to tests/Frameworks/Slim/Latest/app/dependencies.php
diff --git a/tests/Frameworks/Slim/Version_4/app/middleware.php b/tests/Frameworks/Slim/Latest/app/middleware.php
similarity index 100%
rename from tests/Frameworks/Slim/Version_4/app/middleware.php
rename to tests/Frameworks/Slim/Latest/app/middleware.php
diff --git a/tests/Frameworks/Slim/Version_4/app/repositories.php b/tests/Frameworks/Slim/Latest/app/repositories.php
similarity index 100%
rename from tests/Frameworks/Slim/Version_4/app/repositories.php
rename to tests/Frameworks/Slim/Latest/app/repositories.php
diff --git a/tests/Frameworks/Slim/Version_4/app/routes.php b/tests/Frameworks/Slim/Latest/app/routes.php
similarity index 100%
rename from tests/Frameworks/Slim/Version_4/app/routes.php
rename to tests/Frameworks/Slim/Latest/app/routes.php
diff --git a/tests/Frameworks/Slim/Version_4/app/settings.php b/tests/Frameworks/Slim/Latest/app/settings.php
similarity index 100%
rename from tests/Frameworks/Slim/Version_4/app/settings.php
rename to tests/Frameworks/Slim/Latest/app/settings.php
diff --git a/tests/Frameworks/Slim/Latest/composer.json b/tests/Frameworks/Slim/Latest/composer.json
new file mode 100644
index 0000000000..09ebe91d2e
--- /dev/null
+++ b/tests/Frameworks/Slim/Latest/composer.json
@@ -0,0 +1,50 @@
+{
+ "name": "slim/slim-skeleton",
+ "description": "A Slim Framework skeleton application for rapid development",
+ "keywords": [
+ "microframework",
+ "rest",
+ "router",
+ "psr7"
+ ],
+ "homepage": "http://github.com/slimphp/Slim-Skeleton",
+ "license": "MIT",
+ "authors": [
+ {
+ "name": "Josh Lockhart",
+ "email": "info@joshlockhart.com",
+ "homepage": "http://www.joshlockhart.com/"
+ },
+ {
+ "name": "Pierre Berube",
+ "email": "pierre@lgse.com",
+ "homepage": "http://www.lgse.com/"
+ }
+ ],
+ "require": {
+ "php": "^7.2 | ^8.0",
+ "ext-json": "*",
+ "monolog/monolog": "^2.0",
+ "php-di/php-di": "^6.1",
+ "slim/psr7": "^1.1",
+ "slim/slim": "4.14.0",
+ "slim/twig-view": "^3.0"
+ },
+ "config": {
+ "process-timeout": 0,
+ "sort-packages": true
+ },
+ "autoload": {
+ "psr-4": {
+ "App\\": "src/"
+ }
+ },
+ "autoload-dev": {
+ "psr-4": {
+ "Tests\\": "tests/"
+ }
+ },
+ "scripts": {
+ "start": "php -S localhost:8080 -t public"
+ }
+}
\ No newline at end of file
diff --git a/tests/Frameworks/Slim/Version_4/docker-compose.yml b/tests/Frameworks/Slim/Latest/docker-compose.yml
similarity index 100%
rename from tests/Frameworks/Slim/Version_4/docker-compose.yml
rename to tests/Frameworks/Slim/Latest/docker-compose.yml
diff --git a/tests/Frameworks/Slim/Version_4/logs/README.md b/tests/Frameworks/Slim/Latest/logs/README.md
similarity index 100%
rename from tests/Frameworks/Slim/Version_4/logs/README.md
rename to tests/Frameworks/Slim/Latest/logs/README.md
diff --git a/tests/Frameworks/Slim/Version_4/phpunit.xml b/tests/Frameworks/Slim/Latest/phpunit.xml
similarity index 100%
rename from tests/Frameworks/Slim/Version_4/phpunit.xml
rename to tests/Frameworks/Slim/Latest/phpunit.xml
diff --git a/tests/Frameworks/Slim/Version_4/public/.htaccess b/tests/Frameworks/Slim/Latest/public/.htaccess
similarity index 100%
rename from tests/Frameworks/Slim/Version_4/public/.htaccess
rename to tests/Frameworks/Slim/Latest/public/.htaccess
diff --git a/tests/Frameworks/Slim/Version_4/public/index.php b/tests/Frameworks/Slim/Latest/public/index.php
similarity index 100%
rename from tests/Frameworks/Slim/Version_4/public/index.php
rename to tests/Frameworks/Slim/Latest/public/index.php
diff --git a/tests/Frameworks/Slim/Version_4/src/Application/Actions/Action.php b/tests/Frameworks/Slim/Latest/src/Application/Actions/Action.php
similarity index 100%
rename from tests/Frameworks/Slim/Version_4/src/Application/Actions/Action.php
rename to tests/Frameworks/Slim/Latest/src/Application/Actions/Action.php
diff --git a/tests/Frameworks/Slim/Version_4/src/Application/Actions/ActionError.php b/tests/Frameworks/Slim/Latest/src/Application/Actions/ActionError.php
similarity index 100%
rename from tests/Frameworks/Slim/Version_4/src/Application/Actions/ActionError.php
rename to tests/Frameworks/Slim/Latest/src/Application/Actions/ActionError.php
diff --git a/tests/Frameworks/Slim/Version_4/src/Application/Actions/ActionPayload.php b/tests/Frameworks/Slim/Latest/src/Application/Actions/ActionPayload.php
similarity index 100%
rename from tests/Frameworks/Slim/Version_4/src/Application/Actions/ActionPayload.php
rename to tests/Frameworks/Slim/Latest/src/Application/Actions/ActionPayload.php
diff --git a/tests/Frameworks/Slim/Version_4/src/Application/Actions/User/ListUsersAction.php b/tests/Frameworks/Slim/Latest/src/Application/Actions/User/ListUsersAction.php
similarity index 100%
rename from tests/Frameworks/Slim/Version_4/src/Application/Actions/User/ListUsersAction.php
rename to tests/Frameworks/Slim/Latest/src/Application/Actions/User/ListUsersAction.php
diff --git a/tests/Frameworks/Slim/Version_4/src/Application/Actions/User/UserAction.php b/tests/Frameworks/Slim/Latest/src/Application/Actions/User/UserAction.php
similarity index 100%
rename from tests/Frameworks/Slim/Version_4/src/Application/Actions/User/UserAction.php
rename to tests/Frameworks/Slim/Latest/src/Application/Actions/User/UserAction.php
diff --git a/tests/Frameworks/Slim/Version_4/src/Application/Actions/User/ViewUserAction.php b/tests/Frameworks/Slim/Latest/src/Application/Actions/User/ViewUserAction.php
similarity index 100%
rename from tests/Frameworks/Slim/Version_4/src/Application/Actions/User/ViewUserAction.php
rename to tests/Frameworks/Slim/Latest/src/Application/Actions/User/ViewUserAction.php
diff --git a/tests/Frameworks/Slim/Version_4/src/Application/Handlers/HttpErrorHandler.php b/tests/Frameworks/Slim/Latest/src/Application/Handlers/HttpErrorHandler.php
similarity index 100%
rename from tests/Frameworks/Slim/Version_4/src/Application/Handlers/HttpErrorHandler.php
rename to tests/Frameworks/Slim/Latest/src/Application/Handlers/HttpErrorHandler.php
diff --git a/tests/Frameworks/Slim/Version_4/src/Application/Handlers/ShutdownHandler.php b/tests/Frameworks/Slim/Latest/src/Application/Handlers/ShutdownHandler.php
similarity index 100%
rename from tests/Frameworks/Slim/Version_4/src/Application/Handlers/ShutdownHandler.php
rename to tests/Frameworks/Slim/Latest/src/Application/Handlers/ShutdownHandler.php
diff --git a/tests/Frameworks/Slim/Version_4/src/Application/Middleware/SessionMiddleware.php b/tests/Frameworks/Slim/Latest/src/Application/Middleware/SessionMiddleware.php
similarity index 100%
rename from tests/Frameworks/Slim/Version_4/src/Application/Middleware/SessionMiddleware.php
rename to tests/Frameworks/Slim/Latest/src/Application/Middleware/SessionMiddleware.php
diff --git a/tests/Frameworks/Slim/Version_4/src/Application/ResponseEmitter/ResponseEmitter.php b/tests/Frameworks/Slim/Latest/src/Application/ResponseEmitter/ResponseEmitter.php
similarity index 100%
rename from tests/Frameworks/Slim/Version_4/src/Application/ResponseEmitter/ResponseEmitter.php
rename to tests/Frameworks/Slim/Latest/src/Application/ResponseEmitter/ResponseEmitter.php
diff --git a/tests/Frameworks/Slim/Version_4/src/Domain/DomainException/DomainException.php b/tests/Frameworks/Slim/Latest/src/Domain/DomainException/DomainException.php
similarity index 100%
rename from tests/Frameworks/Slim/Version_4/src/Domain/DomainException/DomainException.php
rename to tests/Frameworks/Slim/Latest/src/Domain/DomainException/DomainException.php
diff --git a/tests/Frameworks/Slim/Version_4/src/Domain/DomainException/DomainRecordNotFoundException.php b/tests/Frameworks/Slim/Latest/src/Domain/DomainException/DomainRecordNotFoundException.php
similarity index 100%
rename from tests/Frameworks/Slim/Version_4/src/Domain/DomainException/DomainRecordNotFoundException.php
rename to tests/Frameworks/Slim/Latest/src/Domain/DomainException/DomainRecordNotFoundException.php
diff --git a/tests/Frameworks/Slim/Version_4/src/Domain/User/User.php b/tests/Frameworks/Slim/Latest/src/Domain/User/User.php
similarity index 100%
rename from tests/Frameworks/Slim/Version_4/src/Domain/User/User.php
rename to tests/Frameworks/Slim/Latest/src/Domain/User/User.php
diff --git a/tests/Frameworks/Slim/Version_4/src/Domain/User/UserNotFoundException.php b/tests/Frameworks/Slim/Latest/src/Domain/User/UserNotFoundException.php
similarity index 100%
rename from tests/Frameworks/Slim/Version_4/src/Domain/User/UserNotFoundException.php
rename to tests/Frameworks/Slim/Latest/src/Domain/User/UserNotFoundException.php
diff --git a/tests/Frameworks/Slim/Version_4/src/Domain/User/UserRepository.php b/tests/Frameworks/Slim/Latest/src/Domain/User/UserRepository.php
similarity index 100%
rename from tests/Frameworks/Slim/Version_4/src/Domain/User/UserRepository.php
rename to tests/Frameworks/Slim/Latest/src/Domain/User/UserRepository.php
diff --git a/tests/Frameworks/Slim/Version_4/src/Infrastructure/Persistence/User/InMemoryUserRepository.php b/tests/Frameworks/Slim/Latest/src/Infrastructure/Persistence/User/InMemoryUserRepository.php
similarity index 100%
rename from tests/Frameworks/Slim/Version_4/src/Infrastructure/Persistence/User/InMemoryUserRepository.php
rename to tests/Frameworks/Slim/Latest/src/Infrastructure/Persistence/User/InMemoryUserRepository.php
diff --git a/tests/Frameworks/Slim/Version_4/templates/simple_view.phtml b/tests/Frameworks/Slim/Latest/templates/simple_view.phtml
similarity index 100%
rename from tests/Frameworks/Slim/Version_4/templates/simple_view.phtml
rename to tests/Frameworks/Slim/Latest/templates/simple_view.phtml
diff --git a/tests/Frameworks/Slim/Version_4/tests/Application/Actions/ActionTest.php b/tests/Frameworks/Slim/Latest/tests/Application/Actions/ActionTest.php
similarity index 100%
rename from tests/Frameworks/Slim/Version_4/tests/Application/Actions/ActionTest.php
rename to tests/Frameworks/Slim/Latest/tests/Application/Actions/ActionTest.php
diff --git a/tests/Frameworks/Slim/Version_4/tests/Application/Actions/User/ListUserActionTest.php b/tests/Frameworks/Slim/Latest/tests/Application/Actions/User/ListUserActionTest.php
similarity index 100%
rename from tests/Frameworks/Slim/Version_4/tests/Application/Actions/User/ListUserActionTest.php
rename to tests/Frameworks/Slim/Latest/tests/Application/Actions/User/ListUserActionTest.php
diff --git a/tests/Frameworks/Slim/Version_4/tests/Application/Actions/User/ViewUserActionTest.php b/tests/Frameworks/Slim/Latest/tests/Application/Actions/User/ViewUserActionTest.php
similarity index 100%
rename from tests/Frameworks/Slim/Version_4/tests/Application/Actions/User/ViewUserActionTest.php
rename to tests/Frameworks/Slim/Latest/tests/Application/Actions/User/ViewUserActionTest.php
diff --git a/tests/Frameworks/Slim/Version_4/tests/Domain/User/UserTest.php b/tests/Frameworks/Slim/Latest/tests/Domain/User/UserTest.php
similarity index 100%
rename from tests/Frameworks/Slim/Version_4/tests/Domain/User/UserTest.php
rename to tests/Frameworks/Slim/Latest/tests/Domain/User/UserTest.php
diff --git a/tests/Frameworks/Slim/Version_4/tests/Infrastructure/Persistence/User/InMemoryUserRepositoryTest.php b/tests/Frameworks/Slim/Latest/tests/Infrastructure/Persistence/User/InMemoryUserRepositoryTest.php
similarity index 100%
rename from tests/Frameworks/Slim/Version_4/tests/Infrastructure/Persistence/User/InMemoryUserRepositoryTest.php
rename to tests/Frameworks/Slim/Latest/tests/Infrastructure/Persistence/User/InMemoryUserRepositoryTest.php
diff --git a/tests/Frameworks/Slim/Version_4/tests/TestCase.php b/tests/Frameworks/Slim/Latest/tests/TestCase.php
similarity index 100%
rename from tests/Frameworks/Slim/Version_4/tests/TestCase.php
rename to tests/Frameworks/Slim/Latest/tests/TestCase.php
diff --git a/tests/Frameworks/Slim/Version_4/tests/bootstrap.php b/tests/Frameworks/Slim/Latest/tests/bootstrap.php
similarity index 100%
rename from tests/Frameworks/Slim/Version_4/tests/bootstrap.php
rename to tests/Frameworks/Slim/Latest/tests/bootstrap.php
diff --git a/tests/Frameworks/Slim/Latest/var/cache/.gitignore b/tests/Frameworks/Slim/Latest/var/cache/.gitignore
new file mode 100644
index 0000000000..d6b7ef32c8
--- /dev/null
+++ b/tests/Frameworks/Slim/Latest/var/cache/.gitignore
@@ -0,0 +1,2 @@
+*
+!.gitignore
diff --git a/tests/Frameworks/Slim/Version_4_8/.coveralls.yml b/tests/Frameworks/Slim/Version_4_8/.coveralls.yml
new file mode 100644
index 0000000000..a8172feb1d
--- /dev/null
+++ b/tests/Frameworks/Slim/Version_4_8/.coveralls.yml
@@ -0,0 +1 @@
+json_path: coveralls-upload.json
diff --git a/tests/Frameworks/Slim/Version_4_8/.gitignore b/tests/Frameworks/Slim/Version_4_8/.gitignore
new file mode 100644
index 0000000000..63066a6e3f
--- /dev/null
+++ b/tests/Frameworks/Slim/Version_4_8/.gitignore
@@ -0,0 +1,7 @@
+.idea/
+.vscode/
+/coverage/
+/vendor/
+/logs/*
+!/logs/README.md
+.phpunit.result.cache
diff --git a/tests/Frameworks/Slim/Version_4_8/.travis.yml b/tests/Frameworks/Slim/Version_4_8/.travis.yml
new file mode 100644
index 0000000000..07353414f9
--- /dev/null
+++ b/tests/Frameworks/Slim/Version_4_8/.travis.yml
@@ -0,0 +1,24 @@
+language: php
+
+dist: trusty
+
+matrix:
+ include:
+ - php: 7.2
+ - php: 7.3
+ - php: 7.4
+ env: ANALYSIS='true'
+ - php: nightly
+
+ allow_failures:
+ - php: nightly
+
+before_script:
+- composer require php-coveralls/php-coveralls:^2.1.0
+- composer install -n
+
+script:
+- if [[ "$ANALYSIS" == 'true' ]]; then vendor/bin/phpunit --coverage-clover clover.xml ; fi
+
+after_success:
+- if [[ "$ANALYSIS" == 'true' ]]; then vendor/bin/php-coveralls --coverage_clover=clover.xml -v ; fi
diff --git a/tests/Frameworks/Slim/Version_4_8/CONTRIBUTING.md b/tests/Frameworks/Slim/Version_4_8/CONTRIBUTING.md
new file mode 100644
index 0000000000..1c7a3e3dd3
--- /dev/null
+++ b/tests/Frameworks/Slim/Version_4_8/CONTRIBUTING.md
@@ -0,0 +1,14 @@
+# How to Contribute
+
+## Pull Requests
+
+1. Fork the Slim Skeleton repository
+2. Create a new branch for each feature or improvement
+3. Send a pull request from each feature branch to the **4.x** branch
+
+It is very important to separate new features or improvements into separate feature branches, and to send a
+pull request for each branch. This allows us to review and pull in new features or improvements individually.
+
+## Style Guide
+
+All pull requests must adhere to the [PSR-2 standard](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md).
diff --git a/tests/Frameworks/Slim/Version_4_8/README.md b/tests/Frameworks/Slim/Version_4_8/README.md
new file mode 100644
index 0000000000..7829a50a4e
--- /dev/null
+++ b/tests/Frameworks/Slim/Version_4_8/README.md
@@ -0,0 +1,42 @@
+# Slim Framework 4 Skeleton Application
+
+[![Coverage Status](https://coveralls.io/repos/github/slimphp/Slim-Skeleton/badge.svg?branch=master)](https://coveralls.io/github/slimphp/Slim-Skeleton?branch=master)
+
+Use this skeleton application to quickly setup and start working on a new Slim Framework 4 application. This application uses the latest Slim 4 with Slim PSR-7 implementation and PHP-DI container implementation. It also uses the Monolog logger.
+
+This skeleton application was built for Composer. This makes setting up a new Slim Framework application quick and easy.
+
+## Install the Application
+
+Run this command from the directory in which you want to install your new Slim Framework application.
+
+```bash
+composer create-project slim/slim-skeleton [my-app-name]
+```
+
+Replace `[my-app-name]` with the desired directory name for your new application. You'll want to:
+
+* Point your virtual host document root to your new application's `public/` directory.
+* Ensure `logs/` is web writable.
+
+To run the application in development, you can run these commands
+
+```bash
+cd [my-app-name]
+composer start
+```
+
+Or you can use `docker-compose` to run the app with `docker`, so you can run these commands:
+```bash
+cd [my-app-name]
+docker-compose up -d
+```
+After that, open `http://localhost:8080` in your browser.
+
+Run this command in the application directory to run the test suite
+
+```bash
+composer test
+```
+
+That's it! Now go build something cool.
diff --git a/tests/Frameworks/Slim/Version_4_8/app/dependencies.php b/tests/Frameworks/Slim/Version_4_8/app/dependencies.php
new file mode 100644
index 0000000000..1ff8d29256
--- /dev/null
+++ b/tests/Frameworks/Slim/Version_4_8/app/dependencies.php
@@ -0,0 +1,28 @@
+addDefinitions([
+ LoggerInterface::class => function (ContainerInterface $c) {
+ $settings = $c->get('settings');
+
+ $loggerSettings = $settings['logger'];
+ $logger = new Logger($loggerSettings['name']);
+
+ $processor = new UidProcessor();
+ $logger->pushProcessor($processor);
+
+ $handler = new StreamHandler($loggerSettings['path'], $loggerSettings['level']);
+ $logger->pushHandler($handler);
+
+ return $logger;
+ },
+ ]);
+};
diff --git a/tests/Frameworks/Slim/Version_4_8/app/middleware.php b/tests/Frameworks/Slim/Version_4_8/app/middleware.php
new file mode 100644
index 0000000000..20c89809f8
--- /dev/null
+++ b/tests/Frameworks/Slim/Version_4_8/app/middleware.php
@@ -0,0 +1,9 @@
+add(SessionMiddleware::class);
+};
diff --git a/tests/Frameworks/Slim/Version_4_8/app/repositories.php b/tests/Frameworks/Slim/Version_4_8/app/repositories.php
new file mode 100644
index 0000000000..62a58f3e20
--- /dev/null
+++ b/tests/Frameworks/Slim/Version_4_8/app/repositories.php
@@ -0,0 +1,13 @@
+addDefinitions([
+ UserRepository::class => \DI\autowire(InMemoryUserRepository::class),
+ ]);
+};
diff --git a/tests/Frameworks/Slim/Version_4_8/app/routes.php b/tests/Frameworks/Slim/Version_4_8/app/routes.php
new file mode 100644
index 0000000000..b45949c556
--- /dev/null
+++ b/tests/Frameworks/Slim/Version_4_8/app/routes.php
@@ -0,0 +1,54 @@
+options('/{routes:.*}', function (Request $request, Response $response) {
+ // CORS Pre-Flight OPTIONS Request Handler
+ return $response;
+ });
+
+ $app->get('/', function (Request $request, Response $response) {
+ $response->getBody()->write('Hello world!');
+ return $response;
+ });
+
+ $app->group('/users', function (Group $group) {
+ $group->get('', ListUsersAction::class);
+ $group->get('/{id}', ViewUserAction::class);
+ });
+
+ $app->get('/simple', function (Request $request, Response $response, $args) {
+ $response->getBody()->write("Simple :)\n");
+ return $response;
+ })->setName('simple-route');
+
+ // Create Twig
+ $twig = Twig::create(__DIR__ . '/../templates');
+
+ // Add Twig-View Middleware
+ $app->add(TwigMiddleware::create($app, $twig));
+
+ $app->get('/simple_view', function (Request $request, Response $response) {
+ $view = Twig::fromRequest($request);
+ return $view->render($response, 'simple_view.phtml');
+ });
+
+ $app->get('/error', function (Request $request, Response $response, $args) {
+ throw new \Exception('Foo error');
+ });
+
+ $app->get('/parameterized/{value}', function (Request $request, Response $response, $args) {
+ $value = $args['value'];
+ $response->getBody()->write("Hello, $value");
+ return $response;
+ });
+};
diff --git a/tests/Frameworks/Slim/Version_4_8/app/settings.php b/tests/Frameworks/Slim/Version_4_8/app/settings.php
new file mode 100644
index 0000000000..9db7ad118c
--- /dev/null
+++ b/tests/Frameworks/Slim/Version_4_8/app/settings.php
@@ -0,0 +1,19 @@
+addDefinitions([
+ 'settings' => [
+ 'displayErrorDetails' => true, // Should be set to false in production
+ 'logger' => [
+ 'name' => 'slim-app',
+ 'path' => isset($_ENV['docker']) ? 'php://stdout' : __DIR__ . '/../logs/app.log',
+ 'level' => Logger::DEBUG,
+ ],
+ ],
+ ]);
+};
diff --git a/tests/Frameworks/Slim/Version_4/composer.json b/tests/Frameworks/Slim/Version_4_8/composer.json
similarity index 97%
rename from tests/Frameworks/Slim/Version_4/composer.json
rename to tests/Frameworks/Slim/Version_4_8/composer.json
index 88421d3a18..1d1b6d365b 100644
--- a/tests/Frameworks/Slim/Version_4/composer.json
+++ b/tests/Frameworks/Slim/Version_4_8/composer.json
@@ -27,7 +27,7 @@
"monolog/monolog": "^2.0",
"php-di/php-di": "^6.1",
"slim/psr7": "^1.1",
- "slim/slim": "^4.5",
+ "slim/slim": "4.8.*",
"slim/twig-view": "^3.0"
},
"config": {
@@ -47,4 +47,4 @@
"scripts": {
"start": "php -S localhost:8080 -t public"
}
-}
+}
\ No newline at end of file
diff --git a/tests/Frameworks/Slim/Version_4_8/docker-compose.yml b/tests/Frameworks/Slim/Version_4_8/docker-compose.yml
new file mode 100644
index 0000000000..434a802463
--- /dev/null
+++ b/tests/Frameworks/Slim/Version_4_8/docker-compose.yml
@@ -0,0 +1,18 @@
+version: '3.7'
+
+volumes:
+ logs:
+ driver: local
+
+services:
+ slim:
+ image: php:7-alpine
+ working_dir: /var/www
+ command: php -S 0.0.0.0:8080 -t public
+ environment:
+ docker: "true"
+ ports:
+ - 8080:8080
+ volumes:
+ - .:/var/www
+ - logs:/var/www/logs
diff --git a/tests/Frameworks/Slim/Version_4_8/logs/README.md b/tests/Frameworks/Slim/Version_4_8/logs/README.md
new file mode 100644
index 0000000000..d4a602efdf
--- /dev/null
+++ b/tests/Frameworks/Slim/Version_4_8/logs/README.md
@@ -0,0 +1 @@
+Your Slim Framework application's log files will be written to this directory.
diff --git a/tests/Frameworks/Slim/Version_4_8/phpunit.xml b/tests/Frameworks/Slim/Version_4_8/phpunit.xml
new file mode 100644
index 0000000000..f830400941
--- /dev/null
+++ b/tests/Frameworks/Slim/Version_4_8/phpunit.xml
@@ -0,0 +1,27 @@
+
+
+
+ ./tests/
+
+
+
+
+ ./src/
+
+
+
diff --git a/tests/Frameworks/Slim/Version_4_8/public/.htaccess b/tests/Frameworks/Slim/Version_4_8/public/.htaccess
new file mode 100644
index 0000000000..f5d1969562
--- /dev/null
+++ b/tests/Frameworks/Slim/Version_4_8/public/.htaccess
@@ -0,0 +1,21 @@
+
+ RewriteEngine On
+
+ # Some hosts may require you to use the `RewriteBase` directive.
+ # Determine the RewriteBase automatically and set it as environment variable.
+ # If you are using Apache aliases to do mass virtual hosting or installed the
+ # project in a subdirectory, the base path will be prepended to allow proper
+ # resolution of the index.php file and to redirect to the correct URI. It will
+ # work in environments without path prefix as well, providing a safe, one-size
+ # fits all solution. But as you do not need it in this case, you can comment
+ # the following 2 lines to eliminate the overhead.
+ RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
+ RewriteRule ^(.*) - [E=BASE:%1]
+
+ # If the above doesn't work you might need to set the `RewriteBase` directive manually, it should be the
+ # absolute physical path to the directory that contains this htaccess file.
+ # RewriteBase /
+
+ RewriteCond %{REQUEST_FILENAME} !-f
+ RewriteRule ^ index.php [QSA,L]
+
diff --git a/tests/Frameworks/Slim/Version_4_8/public/index.php b/tests/Frameworks/Slim/Version_4_8/public/index.php
new file mode 100644
index 0000000000..44f10f25e4
--- /dev/null
+++ b/tests/Frameworks/Slim/Version_4_8/public/index.php
@@ -0,0 +1,75 @@
+enableCompilation(__DIR__ . '/../var/cache');
+}
+
+// Set up settings
+$settings = require __DIR__ . '/../app/settings.php';
+$settings($containerBuilder);
+
+// Set up dependencies
+$dependencies = require __DIR__ . '/../app/dependencies.php';
+$dependencies($containerBuilder);
+
+// Set up repositories
+$repositories = require __DIR__ . '/../app/repositories.php';
+$repositories($containerBuilder);
+
+// Build PHP-DI Container instance
+$container = $containerBuilder->build();
+
+// Instantiate the app
+AppFactory::setContainer($container);
+$app = AppFactory::create();
+$callableResolver = $app->getCallableResolver();
+
+// Register middleware
+$middleware = require __DIR__ . '/../app/middleware.php';
+$middleware($app);
+
+// Register routes
+$routes = require __DIR__ . '/../app/routes.php';
+$routes($app);
+
+/** @var bool $displayErrorDetails */
+$displayErrorDetails = $container->get('settings')['displayErrorDetails'];
+
+// Create Request object from globals
+$serverRequestCreator = ServerRequestCreatorFactory::create();
+$request = $serverRequestCreator->createServerRequestFromGlobals();
+
+// Create Error Handler
+$responseFactory = $app->getResponseFactory();
+$errorHandler = new HttpErrorHandler($callableResolver, $responseFactory);
+
+// Create Shutdown Handler
+$shutdownHandler = new ShutdownHandler($request, $errorHandler, $displayErrorDetails);
+register_shutdown_function($shutdownHandler);
+
+// Add Routing Middleware
+$app->addRoutingMiddleware();
+
+// Add Error Middleware
+$errorMiddleware = $app->addErrorMiddleware($displayErrorDetails, false, false);
+$errorMiddleware->setDefaultErrorHandler($errorHandler);
+
+// Run App & Emit Response
+$response = $app->handle($request);
+$responseEmitter = new ResponseEmitter();
+$responseEmitter->emit($response);
diff --git a/tests/Frameworks/Slim/Version_4_8/public/pathInfo.txt b/tests/Frameworks/Slim/Version_4_8/public/pathInfo.txt
new file mode 100644
index 0000000000..67c14e1657
--- /dev/null
+++ b/tests/Frameworks/Slim/Version_4_8/public/pathInfo.txt
@@ -0,0 +1 @@
+/home/circleci/app/tests
\ No newline at end of file
diff --git a/tests/Frameworks/Slim/Version_4_8/src/Application/Actions/Action.php b/tests/Frameworks/Slim/Version_4_8/src/Application/Actions/Action.php
new file mode 100644
index 0000000000..107d7c45e3
--- /dev/null
+++ b/tests/Frameworks/Slim/Version_4_8/src/Application/Actions/Action.php
@@ -0,0 +1,124 @@
+logger = $logger;
+ }
+
+ /**
+ * @param Request $request
+ * @param Response $response
+ * @param array $args
+ * @return Response
+ * @throws HttpNotFoundException
+ * @throws HttpBadRequestException
+ */
+ public function __invoke(Request $request, Response $response, $args): Response
+ {
+ $this->request = $request;
+ $this->response = $response;
+ $this->args = $args;
+
+ try {
+ return $this->action();
+ } catch (DomainRecordNotFoundException $e) {
+ throw new HttpNotFoundException($this->request, $e->getMessage());
+ }
+ }
+
+ /**
+ * @return Response
+ * @throws DomainRecordNotFoundException
+ * @throws HttpBadRequestException
+ */
+ abstract protected function action(): Response;
+
+ /**
+ * @return array|object
+ * @throws HttpBadRequestException
+ */
+ protected function getFormData()
+ {
+ $input = json_decode(file_get_contents('php://input'));
+
+ if (json_last_error() !== JSON_ERROR_NONE) {
+ throw new HttpBadRequestException($this->request, 'Malformed JSON input.');
+ }
+
+ return $input;
+ }
+
+ /**
+ * @param string $name
+ * @return mixed
+ * @throws HttpBadRequestException
+ */
+ protected function resolveArg(string $name)
+ {
+ if (!isset($this->args[$name])) {
+ throw new HttpBadRequestException($this->request, "Could not resolve argument `{$name}`.");
+ }
+
+ return $this->args[$name];
+ }
+
+ /**
+ * @param array|object|null $data
+ * @return Response
+ */
+ protected function respondWithData($data = null, int $statusCode = 200): Response
+ {
+ $payload = new ActionPayload($statusCode, $data);
+
+ return $this->respond($payload);
+ }
+
+ /**
+ * @param ActionPayload $payload
+ * @return Response
+ */
+ protected function respond(ActionPayload $payload): Response
+ {
+ $json = json_encode($payload, JSON_PRETTY_PRINT);
+ $this->response->getBody()->write($json);
+
+ return $this->response
+ ->withHeader('Content-Type', 'application/json')
+ ->withStatus($payload->getStatusCode());
+ }
+}
diff --git a/tests/Frameworks/Slim/Version_4_8/src/Application/Actions/ActionError.php b/tests/Frameworks/Slim/Version_4_8/src/Application/Actions/ActionError.php
new file mode 100644
index 0000000000..731b4ff943
--- /dev/null
+++ b/tests/Frameworks/Slim/Version_4_8/src/Application/Actions/ActionError.php
@@ -0,0 +1,88 @@
+type = $type;
+ $this->description = $description;
+ }
+
+ /**
+ * @return string
+ */
+ public function getType(): string
+ {
+ return $this->type;
+ }
+
+ /**
+ * @param string $type
+ * @return self
+ */
+ public function setType(string $type): self
+ {
+ $this->type = $type;
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getDescription(): string
+ {
+ return $this->description;
+ }
+
+ /**
+ * @param string|null $description
+ * @return self
+ */
+ public function setDescription(?string $description = null): self
+ {
+ $this->description = $description;
+ return $this;
+ }
+
+ /**
+ * @return array
+ */
+ public function jsonSerialize()
+ {
+ $payload = [
+ 'type' => $this->type,
+ 'description' => $this->description,
+ ];
+
+ return $payload;
+ }
+}
diff --git a/tests/Frameworks/Slim/Version_4_8/src/Application/Actions/ActionPayload.php b/tests/Frameworks/Slim/Version_4_8/src/Application/Actions/ActionPayload.php
new file mode 100644
index 0000000000..a5954e1676
--- /dev/null
+++ b/tests/Frameworks/Slim/Version_4_8/src/Application/Actions/ActionPayload.php
@@ -0,0 +1,81 @@
+statusCode = $statusCode;
+ $this->data = $data;
+ $this->error = $error;
+ }
+
+ /**
+ * @return int
+ */
+ public function getStatusCode(): int
+ {
+ return $this->statusCode;
+ }
+
+ /**
+ * @return array|null|object
+ */
+ public function getData()
+ {
+ return $this->data;
+ }
+
+ /**
+ * @return ActionError|null
+ */
+ public function getError(): ?ActionError
+ {
+ return $this->error;
+ }
+
+ /**
+ * @return array
+ */
+ public function jsonSerialize()
+ {
+ $payload = [
+ 'statusCode' => $this->statusCode,
+ ];
+
+ if ($this->data !== null) {
+ $payload['data'] = $this->data;
+ } elseif ($this->error !== null) {
+ $payload['error'] = $this->error;
+ }
+
+ return $payload;
+ }
+}
diff --git a/tests/Frameworks/Slim/Version_4_8/src/Application/Actions/User/ListUsersAction.php b/tests/Frameworks/Slim/Version_4_8/src/Application/Actions/User/ListUsersAction.php
new file mode 100644
index 0000000000..21b47503f4
--- /dev/null
+++ b/tests/Frameworks/Slim/Version_4_8/src/Application/Actions/User/ListUsersAction.php
@@ -0,0 +1,21 @@
+userRepository->findAll();
+
+ $this->logger->info("Users list was viewed.");
+
+ return $this->respondWithData($users);
+ }
+}
diff --git a/tests/Frameworks/Slim/Version_4_8/src/Application/Actions/User/UserAction.php b/tests/Frameworks/Slim/Version_4_8/src/Application/Actions/User/UserAction.php
new file mode 100644
index 0000000000..45424833ec
--- /dev/null
+++ b/tests/Frameworks/Slim/Version_4_8/src/Application/Actions/User/UserAction.php
@@ -0,0 +1,26 @@
+userRepository = $userRepository;
+ }
+}
diff --git a/tests/Frameworks/Slim/Version_4_8/src/Application/Actions/User/ViewUserAction.php b/tests/Frameworks/Slim/Version_4_8/src/Application/Actions/User/ViewUserAction.php
new file mode 100644
index 0000000000..519d5fa1f7
--- /dev/null
+++ b/tests/Frameworks/Slim/Version_4_8/src/Application/Actions/User/ViewUserAction.php
@@ -0,0 +1,22 @@
+resolveArg('id');
+ $user = $this->userRepository->findUserOfId($userId);
+
+ $this->logger->info("User of id `${userId}` was viewed.");
+
+ return $this->respondWithData($user);
+ }
+}
diff --git a/tests/Frameworks/Slim/Version_4_8/src/Application/Handlers/HttpErrorHandler.php b/tests/Frameworks/Slim/Version_4_8/src/Application/Handlers/HttpErrorHandler.php
new file mode 100644
index 0000000000..34e13e1301
--- /dev/null
+++ b/tests/Frameworks/Slim/Version_4_8/src/Application/Handlers/HttpErrorHandler.php
@@ -0,0 +1,69 @@
+exception;
+ $statusCode = 500;
+ $error = new ActionError(
+ ActionError::SERVER_ERROR,
+ 'An internal error has occurred while processing your request.'
+ );
+
+ if ($exception instanceof HttpException) {
+ $statusCode = $exception->getCode();
+ $error->setDescription($exception->getMessage());
+
+ if ($exception instanceof HttpNotFoundException) {
+ $error->setType(ActionError::RESOURCE_NOT_FOUND);
+ } elseif ($exception instanceof HttpMethodNotAllowedException) {
+ $error->setType(ActionError::NOT_ALLOWED);
+ } elseif ($exception instanceof HttpUnauthorizedException) {
+ $error->setType(ActionError::UNAUTHENTICATED);
+ } elseif ($exception instanceof HttpForbiddenException) {
+ $error->setType(ActionError::INSUFFICIENT_PRIVILEGES);
+ } elseif ($exception instanceof HttpBadRequestException) {
+ $error->setType(ActionError::BAD_REQUEST);
+ } elseif ($exception instanceof HttpNotImplementedException) {
+ $error->setType(ActionError::NOT_IMPLEMENTED);
+ }
+ }
+
+ if (
+ !($exception instanceof HttpException)
+ && ($exception instanceof Exception || $exception instanceof Throwable)
+ && $this->displayErrorDetails
+ ) {
+ $error->setDescription($exception->getMessage());
+ }
+
+ $payload = new ActionPayload($statusCode, null, $error);
+ $encodedPayload = json_encode($payload, JSON_PRETTY_PRINT);
+
+ $response = $this->responseFactory->createResponse($statusCode);
+ $response->getBody()->write($encodedPayload);
+
+ return $response->withHeader('Content-Type', 'application/json');
+ }
+}
diff --git a/tests/Frameworks/Slim/Version_4_8/src/Application/Handlers/ShutdownHandler.php b/tests/Frameworks/Slim/Version_4_8/src/Application/Handlers/ShutdownHandler.php
new file mode 100644
index 0000000000..323f16af14
--- /dev/null
+++ b/tests/Frameworks/Slim/Version_4_8/src/Application/Handlers/ShutdownHandler.php
@@ -0,0 +1,83 @@
+request = $request;
+ $this->errorHandler = $errorHandler;
+ $this->displayErrorDetails = $displayErrorDetails;
+ }
+
+ public function __invoke()
+ {
+ $error = error_get_last();
+ if ($error) {
+ $errorFile = $error['file'];
+ $errorLine = $error['line'];
+ $errorMessage = $error['message'];
+ $errorType = $error['type'];
+ $message = 'An error while processing your request. Please try again later.';
+
+ if ($this->displayErrorDetails) {
+ switch ($errorType) {
+ case E_USER_ERROR:
+ $message = "FATAL ERROR: {$errorMessage}. ";
+ $message .= " on line {$errorLine} in file {$errorFile}.";
+ break;
+
+ case E_USER_WARNING:
+ $message = "WARNING: {$errorMessage}";
+ break;
+
+ case E_USER_NOTICE:
+ $message = "NOTICE: {$errorMessage}";
+ break;
+
+ default:
+ $message = "ERROR: {$errorMessage}";
+ $message .= " on line {$errorLine} in file {$errorFile}.";
+ break;
+ }
+ }
+
+ $exception = new HttpInternalServerErrorException($this->request, $message);
+ $response = $this->errorHandler->__invoke($this->request, $exception, $this->displayErrorDetails, false, false);
+
+ $responseEmitter = new ResponseEmitter();
+ $responseEmitter->emit($response);
+ }
+ }
+}
diff --git a/tests/Frameworks/Slim/Version_4_8/src/Application/Middleware/SessionMiddleware.php b/tests/Frameworks/Slim/Version_4_8/src/Application/Middleware/SessionMiddleware.php
new file mode 100644
index 0000000000..cbfc1d6ed1
--- /dev/null
+++ b/tests/Frameworks/Slim/Version_4_8/src/Application/Middleware/SessionMiddleware.php
@@ -0,0 +1,25 @@
+withAttribute('session', $_SESSION);
+ }
+
+ return $handler->handle($request);
+ }
+}
diff --git a/tests/Frameworks/Slim/Version_4_8/src/Application/ResponseEmitter/ResponseEmitter.php b/tests/Frameworks/Slim/Version_4_8/src/Application/ResponseEmitter/ResponseEmitter.php
new file mode 100644
index 0000000000..cebe4435f7
--- /dev/null
+++ b/tests/Frameworks/Slim/Version_4_8/src/Application/ResponseEmitter/ResponseEmitter.php
@@ -0,0 +1,34 @@
+withHeader('Access-Control-Allow-Credentials', 'true')
+ ->withHeader('Access-Control-Allow-Origin', $origin)
+ ->withHeader('Access-Control-Allow-Headers', 'X-Requested-With, Content-Type, Accept, Origin, Authorization')
+ ->withHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, PATCH, DELETE, OPTIONS')
+ ->withHeader('Cache-Control', 'no-store, no-cache, must-revalidate, max-age=0')
+ ->withAddedHeader('Cache-Control', 'post-check=0, pre-check=0')
+ ->withHeader('Pragma', 'no-cache');
+
+ if (ob_get_contents()) {
+ ob_clean();
+ }
+
+ parent::emit($response);
+ }
+}
diff --git a/tests/Frameworks/Slim/Version_4_8/src/Domain/DomainException/DomainException.php b/tests/Frameworks/Slim/Version_4_8/src/Domain/DomainException/DomainException.php
new file mode 100644
index 0000000000..3ffe5528e1
--- /dev/null
+++ b/tests/Frameworks/Slim/Version_4_8/src/Domain/DomainException/DomainException.php
@@ -0,0 +1,10 @@
+id = $id;
+ $this->username = strtolower($username);
+ $this->firstName = ucfirst($firstName);
+ $this->lastName = ucfirst($lastName);
+ }
+
+ /**
+ * @return int|null
+ */
+ public function getId(): ?int
+ {
+ return $this->id;
+ }
+
+ /**
+ * @return string
+ */
+ public function getUsername(): string
+ {
+ return $this->username;
+ }
+
+ /**
+ * @return string
+ */
+ public function getFirstName(): string
+ {
+ return $this->firstName;
+ }
+
+ /**
+ * @return string
+ */
+ public function getLastName(): string
+ {
+ return $this->lastName;
+ }
+
+ /**
+ * @return array
+ */
+ public function jsonSerialize()
+ {
+ return [
+ 'id' => $this->id,
+ 'username' => $this->username,
+ 'firstName' => $this->firstName,
+ 'lastName' => $this->lastName,
+ ];
+ }
+}
diff --git a/tests/Frameworks/Slim/Version_4_8/src/Domain/User/UserNotFoundException.php b/tests/Frameworks/Slim/Version_4_8/src/Domain/User/UserNotFoundException.php
new file mode 100644
index 0000000000..2080774ab4
--- /dev/null
+++ b/tests/Frameworks/Slim/Version_4_8/src/Domain/User/UserNotFoundException.php
@@ -0,0 +1,11 @@
+users = $users ?? [
+ 1 => new User(1, 'bill.gates', 'Bill', 'Gates'),
+ 2 => new User(2, 'steve.jobs', 'Steve', 'Jobs'),
+ 3 => new User(3, 'mark.zuckerberg', 'Mark', 'Zuckerberg'),
+ 4 => new User(4, 'evan.spiegel', 'Evan', 'Spiegel'),
+ 5 => new User(5, 'jack.dorsey', 'Jack', 'Dorsey'),
+ ];
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function findAll(): array
+ {
+ return array_values($this->users);
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function findUserOfId(int $id): User
+ {
+ if (!isset($this->users[$id])) {
+ throw new UserNotFoundException();
+ }
+
+ return $this->users[$id];
+ }
+}
diff --git a/tests/Frameworks/Slim/Version_4_8/templates/simple_view.phtml b/tests/Frameworks/Slim/Version_4_8/templates/simple_view.phtml
new file mode 100644
index 0000000000..7594a6928d
--- /dev/null
+++ b/tests/Frameworks/Slim/Version_4_8/templates/simple_view.phtml
@@ -0,0 +1,10 @@
+
+
+
+ Simple View Example :: Slim Framework
+
+
+ Simple View
+ Hello.
+
+
diff --git a/tests/Frameworks/Slim/Version_4_8/tests/Application/Actions/ActionTest.php b/tests/Frameworks/Slim/Version_4_8/tests/Application/Actions/ActionTest.php
new file mode 100644
index 0000000000..69d41d2204
--- /dev/null
+++ b/tests/Frameworks/Slim/Version_4_8/tests/Application/Actions/ActionTest.php
@@ -0,0 +1,78 @@
+getAppInstance();
+ $container = $app->getContainer();
+ $logger = $container->get(LoggerInterface::class);
+
+ $testAction = new class($logger) extends Action {
+ public function __construct(
+ LoggerInterface $loggerInterface
+ ) {
+ parent::__construct($loggerInterface);
+ }
+
+ public function action() :Response
+ {
+ return $this->respond(
+ new ActionPayload(
+ 202,
+ [
+ 'willBeDoneAt' => (new DateTimeImmutable())->format(DateTimeImmutable::ATOM)
+ ]
+ )
+ );
+ }
+ };
+
+ $app->get('/test-action-response-code', $testAction);
+ $request = $this->createRequest('GET', '/test-action-response-code');
+ $response = $app->handle($request);
+
+ $this->assertEquals(202, $response->getStatusCode());
+ }
+
+ public function testActionSetsHttpCodeRespondData()
+ {
+ $app = $this->getAppInstance();
+ $container = $app->getContainer();
+ $logger = $container->get(LoggerInterface::class);
+
+ $testAction = new class($logger) extends Action {
+ public function __construct(
+ LoggerInterface $loggerInterface
+ ) {
+ parent::__construct($loggerInterface);
+ }
+
+ public function action() :Response
+ {
+ return $this->respondWithData(
+ [
+ 'willBeDoneAt' => (new DateTimeImmutable())->format(DateTimeImmutable::ATOM)
+ ],
+ 202
+ );
+ }
+ };
+
+ $app->get('/test-action-response-code', $testAction);
+ $request = $this->createRequest('GET', '/test-action-response-code');
+ $response = $app->handle($request);
+
+ $this->assertEquals(202, $response->getStatusCode());
+ }
+}
diff --git a/tests/Frameworks/Slim/Version_4_8/tests/Application/Actions/User/ListUserActionTest.php b/tests/Frameworks/Slim/Version_4_8/tests/Application/Actions/User/ListUserActionTest.php
new file mode 100644
index 0000000000..f2d79c8a9f
--- /dev/null
+++ b/tests/Frameworks/Slim/Version_4_8/tests/Application/Actions/User/ListUserActionTest.php
@@ -0,0 +1,40 @@
+getAppInstance();
+
+ /** @var Container $container */
+ $container = $app->getContainer();
+
+ $user = new User(1, 'bill.gates', 'Bill', 'Gates');
+
+ $userRepositoryProphecy = $this->prophesize(UserRepository::class);
+ $userRepositoryProphecy
+ ->findAll()
+ ->willReturn([$user])
+ ->shouldBeCalledOnce();
+
+ $container->set(UserRepository::class, $userRepositoryProphecy->reveal());
+
+ $request = $this->createRequest('GET', '/users');
+ $response = $app->handle($request);
+
+ $payload = (string) $response->getBody();
+ $expectedPayload = new ActionPayload(200, [$user]);
+ $serializedPayload = json_encode($expectedPayload, JSON_PRETTY_PRINT);
+
+ $this->assertEquals($serializedPayload, $payload);
+ }
+}
diff --git a/tests/Frameworks/Slim/Version_4_8/tests/Application/Actions/User/ViewUserActionTest.php b/tests/Frameworks/Slim/Version_4_8/tests/Application/Actions/User/ViewUserActionTest.php
new file mode 100644
index 0000000000..0b30cbc342
--- /dev/null
+++ b/tests/Frameworks/Slim/Version_4_8/tests/Application/Actions/User/ViewUserActionTest.php
@@ -0,0 +1,79 @@
+getAppInstance();
+
+ /** @var Container $container */
+ $container = $app->getContainer();
+
+ $user = new User(1, 'bill.gates', 'Bill', 'Gates');
+
+ $userRepositoryProphecy = $this->prophesize(UserRepository::class);
+ $userRepositoryProphecy
+ ->findUserOfId(1)
+ ->willReturn($user)
+ ->shouldBeCalledOnce();
+
+ $container->set(UserRepository::class, $userRepositoryProphecy->reveal());
+
+ $request = $this->createRequest('GET', '/users/1');
+ $response = $app->handle($request);
+
+ $payload = (string) $response->getBody();
+ $expectedPayload = new ActionPayload(200, $user);
+ $serializedPayload = json_encode($expectedPayload, JSON_PRETTY_PRINT);
+
+ $this->assertEquals($serializedPayload, $payload);
+ }
+
+ public function testActionThrowsUserNotFoundException()
+ {
+ $app = $this->getAppInstance();
+
+ $callableResolver = $app->getCallableResolver();
+ $responseFactory = $app->getResponseFactory();
+
+ $errorHandler = new HttpErrorHandler($callableResolver, $responseFactory);
+ $errorMiddleware = new ErrorMiddleware($callableResolver, $responseFactory, true, false ,false);
+ $errorMiddleware->setDefaultErrorHandler($errorHandler);
+
+ $app->add($errorMiddleware);
+
+ /** @var Container $container */
+ $container = $app->getContainer();
+
+ $userRepositoryProphecy = $this->prophesize(UserRepository::class);
+ $userRepositoryProphecy
+ ->findUserOfId(1)
+ ->willThrow(new UserNotFoundException())
+ ->shouldBeCalledOnce();
+
+ $container->set(UserRepository::class, $userRepositoryProphecy->reveal());
+
+ $request = $this->createRequest('GET', '/users/1');
+ $response = $app->handle($request);
+
+ $payload = (string) $response->getBody();
+ $expectedError = new ActionError(ActionError::RESOURCE_NOT_FOUND, 'The user you requested does not exist.');
+ $expectedPayload = new ActionPayload(404, null, $expectedError);
+ $serializedPayload = json_encode($expectedPayload, JSON_PRETTY_PRINT);
+
+ $this->assertEquals($serializedPayload, $payload);
+ }
+}
diff --git a/tests/Frameworks/Slim/Version_4_8/tests/Domain/User/UserTest.php b/tests/Frameworks/Slim/Version_4_8/tests/Domain/User/UserTest.php
new file mode 100644
index 0000000000..74cfb7b1cf
--- /dev/null
+++ b/tests/Frameworks/Slim/Version_4_8/tests/Domain/User/UserTest.php
@@ -0,0 +1,59 @@
+assertEquals($id, $user->getId());
+ $this->assertEquals($username, $user->getUsername());
+ $this->assertEquals($firstName, $user->getFirstName());
+ $this->assertEquals($lastName, $user->getLastName());
+ }
+
+ /**
+ * @dataProvider userProvider
+ * @param $id
+ * @param $username
+ * @param $firstName
+ * @param $lastName
+ */
+ public function testJsonSerialize($id, $username, $firstName, $lastName)
+ {
+ $user = new User($id, $username, $firstName, $lastName);
+
+ $expectedPayload = json_encode([
+ 'id' => $id,
+ 'username' => $username,
+ 'firstName' => $firstName,
+ 'lastName' => $lastName,
+ ]);
+
+ $this->assertEquals($expectedPayload, json_encode($user));
+ }
+}
diff --git a/tests/Frameworks/Slim/Version_4_8/tests/Infrastructure/Persistence/User/InMemoryUserRepositoryTest.php b/tests/Frameworks/Slim/Version_4_8/tests/Infrastructure/Persistence/User/InMemoryUserRepositoryTest.php
new file mode 100644
index 0000000000..f82af6d4d9
--- /dev/null
+++ b/tests/Frameworks/Slim/Version_4_8/tests/Infrastructure/Persistence/User/InMemoryUserRepositoryTest.php
@@ -0,0 +1,52 @@
+ $user]);
+
+ $this->assertEquals([$user], $userRepository->findAll());
+ }
+
+ public function testFindAllUsersByDefault()
+ {
+ $users = [
+ 1 => new User(1, 'bill.gates', 'Bill', 'Gates'),
+ 2 => new User(2, 'steve.jobs', 'Steve', 'Jobs'),
+ 3 => new User(3, 'mark.zuckerberg', 'Mark', 'Zuckerberg'),
+ 4 => new User(4, 'evan.spiegel', 'Evan', 'Spiegel'),
+ 5 => new User(5, 'jack.dorsey', 'Jack', 'Dorsey'),
+ ];
+
+ $userRepository = new InMemoryUserRepository();
+
+ $this->assertEquals(array_values($users), $userRepository->findAll());
+ }
+
+ public function testFindUserOfId()
+ {
+ $user = new User(1, 'bill.gates', 'Bill', 'Gates');
+
+ $userRepository = new InMemoryUserRepository([1 => $user]);
+
+ $this->assertEquals($user, $userRepository->findUserOfId(1));
+ }
+
+ public function testFindUserOfIdThrowsNotFoundException()
+ {
+ $userRepository = new InMemoryUserRepository([]);
+ $this->expectException(UserNotFoundException::class);
+ $userRepository->findUserOfId(1);
+ }
+}
diff --git a/tests/Frameworks/Slim/Version_4_8/tests/TestCase.php b/tests/Frameworks/Slim/Version_4_8/tests/TestCase.php
new file mode 100644
index 0000000000..f677b3a620
--- /dev/null
+++ b/tests/Frameworks/Slim/Version_4_8/tests/TestCase.php
@@ -0,0 +1,86 @@
+build();
+
+ // Instantiate the app
+ AppFactory::setContainer($container);
+ $app = AppFactory::create();
+
+ // Register middleware
+ $middleware = require __DIR__ . '/../app/middleware.php';
+ $middleware($app);
+
+ // Register routes
+ $routes = require __DIR__ . '/../app/routes.php';
+ $routes($app);
+
+ return $app;
+ }
+
+ /**
+ * @param string $method
+ * @param string $path
+ * @param array $headers
+ * @param array $cookies
+ * @param array $serverParams
+ * @return Request
+ */
+ protected function createRequest(
+ string $method,
+ string $path,
+ array $headers = ['HTTP_ACCEPT' => 'application/json'],
+ array $cookies = [],
+ array $serverParams = []
+ ): Request {
+ $uri = new Uri('', '', 80, $path);
+ $handle = fopen('php://temp', 'w+');
+ $stream = (new StreamFactory())->createStreamFromResource($handle);
+
+ $h = new Headers();
+ foreach ($headers as $name => $value) {
+ $h->addHeader($name, $value);
+ }
+
+ return new SlimRequest($method, $uri, $h, $cookies, $serverParams, $stream);
+ }
+}
diff --git a/tests/Frameworks/Slim/Version_4_8/tests/bootstrap.php b/tests/Frameworks/Slim/Version_4_8/tests/bootstrap.php
new file mode 100644
index 0000000000..3de1bcda3b
--- /dev/null
+++ b/tests/Frameworks/Slim/Version_4_8/tests/bootstrap.php
@@ -0,0 +1,3 @@
+verifyEmailHelper->generateSignature(
+ $verifyEmailRouteName,
+ $user->getId(),
+ $user->getEmail()
+ );
+
+ $context = $email->getContext();
+ $context['signedUrl'] = $signatureComponents->getSignedUrl();
+ $context['expiresAtMessageKey'] = $signatureComponents->getExpirationMessageKey();
+ $context['expiresAtMessageData'] = $signatureComponents->getExpirationMessageData();
+
+ $email->context($context);
+
+ $this->mailer->send($email);
+ }
+
+ /**
+ * @throws VerifyEmailExceptionInterface
+ */
+ public function handleEmailConfirmation(Request $request, UserInterface $user): void
+ {
+ $this->verifyEmailHelper->validateEmailConfirmation($request->getUri(), $user->getId(), $user->getEmail());
+
+ $user->setIsVerified(true);
+
+ $this->entityManager->persist($user);
+ $this->entityManager->flush();
+ }
+}
diff --git a/tests/Frameworks/Symfony/Version_7_0/templates/base.html.twig b/tests/Frameworks/Symfony/Latest/templates/base.html.twig
similarity index 100%
rename from tests/Frameworks/Symfony/Version_7_0/templates/base.html.twig
rename to tests/Frameworks/Symfony/Latest/templates/base.html.twig
diff --git a/tests/Frameworks/Symfony/Version_7_0/templates/login/index.html.twig b/tests/Frameworks/Symfony/Latest/templates/login/index.html.twig
similarity index 100%
rename from tests/Frameworks/Symfony/Version_7_0/templates/login/index.html.twig
rename to tests/Frameworks/Symfony/Latest/templates/login/index.html.twig
diff --git a/tests/Frameworks/Symfony/Version_7_0/templates/registration/register.html.twig b/tests/Frameworks/Symfony/Latest/templates/registration/register.html.twig
similarity index 100%
rename from tests/Frameworks/Symfony/Version_7_0/templates/registration/register.html.twig
rename to tests/Frameworks/Symfony/Latest/templates/registration/register.html.twig
diff --git a/tests/Frameworks/Symfony/Version_7_0/templates/twig_template.html.twig b/tests/Frameworks/Symfony/Latest/templates/twig_template.html.twig
similarity index 100%
rename from tests/Frameworks/Symfony/Version_7_0/templates/twig_template.html.twig
rename to tests/Frameworks/Symfony/Latest/templates/twig_template.html.twig
diff --git a/tests/Frameworks/Symfony/Version_7_0/migrations/.gitignore b/tests/Frameworks/Symfony/Version_7_0/migrations/.gitignore
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/tests/Frameworks/Symfony/Version_7_0/src/Controller/.gitignore b/tests/Frameworks/Symfony/Version_7_0/src/Controller/.gitignore
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/tests/Frameworks/Symfony/Version_7_0/src/Entity/.gitignore b/tests/Frameworks/Symfony/Version_7_0/src/Entity/.gitignore
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/tests/Frameworks/Symfony/Version_7_0/src/Repository/.gitignore b/tests/Frameworks/Symfony/Version_7_0/src/Repository/.gitignore
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/tests/Frameworks/Yii/Version_2_0/.bowerrc b/tests/Frameworks/Yii/Latest/.bowerrc
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/.bowerrc
rename to tests/Frameworks/Yii/Latest/.bowerrc
diff --git a/tests/Frameworks/Yii/Version_2_0/.gitignore b/tests/Frameworks/Yii/Latest/.gitignore
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/.gitignore
rename to tests/Frameworks/Yii/Latest/.gitignore
diff --git a/tests/Frameworks/Yii/Version_2_0/LICENSE.md b/tests/Frameworks/Yii/Latest/LICENSE.md
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/LICENSE.md
rename to tests/Frameworks/Yii/Latest/LICENSE.md
diff --git a/tests/Frameworks/Yii/Version_2_0/README.md b/tests/Frameworks/Yii/Latest/README.md
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/README.md
rename to tests/Frameworks/Yii/Latest/README.md
diff --git a/tests/Frameworks/Yii/Version_2_0/Vagrantfile b/tests/Frameworks/Yii/Latest/Vagrantfile
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/Vagrantfile
rename to tests/Frameworks/Yii/Latest/Vagrantfile
diff --git a/tests/Frameworks/Yii/Version_2_0/assets/AppAsset.php b/tests/Frameworks/Yii/Latest/assets/AppAsset.php
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/assets/AppAsset.php
rename to tests/Frameworks/Yii/Latest/assets/AppAsset.php
diff --git a/tests/Frameworks/Yii/Version_2_0/codeception.yml b/tests/Frameworks/Yii/Latest/codeception.yml
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/codeception.yml
rename to tests/Frameworks/Yii/Latest/codeception.yml
diff --git a/tests/Frameworks/Yii/Version_2_0/commands/HelloController.php b/tests/Frameworks/Yii/Latest/commands/HelloController.php
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/commands/HelloController.php
rename to tests/Frameworks/Yii/Latest/commands/HelloController.php
diff --git a/tests/Frameworks/Yii/Version_2_0/composer.json b/tests/Frameworks/Yii/Latest/composer.json
similarity index 92%
rename from tests/Frameworks/Yii/Version_2_0/composer.json
rename to tests/Frameworks/Yii/Latest/composer.json
index 22c9cca3d2..615d0eb576 100644
--- a/tests/Frameworks/Yii/Version_2_0/composer.json
+++ b/tests/Frameworks/Yii/Latest/composer.json
@@ -1,7 +1,12 @@
{
"name": "yiisoft/yii2-app-basic",
"description": "Yii 2 Basic Project Template",
- "keywords": ["yii2", "framework", "basic", "project template"],
+ "keywords": [
+ "yii2",
+ "framework",
+ "basic",
+ "project template"
+ ],
"homepage": "http://www.yiiframework.com/",
"type": "project",
"license": "BSD-3-Clause",
@@ -15,7 +20,7 @@
"minimum-stability": "stable",
"require": {
"php": ">=5.4.0",
- "yiisoft/yii2": "~2.0.14",
+ "yiisoft/yii2": "2.0.51",
"yiisoft/yii2-bootstrap": "~2.0.0",
"yiisoft/yii2-swiftmailer": "~2.0.0 || ~2.1.0"
},
@@ -64,4 +69,4 @@
"url": "https://asset-packagist.org"
}
]
-}
+}
\ No newline at end of file
diff --git a/tests/Frameworks/Yii/Version_2_0/config/console.php b/tests/Frameworks/Yii/Latest/config/console.php
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/config/console.php
rename to tests/Frameworks/Yii/Latest/config/console.php
diff --git a/tests/Frameworks/Yii/Version_2_0/config/db.php b/tests/Frameworks/Yii/Latest/config/db.php
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/config/db.php
rename to tests/Frameworks/Yii/Latest/config/db.php
diff --git a/tests/Frameworks/Yii/Version_2_0/config/params.php b/tests/Frameworks/Yii/Latest/config/params.php
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/config/params.php
rename to tests/Frameworks/Yii/Latest/config/params.php
diff --git a/tests/Frameworks/Yii/Version_2_0/config/test.php b/tests/Frameworks/Yii/Latest/config/test.php
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/config/test.php
rename to tests/Frameworks/Yii/Latest/config/test.php
diff --git a/tests/Frameworks/Yii/Version_2_0/config/test_db.php b/tests/Frameworks/Yii/Latest/config/test_db.php
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/config/test_db.php
rename to tests/Frameworks/Yii/Latest/config/test_db.php
diff --git a/tests/Frameworks/Yii/Version_2_0/config/web.php b/tests/Frameworks/Yii/Latest/config/web.php
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/config/web.php
rename to tests/Frameworks/Yii/Latest/config/web.php
diff --git a/tests/Frameworks/Yii/Version_2_0/controllers/HomesController.php b/tests/Frameworks/Yii/Latest/controllers/HomesController.php
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/controllers/HomesController.php
rename to tests/Frameworks/Yii/Latest/controllers/HomesController.php
diff --git a/tests/Frameworks/Yii/Version_2_0/controllers/SimpleController.php b/tests/Frameworks/Yii/Latest/controllers/SimpleController.php
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/controllers/SimpleController.php
rename to tests/Frameworks/Yii/Latest/controllers/SimpleController.php
diff --git a/tests/Frameworks/Yii/Version_2_0/controllers/SiteController.php b/tests/Frameworks/Yii/Latest/controllers/SiteController.php
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/controllers/SiteController.php
rename to tests/Frameworks/Yii/Latest/controllers/SiteController.php
diff --git a/tests/Frameworks/Yii/Version_2_0/docker-compose.yml b/tests/Frameworks/Yii/Latest/docker-compose.yml
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/docker-compose.yml
rename to tests/Frameworks/Yii/Latest/docker-compose.yml
diff --git a/tests/Frameworks/Yii/Version_2_0/mail/layouts/html.php b/tests/Frameworks/Yii/Latest/mail/layouts/html.php
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/mail/layouts/html.php
rename to tests/Frameworks/Yii/Latest/mail/layouts/html.php
diff --git a/tests/Frameworks/Yii/Version_2_0/models/ContactForm.php b/tests/Frameworks/Yii/Latest/models/ContactForm.php
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/models/ContactForm.php
rename to tests/Frameworks/Yii/Latest/models/ContactForm.php
diff --git a/tests/Frameworks/Yii/Version_2_0/models/LoginForm.php b/tests/Frameworks/Yii/Latest/models/LoginForm.php
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/models/LoginForm.php
rename to tests/Frameworks/Yii/Latest/models/LoginForm.php
diff --git a/tests/Frameworks/Yii/Version_2_0/models/User.php b/tests/Frameworks/Yii/Latest/models/User.php
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/models/User.php
rename to tests/Frameworks/Yii/Latest/models/User.php
diff --git a/tests/Frameworks/Yii/Version_2_0/modules/forum/Module.php b/tests/Frameworks/Yii/Latest/modules/forum/Module.php
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/modules/forum/Module.php
rename to tests/Frameworks/Yii/Latest/modules/forum/Module.php
diff --git a/tests/Frameworks/Yii/Version_2_0/modules/forum/controllers/ModuleController.php b/tests/Frameworks/Yii/Latest/modules/forum/controllers/ModuleController.php
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/modules/forum/controllers/ModuleController.php
rename to tests/Frameworks/Yii/Latest/modules/forum/controllers/ModuleController.php
diff --git a/tests/Frameworks/Yii/Version_2_0/requirements.php b/tests/Frameworks/Yii/Latest/requirements.php
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/requirements.php
rename to tests/Frameworks/Yii/Latest/requirements.php
diff --git a/tests/Frameworks/Yii/Version_2_0/runtime/.gitignore b/tests/Frameworks/Yii/Latest/runtime/.gitignore
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/runtime/.gitignore
rename to tests/Frameworks/Yii/Latest/runtime/.gitignore
diff --git a/tests/Frameworks/Yii/Version_2_0/tests/_bootstrap.php b/tests/Frameworks/Yii/Latest/tests/_bootstrap.php
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/tests/_bootstrap.php
rename to tests/Frameworks/Yii/Latest/tests/_bootstrap.php
diff --git a/tests/Frameworks/Yii/Version_2_0/tests/_data/.gitkeep b/tests/Frameworks/Yii/Latest/tests/_data/.gitkeep
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/tests/_data/.gitkeep
rename to tests/Frameworks/Yii/Latest/tests/_data/.gitkeep
diff --git a/tests/Frameworks/Yii/Version_2_0/tests/_output/.gitignore b/tests/Frameworks/Yii/Latest/tests/_output/.gitignore
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/tests/_output/.gitignore
rename to tests/Frameworks/Yii/Latest/tests/_output/.gitignore
diff --git a/tests/Frameworks/Yii/Version_2_0/tests/_support/AcceptanceTester.php b/tests/Frameworks/Yii/Latest/tests/_support/AcceptanceTester.php
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/tests/_support/AcceptanceTester.php
rename to tests/Frameworks/Yii/Latest/tests/_support/AcceptanceTester.php
diff --git a/tests/Frameworks/Yii/Version_2_0/tests/_support/FunctionalTester.php b/tests/Frameworks/Yii/Latest/tests/_support/FunctionalTester.php
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/tests/_support/FunctionalTester.php
rename to tests/Frameworks/Yii/Latest/tests/_support/FunctionalTester.php
diff --git a/tests/Frameworks/Yii/Version_2_0/tests/_support/UnitTester.php b/tests/Frameworks/Yii/Latest/tests/_support/UnitTester.php
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/tests/_support/UnitTester.php
rename to tests/Frameworks/Yii/Latest/tests/_support/UnitTester.php
diff --git a/tests/Frameworks/Yii/Version_2_0/tests/acceptance.suite.yml.example b/tests/Frameworks/Yii/Latest/tests/acceptance.suite.yml.example
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/tests/acceptance.suite.yml.example
rename to tests/Frameworks/Yii/Latest/tests/acceptance.suite.yml.example
diff --git a/tests/Frameworks/Yii/Version_2_0/tests/acceptance/AboutCest.php b/tests/Frameworks/Yii/Latest/tests/acceptance/AboutCest.php
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/tests/acceptance/AboutCest.php
rename to tests/Frameworks/Yii/Latest/tests/acceptance/AboutCest.php
diff --git a/tests/Frameworks/Yii/Version_2_0/tests/acceptance/ContactCest.php b/tests/Frameworks/Yii/Latest/tests/acceptance/ContactCest.php
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/tests/acceptance/ContactCest.php
rename to tests/Frameworks/Yii/Latest/tests/acceptance/ContactCest.php
diff --git a/tests/Frameworks/Yii/Version_2_0/tests/acceptance/HomeCest.php b/tests/Frameworks/Yii/Latest/tests/acceptance/HomeCest.php
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/tests/acceptance/HomeCest.php
rename to tests/Frameworks/Yii/Latest/tests/acceptance/HomeCest.php
diff --git a/tests/Frameworks/Yii/Version_2_0/tests/acceptance/LoginCest.php b/tests/Frameworks/Yii/Latest/tests/acceptance/LoginCest.php
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/tests/acceptance/LoginCest.php
rename to tests/Frameworks/Yii/Latest/tests/acceptance/LoginCest.php
diff --git a/tests/Frameworks/Yii/Version_2_0/tests/acceptance/_bootstrap.php b/tests/Frameworks/Yii/Latest/tests/acceptance/_bootstrap.php
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/tests/acceptance/_bootstrap.php
rename to tests/Frameworks/Yii/Latest/tests/acceptance/_bootstrap.php
diff --git a/tests/Frameworks/Yii/Version_2_0/tests/bin/yii b/tests/Frameworks/Yii/Latest/tests/bin/yii
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/tests/bin/yii
rename to tests/Frameworks/Yii/Latest/tests/bin/yii
diff --git a/tests/Frameworks/Yii/Version_2_0/tests/bin/yii.bat b/tests/Frameworks/Yii/Latest/tests/bin/yii.bat
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/tests/bin/yii.bat
rename to tests/Frameworks/Yii/Latest/tests/bin/yii.bat
diff --git a/tests/Frameworks/Yii/Version_2_0/tests/functional.suite.yml b/tests/Frameworks/Yii/Latest/tests/functional.suite.yml
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/tests/functional.suite.yml
rename to tests/Frameworks/Yii/Latest/tests/functional.suite.yml
diff --git a/tests/Frameworks/Yii/Version_2_0/tests/functional/ContactFormCest.php b/tests/Frameworks/Yii/Latest/tests/functional/ContactFormCest.php
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/tests/functional/ContactFormCest.php
rename to tests/Frameworks/Yii/Latest/tests/functional/ContactFormCest.php
diff --git a/tests/Frameworks/Yii/Version_2_0/tests/functional/LoginFormCest.php b/tests/Frameworks/Yii/Latest/tests/functional/LoginFormCest.php
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/tests/functional/LoginFormCest.php
rename to tests/Frameworks/Yii/Latest/tests/functional/LoginFormCest.php
diff --git a/tests/Frameworks/Yii/Version_2_0/tests/functional/_bootstrap.php b/tests/Frameworks/Yii/Latest/tests/functional/_bootstrap.php
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/tests/functional/_bootstrap.php
rename to tests/Frameworks/Yii/Latest/tests/functional/_bootstrap.php
diff --git a/tests/Frameworks/Yii/Version_2_0/tests/unit.suite.yml b/tests/Frameworks/Yii/Latest/tests/unit.suite.yml
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/tests/unit.suite.yml
rename to tests/Frameworks/Yii/Latest/tests/unit.suite.yml
diff --git a/tests/Frameworks/Yii/Version_2_0/tests/unit/_bootstrap.php b/tests/Frameworks/Yii/Latest/tests/unit/_bootstrap.php
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/tests/unit/_bootstrap.php
rename to tests/Frameworks/Yii/Latest/tests/unit/_bootstrap.php
diff --git a/tests/Frameworks/Yii/Version_2_0/tests/unit/models/ContactFormTest.php b/tests/Frameworks/Yii/Latest/tests/unit/models/ContactFormTest.php
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/tests/unit/models/ContactFormTest.php
rename to tests/Frameworks/Yii/Latest/tests/unit/models/ContactFormTest.php
diff --git a/tests/Frameworks/Yii/Version_2_0/tests/unit/models/LoginFormTest.php b/tests/Frameworks/Yii/Latest/tests/unit/models/LoginFormTest.php
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/tests/unit/models/LoginFormTest.php
rename to tests/Frameworks/Yii/Latest/tests/unit/models/LoginFormTest.php
diff --git a/tests/Frameworks/Yii/Version_2_0/tests/unit/models/UserTest.php b/tests/Frameworks/Yii/Latest/tests/unit/models/UserTest.php
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/tests/unit/models/UserTest.php
rename to tests/Frameworks/Yii/Latest/tests/unit/models/UserTest.php
diff --git a/tests/Frameworks/Yii/Version_2_0/vagrant/config/.gitignore b/tests/Frameworks/Yii/Latest/vagrant/config/.gitignore
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/vagrant/config/.gitignore
rename to tests/Frameworks/Yii/Latest/vagrant/config/.gitignore
diff --git a/tests/Frameworks/Yii/Version_2_0/vagrant/config/vagrant-local.example.yml b/tests/Frameworks/Yii/Latest/vagrant/config/vagrant-local.example.yml
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/vagrant/config/vagrant-local.example.yml
rename to tests/Frameworks/Yii/Latest/vagrant/config/vagrant-local.example.yml
diff --git a/tests/Frameworks/Yii/Version_2_0/vagrant/nginx/app.conf b/tests/Frameworks/Yii/Latest/vagrant/nginx/app.conf
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/vagrant/nginx/app.conf
rename to tests/Frameworks/Yii/Latest/vagrant/nginx/app.conf
diff --git a/tests/Frameworks/Yii/Version_2_0/vagrant/nginx/log/.gitignore b/tests/Frameworks/Yii/Latest/vagrant/nginx/log/.gitignore
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/vagrant/nginx/log/.gitignore
rename to tests/Frameworks/Yii/Latest/vagrant/nginx/log/.gitignore
diff --git a/tests/Frameworks/Yii/Version_2_0/vagrant/provision/always-as-root.sh b/tests/Frameworks/Yii/Latest/vagrant/provision/always-as-root.sh
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/vagrant/provision/always-as-root.sh
rename to tests/Frameworks/Yii/Latest/vagrant/provision/always-as-root.sh
diff --git a/tests/Frameworks/Yii/Version_2_0/vagrant/provision/once-as-root.sh b/tests/Frameworks/Yii/Latest/vagrant/provision/once-as-root.sh
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/vagrant/provision/once-as-root.sh
rename to tests/Frameworks/Yii/Latest/vagrant/provision/once-as-root.sh
diff --git a/tests/Frameworks/Yii/Version_2_0/vagrant/provision/once-as-vagrant.sh b/tests/Frameworks/Yii/Latest/vagrant/provision/once-as-vagrant.sh
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/vagrant/provision/once-as-vagrant.sh
rename to tests/Frameworks/Yii/Latest/vagrant/provision/once-as-vagrant.sh
diff --git a/tests/Frameworks/Yii/Version_2_0/views/layouts/main.php b/tests/Frameworks/Yii/Latest/views/layouts/main.php
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/views/layouts/main.php
rename to tests/Frameworks/Yii/Latest/views/layouts/main.php
diff --git a/tests/Frameworks/Yii/Version_2_0/views/simple/index.php b/tests/Frameworks/Yii/Latest/views/simple/index.php
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/views/simple/index.php
rename to tests/Frameworks/Yii/Latest/views/simple/index.php
diff --git a/tests/Frameworks/Yii/Version_2_0/views/site/about.php b/tests/Frameworks/Yii/Latest/views/site/about.php
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/views/site/about.php
rename to tests/Frameworks/Yii/Latest/views/site/about.php
diff --git a/tests/Frameworks/Yii/Version_2_0/views/site/contact.php b/tests/Frameworks/Yii/Latest/views/site/contact.php
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/views/site/contact.php
rename to tests/Frameworks/Yii/Latest/views/site/contact.php
diff --git a/tests/Frameworks/Yii/Version_2_0/views/site/error.php b/tests/Frameworks/Yii/Latest/views/site/error.php
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/views/site/error.php
rename to tests/Frameworks/Yii/Latest/views/site/error.php
diff --git a/tests/Frameworks/Yii/Version_2_0/views/site/index.php b/tests/Frameworks/Yii/Latest/views/site/index.php
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/views/site/index.php
rename to tests/Frameworks/Yii/Latest/views/site/index.php
diff --git a/tests/Frameworks/Yii/Version_2_0/views/site/login.php b/tests/Frameworks/Yii/Latest/views/site/login.php
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/views/site/login.php
rename to tests/Frameworks/Yii/Latest/views/site/login.php
diff --git a/tests/Frameworks/Yii/Version_2_0/web/.htaccess b/tests/Frameworks/Yii/Latest/web/.htaccess
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/web/.htaccess
rename to tests/Frameworks/Yii/Latest/web/.htaccess
diff --git a/tests/Frameworks/Yii/Latest/web/assets/.gitignore b/tests/Frameworks/Yii/Latest/web/assets/.gitignore
new file mode 100644
index 0000000000..d6b7ef32c8
--- /dev/null
+++ b/tests/Frameworks/Yii/Latest/web/assets/.gitignore
@@ -0,0 +1,2 @@
+*
+!.gitignore
diff --git a/tests/Frameworks/Yii/Version_2_0/web/css/site.css b/tests/Frameworks/Yii/Latest/web/css/site.css
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/web/css/site.css
rename to tests/Frameworks/Yii/Latest/web/css/site.css
diff --git a/tests/Frameworks/Yii/Version_2_0/web/favicon.ico b/tests/Frameworks/Yii/Latest/web/favicon.ico
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/web/favicon.ico
rename to tests/Frameworks/Yii/Latest/web/favicon.ico
diff --git a/tests/Frameworks/Yii/Version_2_0/web/index-test.php b/tests/Frameworks/Yii/Latest/web/index-test.php
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/web/index-test.php
rename to tests/Frameworks/Yii/Latest/web/index-test.php
diff --git a/tests/Frameworks/Yii/Version_2_0/web/index.php b/tests/Frameworks/Yii/Latest/web/index.php
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/web/index.php
rename to tests/Frameworks/Yii/Latest/web/index.php
diff --git a/tests/Frameworks/Yii/Version_2_0/web/robots.txt b/tests/Frameworks/Yii/Latest/web/robots.txt
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/web/robots.txt
rename to tests/Frameworks/Yii/Latest/web/robots.txt
diff --git a/tests/Frameworks/Yii/Version_2_0/widgets/Alert.php b/tests/Frameworks/Yii/Latest/widgets/Alert.php
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/widgets/Alert.php
rename to tests/Frameworks/Yii/Latest/widgets/Alert.php
diff --git a/tests/Frameworks/Yii/Version_2_0/yii b/tests/Frameworks/Yii/Latest/yii
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/yii
rename to tests/Frameworks/Yii/Latest/yii
diff --git a/tests/Frameworks/Yii/Version_2_0/yii.bat b/tests/Frameworks/Yii/Latest/yii.bat
similarity index 100%
rename from tests/Frameworks/Yii/Version_2_0/yii.bat
rename to tests/Frameworks/Yii/Latest/yii.bat
diff --git a/tests/Frameworks/Yii/Version_2_0_49/.bowerrc b/tests/Frameworks/Yii/Version_2_0_49/.bowerrc
new file mode 100644
index 0000000000..a39b5b0fbc
--- /dev/null
+++ b/tests/Frameworks/Yii/Version_2_0_49/.bowerrc
@@ -0,0 +1,3 @@
+{
+ "directory" : "vendor/bower-asset"
+}
diff --git a/tests/Frameworks/Yii/Version_2_0_49/.gitignore b/tests/Frameworks/Yii/Version_2_0_49/.gitignore
new file mode 100644
index 0000000000..5bd9be80b7
--- /dev/null
+++ b/tests/Frameworks/Yii/Version_2_0_49/.gitignore
@@ -0,0 +1,33 @@
+# phpstorm project files
+.idea
+
+# netbeans project files
+nbproject
+
+# zend studio for eclipse project files
+.buildpath
+.project
+.settings
+
+# windows thumbnail cache
+Thumbs.db
+
+# composer vendor dir
+/vendor
+
+# composer itself is not needed
+composer.phar
+
+# Mac DS_Store Files
+.DS_Store
+
+# phpunit itself is not needed
+phpunit.phar
+# local phpunit config
+/phpunit.xml
+
+tests/_output/*
+tests/_support/_generated
+
+#vagrant folder
+/.vagrant
\ No newline at end of file
diff --git a/tests/Frameworks/Yii/Version_2_0_49/LICENSE.md b/tests/Frameworks/Yii/Version_2_0_49/LICENSE.md
new file mode 100644
index 0000000000..ee872b9abf
--- /dev/null
+++ b/tests/Frameworks/Yii/Version_2_0_49/LICENSE.md
@@ -0,0 +1,29 @@
+Copyright © 2008 by Yii Software LLC (http://www.yiisoft.com)
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+ * Neither the name of Yii Software LLC nor the names of its
+ contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
diff --git a/tests/Frameworks/Yii/Version_2_0_49/README.md b/tests/Frameworks/Yii/Version_2_0_49/README.md
new file mode 100644
index 0000000000..287a6ff87a
--- /dev/null
+++ b/tests/Frameworks/Yii/Version_2_0_49/README.md
@@ -0,0 +1,233 @@
+
+
+
+
+
Yii 2 Basic Project Template
+
+
+
+Yii 2 Basic Project Template is a skeleton [Yii 2](http://www.yiiframework.com/) application best for
+rapidly creating small projects.
+
+The template contains the basic features including user login/logout and a contact page.
+It includes all commonly used configurations that would allow you to focus on adding new
+features to your application.
+
+[![Latest Stable Version](https://img.shields.io/packagist/v/yiisoft/yii2-app-basic.svg)](https://packagist.org/packages/yiisoft/yii2-app-basic)
+[![Total Downloads](https://img.shields.io/packagist/dt/yiisoft/yii2-app-basic.svg)](https://packagist.org/packages/yiisoft/yii2-app-basic)
+[![Build Status](https://travis-ci.org/yiisoft/yii2-app-basic.svg?branch=master)](https://travis-ci.org/yiisoft/yii2-app-basic)
+
+DIRECTORY STRUCTURE
+-------------------
+
+ assets/ contains assets definition
+ commands/ contains console commands (controllers)
+ config/ contains application configurations
+ controllers/ contains Web controller classes
+ mail/ contains view files for e-mails
+ models/ contains model classes
+ runtime/ contains files generated during runtime
+ tests/ contains various tests for the basic application
+ vendor/ contains dependent 3rd-party packages
+ views/ contains view files for the Web application
+ web/ contains the entry script and Web resources
+
+
+
+REQUIREMENTS
+------------
+
+The minimum requirement by this project template that your Web server supports PHP 5.4.0.
+
+
+INSTALLATION
+------------
+
+### Install via Composer
+
+If you do not have [Composer](http://getcomposer.org/), you may install it by following the instructions
+at [getcomposer.org](http://getcomposer.org/doc/00-intro.md#installation-nix).
+
+You can then install this project template using the following command:
+
+~~~
+composer create-project --prefer-dist yiisoft/yii2-app-basic basic
+~~~
+
+Now you should be able to access the application through the following URL, assuming `basic` is the directory
+directly under the Web root.
+
+~~~
+http://localhost/basic/web/
+~~~
+
+### Install from an Archive File
+
+Extract the archive file downloaded from [yiiframework.com](http://www.yiiframework.com/download/) to
+a directory named `basic` that is directly under the Web root.
+
+Set cookie validation key in `config/web.php` file to some random secret string:
+
+```php
+'request' => [
+ // !!! insert a secret key in the following (if it is empty) - this is required by cookie validation
+ 'cookieValidationKey' => '',
+],
+```
+
+You can then access the application through the following URL:
+
+~~~
+http://localhost/basic/web/
+~~~
+
+
+### Install with Docker
+
+Update your vendor packages
+
+ docker-compose run --rm php composer update --prefer-dist
+
+Run the installation triggers (creating cookie validation code)
+
+ docker-compose run --rm php composer install
+
+Start the container
+
+ docker-compose up -d
+
+You can then access the application through the following URL:
+
+ http://127.0.0.1:8000
+
+**NOTES:**
+- Minimum required Docker engine version `17.04` for development (see [Performance tuning for volume mounts](https://docs.docker.com/docker-for-mac/osxfs-caching/))
+- The default configuration uses a host-volume in your home directory `.docker-composer` for composer caches
+
+
+CONFIGURATION
+-------------
+
+### Database
+
+Edit the file `config/db.php` with real data, for example:
+
+```php
+return [
+ 'class' => 'yii\db\Connection',
+ 'dsn' => 'mysql:host=localhost;dbname=yii2basic',
+ 'username' => 'root',
+ 'password' => '1234',
+ 'charset' => 'utf8',
+];
+```
+
+**NOTES:**
+- Yii won't create the database for you, this has to be done manually before you can access it.
+- Check and edit the other files in the `config/` directory to customize your application as required.
+- Refer to the README in the `tests` directory for information specific to basic application tests.
+
+
+TESTING
+-------
+
+Tests are located in `tests` directory. They are developed with [Codeception PHP Testing Framework](http://codeception.com/).
+By default there are 3 test suites:
+
+- `unit`
+- `functional`
+- `acceptance`
+
+Tests can be executed by running
+
+```
+vendor/bin/codecept run
+```
+
+The command above will execute unit and functional tests. Unit tests are testing the system components, while functional
+tests are for testing user interaction. Acceptance tests are disabled by default as they require additional setup since
+they perform testing in real browser.
+
+
+### Running acceptance tests
+
+To execute acceptance tests do the following:
+
+1. Rename `tests/acceptance.suite.yml.example` to `tests/acceptance.suite.yml` to enable suite configuration
+
+2. Replace `codeception/base` package in `composer.json` with `codeception/codeception` to install full featured
+ version of Codeception
+
+3. Update dependencies with Composer
+
+ ```
+ composer update
+ ```
+
+4. Download [Selenium Server](http://www.seleniumhq.org/download/) and launch it:
+
+ ```
+ java -jar ~/selenium-server-standalone-x.xx.x.jar
+ ```
+
+ In case of using Selenium Server 3.0 with Firefox browser since v48 or Google Chrome since v53 you must download [GeckoDriver](https://github.com/mozilla/geckodriver/releases) or [ChromeDriver](https://sites.google.com/a/chromium.org/chromedriver/downloads) and launch Selenium with it:
+
+ ```
+ # for Firefox
+ java -jar -Dwebdriver.gecko.driver=~/geckodriver ~/selenium-server-standalone-3.xx.x.jar
+
+ # for Google Chrome
+ java -jar -Dwebdriver.chrome.driver=~/chromedriver ~/selenium-server-standalone-3.xx.x.jar
+ ```
+
+ As an alternative way you can use already configured Docker container with older versions of Selenium and Firefox:
+
+ ```
+ docker run --net=host selenium/standalone-firefox:2.53.0
+ ```
+
+5. (Optional) Create `yii2_basic_tests` database and update it by applying migrations if you have them.
+
+ ```
+ tests/bin/yii migrate
+ ```
+
+ The database configuration can be found at `config/test_db.php`.
+
+
+6. Start web server:
+
+ ```
+ tests/bin/yii serve
+ ```
+
+7. Now you can run all available tests
+
+ ```
+ # run all available tests
+ vendor/bin/codecept run
+
+ # run acceptance tests
+ vendor/bin/codecept run acceptance
+
+ # run only unit and functional tests
+ vendor/bin/codecept run unit,functional
+ ```
+
+### Code coverage support
+
+By default, code coverage is disabled in `codeception.yml` configuration file, you should uncomment needed rows to be able
+to collect code coverage. You can run your tests and collect coverage with the following command:
+
+```
+#collect coverage for all tests
+vendor/bin/codecept run -- --coverage-html --coverage-xml
+
+#collect coverage only for unit tests
+vendor/bin/codecept run unit -- --coverage-html --coverage-xml
+
+#collect coverage for unit and functional tests
+vendor/bin/codecept run functional,unit -- --coverage-html --coverage-xml
+```
+
+You can see code coverage output under the `tests/_output` directory.
diff --git a/tests/Frameworks/Yii/Version_2_0_49/Vagrantfile b/tests/Frameworks/Yii/Version_2_0_49/Vagrantfile
new file mode 100644
index 0000000000..44fd76c6d8
--- /dev/null
+++ b/tests/Frameworks/Yii/Version_2_0_49/Vagrantfile
@@ -0,0 +1,81 @@
+require 'yaml'
+require 'fileutils'
+
+required_plugins = %w( vagrant-hostmanager vagrant-vbguest )
+required_plugins.each do |plugin|
+ exec "vagrant plugin install #{plugin}" unless Vagrant.has_plugin? plugin
+end
+
+domains = {
+ app: 'yii2basic.test'
+}
+
+vagrantfile_dir_path = File.dirname(__FILE__)
+
+config = {
+ local: vagrantfile_dir_path + '/vagrant/config/vagrant-local.yml',
+ example: vagrantfile_dir_path + '/vagrant/config/vagrant-local.example.yml'
+}
+
+# copy config from example if local config not exists
+FileUtils.cp config[:example], config[:local] unless File.exist?(config[:local])
+# read config
+options = YAML.load_file config[:local]
+
+# check github token
+if options['github_token'].nil? || options['github_token'].to_s.length != 40
+ puts "You must place REAL GitHub token into configuration:\n/yii2-app-basic/vagrant/config/vagrant-local.yml"
+ exit
+end
+
+# vagrant configurate
+Vagrant.configure(2) do |config|
+ # select the box
+ config.vm.box = 'bento/ubuntu-16.04'
+
+ # should we ask about box updates?
+ config.vm.box_check_update = options['box_check_update']
+
+ config.vm.provider 'virtualbox' do |vb|
+ # machine cpus count
+ vb.cpus = options['cpus']
+ # machine memory size
+ vb.memory = options['memory']
+ # machine name (for VirtualBox UI)
+ vb.name = options['machine_name']
+ end
+
+ # machine name (for vagrant console)
+ config.vm.define options['machine_name']
+
+ # machine name (for guest machine console)
+ config.vm.hostname = options['machine_name']
+
+ # network settings
+ config.vm.network 'private_network', ip: options['ip']
+
+ # sync: folder 'yii2-app-advanced' (host machine) -> folder '/app' (guest machine)
+ config.vm.synced_folder './', '/app', owner: 'vagrant', group: 'vagrant'
+
+ # disable folder '/vagrant' (guest machine)
+ config.vm.synced_folder '.', '/vagrant', disabled: true
+
+ # hosts settings (host machine)
+ config.vm.provision :hostmanager
+ config.hostmanager.enabled = true
+ config.hostmanager.manage_host = true
+ config.hostmanager.ignore_private_ip = false
+ config.hostmanager.include_offline = true
+ config.hostmanager.aliases = domains.values
+
+ # quick fix for failed guest additions installations
+ # config.vbguest.auto_update = false
+
+ # provisioners
+ config.vm.provision 'shell', path: './vagrant/provision/once-as-root.sh', args: [options['timezone']]
+ config.vm.provision 'shell', path: './vagrant/provision/once-as-vagrant.sh', args: [options['github_token']], privileged: false
+ config.vm.provision 'shell', path: './vagrant/provision/always-as-root.sh', run: 'always'
+
+ # post-install message (vagrant console)
+ config.vm.post_up_message = "App URL: http://#{domains[:app]}"
+end
diff --git a/tests/Frameworks/Yii/Version_2_0_49/assets/AppAsset.php b/tests/Frameworks/Yii/Version_2_0_49/assets/AppAsset.php
new file mode 100644
index 0000000000..47932b1659
--- /dev/null
+++ b/tests/Frameworks/Yii/Version_2_0_49/assets/AppAsset.php
@@ -0,0 +1,31 @@
+
+ * @since 2.0
+ */
+class AppAsset extends AssetBundle
+{
+ public $basePath = '@webroot';
+ public $baseUrl = '@web';
+ public $css = [
+ 'css/site.css',
+ ];
+ public $js = [
+ ];
+ public $depends = [
+ 'yii\web\YiiAsset',
+ 'yii\bootstrap\BootstrapAsset',
+ ];
+}
diff --git a/tests/Frameworks/Yii/Version_2_0_49/codeception.yml b/tests/Frameworks/Yii/Version_2_0_49/codeception.yml
new file mode 100644
index 0000000000..a95affe046
--- /dev/null
+++ b/tests/Frameworks/Yii/Version_2_0_49/codeception.yml
@@ -0,0 +1,36 @@
+actor: Tester
+paths:
+ tests: tests
+ log: tests/_output
+ data: tests/_data
+ helpers: tests/_support
+settings:
+ bootstrap: _bootstrap.php
+ memory_limit: 1024M
+ colors: true
+modules:
+ config:
+ Yii2:
+ configFile: 'config/test.php'
+
+# To enable code coverage:
+#coverage:
+# #c3_url: http://localhost:8080/index-test.php/
+# enabled: true
+# #remote: true
+# #remote_config: '../codeception.yml'
+# whitelist:
+# include:
+# - models/*
+# - controllers/*
+# - commands/*
+# - mail/*
+# blacklist:
+# include:
+# - assets/*
+# - config/*
+# - runtime/*
+# - vendor/*
+# - views/*
+# - web/*
+# - tests/*
diff --git a/tests/Frameworks/Yii/Version_2_0_49/commands/HelloController.php b/tests/Frameworks/Yii/Version_2_0_49/commands/HelloController.php
new file mode 100644
index 0000000000..20066c40c7
--- /dev/null
+++ b/tests/Frameworks/Yii/Version_2_0_49/commands/HelloController.php
@@ -0,0 +1,34 @@
+
+ * @since 2.0
+ */
+class HelloController extends Controller
+{
+ /**
+ * This command echoes what you have entered as the message.
+ * @param string $message the message to be echoed.
+ * @return int Exit code
+ */
+ public function actionIndex($message = 'hello world')
+ {
+ echo $message . "\n";
+
+ return ExitCode::OK;
+ }
+}
diff --git a/tests/Frameworks/Yii/Version_2_0_49/composer.json b/tests/Frameworks/Yii/Version_2_0_49/composer.json
new file mode 100644
index 0000000000..cfb5c10bb6
--- /dev/null
+++ b/tests/Frameworks/Yii/Version_2_0_49/composer.json
@@ -0,0 +1,72 @@
+{
+ "name": "yiisoft/yii2-app-basic",
+ "description": "Yii 2 Basic Project Template",
+ "keywords": [
+ "yii2",
+ "framework",
+ "basic",
+ "project template"
+ ],
+ "homepage": "http://www.yiiframework.com/",
+ "type": "project",
+ "license": "BSD-3-Clause",
+ "support": {
+ "issues": "https://github.com/yiisoft/yii2/issues?state=open",
+ "forum": "http://www.yiiframework.com/forum/",
+ "wiki": "http://www.yiiframework.com/wiki/",
+ "irc": "irc://irc.freenode.net/yii",
+ "source": "https://github.com/yiisoft/yii2"
+ },
+ "minimum-stability": "stable",
+ "require": {
+ "php": ">=5.4.0",
+ "yiisoft/yii2": "2.0.49",
+ "yiisoft/yii2-bootstrap": "~2.0.0",
+ "yiisoft/yii2-swiftmailer": "~2.0.0 || ~2.1.0"
+ },
+ "require-dev": {
+ "yiisoft/yii2-debug": "~2.1.0",
+ "yiisoft/yii2-gii": "~2.1.0",
+ "yiisoft/yii2-faker": "~2.0.0"
+ },
+ "config": {
+ "process-timeout": 1800,
+ "fxp-asset": {
+ "enabled": false
+ },
+ "allow-plugins": {
+ "yiisoft/yii2-composer": true
+ }
+ },
+ "scripts": {
+ "post-install-cmd": [
+ "yii\\composer\\Installer::postInstall"
+ ],
+ "post-create-project-cmd": [
+ "yii\\composer\\Installer::postCreateProject",
+ "yii\\composer\\Installer::postInstall"
+ ]
+ },
+ "extra": {
+ "yii\\composer\\Installer::postCreateProject": {
+ "setPermission": [
+ {
+ "runtime": "0777",
+ "web/assets": "0777",
+ "yii": "0755"
+ }
+ ]
+ },
+ "yii\\composer\\Installer::postInstall": {
+ "generateCookieValidationKey": [
+ "config/web.php"
+ ]
+ }
+ },
+ "repositories": [
+ {
+ "type": "composer",
+ "url": "https://asset-packagist.org"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/tests/Frameworks/Yii/Version_2_0_49/config/console.php b/tests/Frameworks/Yii/Version_2_0_49/config/console.php
new file mode 100644
index 0000000000..299656afc0
--- /dev/null
+++ b/tests/Frameworks/Yii/Version_2_0_49/config/console.php
@@ -0,0 +1,48 @@
+ 'basic-console',
+ 'basePath' => dirname(__DIR__),
+ 'bootstrap' => ['log'],
+ 'controllerNamespace' => 'app\commands',
+ 'aliases' => [
+ '@bower' => '@vendor/bower-asset',
+ '@npm' => '@vendor/npm-asset',
+ '@tests' => '@app/tests',
+ ],
+ 'components' => [
+ 'cache' => [
+ 'class' => 'yii\caching\FileCache',
+ ],
+ 'log' => [
+ 'targets' => [
+ [
+ 'class' => 'yii\log\FileTarget',
+ 'levels' => ['error', 'warning'],
+ ],
+ ],
+ ],
+ 'db' => $db,
+ ],
+ 'params' => $params,
+ /*
+ 'controllerMap' => [
+ 'fixture' => [ // Fixture generation command line.
+ 'class' => 'yii\faker\FixtureController',
+ ],
+ ],
+ */
+];
+
+if (YII_ENV_DEV) {
+ // configuration adjustments for 'dev' environment
+ $config['bootstrap'][] = 'gii';
+ $config['modules']['gii'] = [
+ 'class' => 'yii\gii\Module',
+ ];
+}
+
+return $config;
diff --git a/tests/Frameworks/Yii/Version_2_0_49/config/db.php b/tests/Frameworks/Yii/Version_2_0_49/config/db.php
new file mode 100644
index 0000000000..297a23d3cf
--- /dev/null
+++ b/tests/Frameworks/Yii/Version_2_0_49/config/db.php
@@ -0,0 +1,14 @@
+ 'yii\db\Connection',
+ 'dsn' => 'mysql:host=test;dbname=test',
+ 'username' => 'test',
+ 'password' => 'test',
+ 'charset' => 'utf8',
+
+ // Schema cache options (for production environment)
+ //'enableSchemaCache' => true,
+ //'schemaCacheDuration' => 60,
+ //'schemaCache' => 'cache',
+];
diff --git a/tests/Frameworks/Yii/Version_2_0_49/config/params.php b/tests/Frameworks/Yii/Version_2_0_49/config/params.php
new file mode 100644
index 0000000000..981c621ace
--- /dev/null
+++ b/tests/Frameworks/Yii/Version_2_0_49/config/params.php
@@ -0,0 +1,7 @@
+ 'admin@example.com',
+ 'senderEmail' => 'noreply@example.com',
+ 'senderName' => 'Example.com mailer',
+];
diff --git a/tests/Frameworks/Yii/Version_2_0_49/config/test.php b/tests/Frameworks/Yii/Version_2_0_49/config/test.php
new file mode 100644
index 0000000000..f95bc031ef
--- /dev/null
+++ b/tests/Frameworks/Yii/Version_2_0_49/config/test.php
@@ -0,0 +1,42 @@
+ 'basic-tests',
+ 'basePath' => dirname(__DIR__),
+ 'aliases' => [
+ '@bower' => '@vendor/bower-asset',
+ '@npm' => '@vendor/npm-asset',
+ ],
+ 'language' => 'en-US',
+ 'components' => [
+ 'db' => $db,
+ 'mailer' => [
+ 'useFileTransport' => true,
+ ],
+ 'assetManager' => [
+ 'basePath' => __DIR__ . '/../web/assets',
+ ],
+ 'urlManager' => [
+ 'showScriptName' => true,
+ ],
+ 'user' => [
+ 'identityClass' => 'app\models\User',
+ ],
+ 'request' => [
+ 'cookieValidationKey' => 'test',
+ 'enableCsrfValidation' => false,
+ // but if you absolutely need it set cookie domain to localhost
+ /*
+ 'csrfCookie' => [
+ 'domain' => 'localhost',
+ ],
+ */
+ ],
+ ],
+ 'params' => $params,
+];
diff --git a/tests/Frameworks/Yii/Version_2_0_49/config/test_db.php b/tests/Frameworks/Yii/Version_2_0_49/config/test_db.php
new file mode 100644
index 0000000000..082f4b782f
--- /dev/null
+++ b/tests/Frameworks/Yii/Version_2_0_49/config/test_db.php
@@ -0,0 +1,6 @@
+ 'basic',
+ 'basePath' => dirname(__DIR__),
+ 'bootstrap' => ['log'],
+ 'aliases' => [
+ '@bower' => '@vendor/bower-asset',
+ '@npm' => '@vendor/npm-asset',
+ ],
+ 'modules' => [
+ 'forum' => [
+ 'class' => app\modules\forum\Module::class,
+ ],
+ 'v2' => [
+ 'class' => \app\modules\api\Module::class,
+ ],
+ ],
+ 'components' => [
+ 'request' => [
+ // !!! insert a secret key in the following (if it is empty) - this is required by cookie validation
+ 'cookieValidationKey' => 'YsDADRVFllsiXByHSAIC8JqGC9Gceci5',
+ ],
+ 'cache' => [
+ 'class' => 'yii\caching\FileCache',
+ ],
+ 'user' => [
+ 'identityClass' => 'app\models\User',
+ 'enableAutoLogin' => true,
+ ],
+ 'errorHandler' => [
+ 'errorAction' => 'site/error',
+ ],
+ 'mailer' => [
+ 'class' => 'yii\swiftmailer\Mailer',
+ // send all mails to a file by default. You have to set
+ // 'useFileTransport' to false and configure a transport
+ // for the mailer to send real emails.
+ 'useFileTransport' => true,
+ ],
+ 'log' => [
+ 'traceLevel' => YII_DEBUG ? 3 : 0,
+ 'targets' => [
+ [
+ 'class' => 'yii\log\FileTarget',
+ 'levels' => ['error', 'warning'],
+ ],
+ ],
+ ],
+ 'db' => $db,
+
+ 'urlManager' => [
+ 'enablePrettyUrl' => true,
+ 'showScriptName' => false,
+ 'rules' => [
+ 'simple' => 'simple/index',
+ 'simple_view' => 'simple/view',
+ 'error' => 'simple/error',
+ 'parameterized/' => 'simple/parameterized',
+ 'homes///' => 'homes/view',
+ 'forum///' => 'forum/module/view',
+ ],
+ ],
+
+ ],
+ 'params' => $params,
+];
+
+if (YII_ENV_DEV) {
+ // configuration adjustments for 'dev' environment
+ $config['bootstrap'][] = 'debug';
+ $config['modules']['debug'] = [
+ 'class' => 'yii\debug\Module',
+ // uncomment the following to add your IP if you are not connecting from localhost.
+ //'allowedIPs' => ['127.0.0.1', '::1'],
+ ];
+
+ $config['bootstrap'][] = 'gii';
+ $config['modules']['gii'] = [
+ 'class' => 'yii\gii\Module',
+ // uncomment the following to add your IP if you are not connecting from localhost.
+ //'allowedIPs' => ['127.0.0.1', '::1'],
+ ];
+}
+
+return $config;
diff --git a/tests/Frameworks/Yii/Version_2_0_49/controllers/HomesController.php b/tests/Frameworks/Yii/Version_2_0_49/controllers/HomesController.php
new file mode 100644
index 0000000000..909dcec309
--- /dev/null
+++ b/tests/Frameworks/Yii/Version_2_0_49/controllers/HomesController.php
@@ -0,0 +1,17 @@
+render('index');
+ }
+
+ /**
+ * @return string
+ */
+ public function actionError()
+ {
+ throw new \Exception('datadog');
+ }
+
+ public function actionParameterized($value)
+ {
+ return 'Hello ' . $value;
+ }
+}
diff --git a/tests/Frameworks/Yii/Version_2_0_49/controllers/SiteController.php b/tests/Frameworks/Yii/Version_2_0_49/controllers/SiteController.php
new file mode 100644
index 0000000000..49084755df
--- /dev/null
+++ b/tests/Frameworks/Yii/Version_2_0_49/controllers/SiteController.php
@@ -0,0 +1,128 @@
+ [
+ 'class' => AccessControl::className(),
+ 'only' => ['logout'],
+ 'rules' => [
+ [
+ 'actions' => ['logout'],
+ 'allow' => true,
+ 'roles' => ['@'],
+ ],
+ ],
+ ],
+ 'verbs' => [
+ 'class' => VerbFilter::className(),
+ 'actions' => [
+ 'logout' => ['post'],
+ ],
+ ],
+ ];
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function actions()
+ {
+ return [
+ 'error' => [
+ 'class' => 'yii\web\ErrorAction',
+ ],
+ 'captcha' => [
+ 'class' => 'yii\captcha\CaptchaAction',
+ 'fixedVerifyCode' => YII_ENV_TEST ? 'testme' : null,
+ ],
+ ];
+ }
+
+ /**
+ * Displays homepage.
+ *
+ * @return string
+ */
+ public function actionIndex()
+ {
+ return "OK";
+ }
+
+ /**
+ * Login action.
+ *
+ * @return Response|string
+ */
+ public function actionLogin()
+ {
+ if (!Yii::$app->user->isGuest) {
+ return $this->goHome();
+ }
+
+ $model = new LoginForm();
+ if ($model->load(Yii::$app->request->post()) && $model->login()) {
+ return $this->goBack();
+ }
+
+ $model->password = '';
+ return $this->render('login', [
+ 'model' => $model,
+ ]);
+ }
+
+ /**
+ * Logout action.
+ *
+ * @return Response
+ */
+ public function actionLogout()
+ {
+ Yii::$app->user->logout();
+
+ return $this->goHome();
+ }
+
+ /**
+ * Displays contact page.
+ *
+ * @return Response|string
+ */
+ public function actionContact()
+ {
+ $model = new ContactForm();
+ if ($model->load(Yii::$app->request->post()) && $model->contact(Yii::$app->params['adminEmail'])) {
+ Yii::$app->session->setFlash('contactFormSubmitted');
+
+ return $this->refresh();
+ }
+ return $this->render('contact', [
+ 'model' => $model,
+ ]);
+ }
+
+ /**
+ * Displays about page.
+ *
+ * @return string
+ */
+ public function actionAbout()
+ {
+ return $this->render('about');
+ }
+}
diff --git a/tests/Frameworks/Yii/Version_2_0_49/docker-compose.yml b/tests/Frameworks/Yii/Version_2_0_49/docker-compose.yml
new file mode 100644
index 0000000000..c3800ff531
--- /dev/null
+++ b/tests/Frameworks/Yii/Version_2_0_49/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '2'
+services:
+ php:
+ image: yiisoftware/yii2-php:7.1-apache
+ volumes:
+ - ~/.composer-docker/cache:/root/.composer/cache:delegated
+ - ./:/app:delegated
+ ports:
+ - '8000:80'
\ No newline at end of file
diff --git a/tests/Frameworks/Yii/Version_2_0_49/mail/layouts/html.php b/tests/Frameworks/Yii/Version_2_0_49/mail/layouts/html.php
new file mode 100644
index 0000000000..bddbc61290
--- /dev/null
+++ b/tests/Frameworks/Yii/Version_2_0_49/mail/layouts/html.php
@@ -0,0 +1,22 @@
+
+beginPage() ?>
+
+
+
+
+ = Html::encode($this->title) ?>
+ head() ?>
+
+
+ beginBody() ?>
+ = $content ?>
+ endBody() ?>
+
+
+endPage() ?>
diff --git a/tests/Frameworks/Yii/Version_2_0_49/models/ContactForm.php b/tests/Frameworks/Yii/Version_2_0_49/models/ContactForm.php
new file mode 100644
index 0000000000..f001d21926
--- /dev/null
+++ b/tests/Frameworks/Yii/Version_2_0_49/models/ContactForm.php
@@ -0,0 +1,65 @@
+ 'Verification Code',
+ ];
+ }
+
+ /**
+ * Sends an email to the specified email address using the information collected by this model.
+ * @param string $email the target email address
+ * @return bool whether the model passes validation
+ */
+ public function contact($email)
+ {
+ if ($this->validate()) {
+ Yii::$app->mailer->compose()
+ ->setTo($email)
+ ->setFrom([Yii::$app->params['senderEmail'] => Yii::$app->params['senderName']])
+ ->setReplyTo([$this->email => $this->name])
+ ->setSubject($this->subject)
+ ->setTextBody($this->body)
+ ->send();
+
+ return true;
+ }
+ return false;
+ }
+}
diff --git a/tests/Frameworks/Yii/Version_2_0_49/models/LoginForm.php b/tests/Frameworks/Yii/Version_2_0_49/models/LoginForm.php
new file mode 100644
index 0000000000..cc6af264c6
--- /dev/null
+++ b/tests/Frameworks/Yii/Version_2_0_49/models/LoginForm.php
@@ -0,0 +1,81 @@
+hasErrors()) {
+ $user = $this->getUser();
+
+ if (!$user || !$user->validatePassword($this->password)) {
+ $this->addError($attribute, 'Incorrect username or password.');
+ }
+ }
+ }
+
+ /**
+ * Logs in a user using the provided username and password.
+ * @return bool whether the user is logged in successfully
+ */
+ public function login()
+ {
+ if ($this->validate()) {
+ return Yii::$app->user->login($this->getUser(), $this->rememberMe ? 3600*24*30 : 0);
+ }
+ return false;
+ }
+
+ /**
+ * Finds user by [[username]]
+ *
+ * @return User|null
+ */
+ public function getUser()
+ {
+ if ($this->_user === false) {
+ $this->_user = User::findByUsername($this->username);
+ }
+
+ return $this->_user;
+ }
+}
diff --git a/tests/Frameworks/Yii/Version_2_0_49/models/User.php b/tests/Frameworks/Yii/Version_2_0_49/models/User.php
new file mode 100644
index 0000000000..2e3fb25ed2
--- /dev/null
+++ b/tests/Frameworks/Yii/Version_2_0_49/models/User.php
@@ -0,0 +1,104 @@
+ [
+ 'id' => '100',
+ 'username' => 'admin',
+ 'password' => 'admin',
+ 'authKey' => 'test100key',
+ 'accessToken' => '100-token',
+ ],
+ '101' => [
+ 'id' => '101',
+ 'username' => 'demo',
+ 'password' => 'demo',
+ 'authKey' => 'test101key',
+ 'accessToken' => '101-token',
+ ],
+ ];
+
+
+ /**
+ * {@inheritdoc}
+ */
+ public static function findIdentity($id)
+ {
+ return isset(self::$users[$id]) ? new static(self::$users[$id]) : null;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public static function findIdentityByAccessToken($token, $type = null)
+ {
+ foreach (self::$users as $user) {
+ if ($user['accessToken'] === $token) {
+ return new static($user);
+ }
+ }
+
+ return null;
+ }
+
+ /**
+ * Finds user by username
+ *
+ * @param string $username
+ * @return static|null
+ */
+ public static function findByUsername($username)
+ {
+ foreach (self::$users as $user) {
+ if (strcasecmp($user['username'], $username) === 0) {
+ return new static($user);
+ }
+ }
+
+ return null;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getId()
+ {
+ return $this->id;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getAuthKey()
+ {
+ return $this->authKey;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function validateAuthKey($authKey)
+ {
+ return $this->authKey === $authKey;
+ }
+
+ /**
+ * Validates password
+ *
+ * @param string $password password to validate
+ * @return bool if password provided is valid for current user
+ */
+ public function validatePassword($password)
+ {
+ return $this->password === $password;
+ }
+}
diff --git a/tests/Frameworks/Yii/Version_2_0_49/modules/forum/Module.php b/tests/Frameworks/Yii/Version_2_0_49/modules/forum/Module.php
new file mode 100644
index 0000000000..28daba33b8
--- /dev/null
+++ b/tests/Frameworks/Yii/Version_2_0_49/modules/forum/Module.php
@@ -0,0 +1,11 @@
+Error\n\n"
+ . "The path to yii framework seems to be incorrect.
\n"
+ . 'You need to install Yii framework via composer or adjust the framework path in file ' . basename(__FILE__) . " .
\n"
+ . 'Please refer to the README on how to install Yii.
\n";
+
+ if (!empty($_SERVER['argv'])) {
+ // do not print HTML when used in console mode
+ echo strip_tags($message);
+ } else {
+ echo $message;
+ }
+ exit(1);
+}
+
+require_once($frameworkPath . '/requirements/YiiRequirementChecker.php');
+$requirementsChecker = new YiiRequirementChecker();
+
+$gdMemo = $imagickMemo = 'Either GD PHP extension with FreeType support or ImageMagick PHP extension with PNG support is required for image CAPTCHA.';
+$gdOK = $imagickOK = false;
+
+if (extension_loaded('imagick')) {
+ $imagick = new Imagick();
+ $imagickFormats = $imagick->queryFormats('PNG');
+ if (in_array('PNG', $imagickFormats)) {
+ $imagickOK = true;
+ } else {
+ $imagickMemo = 'Imagick extension should be installed with PNG support in order to be used for image CAPTCHA.';
+ }
+}
+
+if (extension_loaded('gd')) {
+ $gdInfo = gd_info();
+ if (!empty($gdInfo['FreeType Support'])) {
+ $gdOK = true;
+ } else {
+ $gdMemo = 'GD extension should be installed with FreeType support in order to be used for image CAPTCHA.';
+ }
+}
+
+/**
+ * Adjust requirements according to your application specifics.
+ */
+$requirements = array(
+ // Database :
+ array(
+ 'name' => 'PDO extension',
+ 'mandatory' => true,
+ 'condition' => extension_loaded('pdo'),
+ 'by' => 'All DB-related classes',
+ ),
+ array(
+ 'name' => 'PDO SQLite extension',
+ 'mandatory' => false,
+ 'condition' => extension_loaded('pdo_sqlite'),
+ 'by' => 'All DB-related classes',
+ 'memo' => 'Required for SQLite database.',
+ ),
+ array(
+ 'name' => 'PDO MySQL extension',
+ 'mandatory' => false,
+ 'condition' => extension_loaded('pdo_mysql'),
+ 'by' => 'All DB-related classes',
+ 'memo' => 'Required for MySQL database.',
+ ),
+ array(
+ 'name' => 'PDO PostgreSQL extension',
+ 'mandatory' => false,
+ 'condition' => extension_loaded('pdo_pgsql'),
+ 'by' => 'All DB-related classes',
+ 'memo' => 'Required for PostgreSQL database.',
+ ),
+ // Cache :
+ array(
+ 'name' => 'Memcache extension',
+ 'mandatory' => false,
+ 'condition' => extension_loaded('memcache') || extension_loaded('memcached'),
+ 'by' => 'MemCache ',
+ 'memo' => extension_loaded('memcached') ? 'To use memcached set MemCache::useMemcached to true
.' : ''
+ ),
+ // CAPTCHA:
+ array(
+ 'name' => 'GD PHP extension with FreeType support',
+ 'mandatory' => false,
+ 'condition' => $gdOK,
+ 'by' => 'Captcha ',
+ 'memo' => $gdMemo,
+ ),
+ array(
+ 'name' => 'ImageMagick PHP extension with PNG support',
+ 'mandatory' => false,
+ 'condition' => $imagickOK,
+ 'by' => 'Captcha ',
+ 'memo' => $imagickMemo,
+ ),
+ // PHP ini :
+ 'phpExposePhp' => array(
+ 'name' => 'Expose PHP',
+ 'mandatory' => false,
+ 'condition' => $requirementsChecker->checkPhpIniOff("expose_php"),
+ 'by' => 'Security reasons',
+ 'memo' => '"expose_php" should be disabled at php.ini',
+ ),
+ 'phpAllowUrlInclude' => array(
+ 'name' => 'PHP allow url include',
+ 'mandatory' => false,
+ 'condition' => $requirementsChecker->checkPhpIniOff("allow_url_include"),
+ 'by' => 'Security reasons',
+ 'memo' => '"allow_url_include" should be disabled at php.ini',
+ ),
+ 'phpSmtp' => array(
+ 'name' => 'PHP mail SMTP',
+ 'mandatory' => false,
+ 'condition' => strlen(ini_get('SMTP')) > 0,
+ 'by' => 'Email sending',
+ 'memo' => 'PHP mail SMTP server required',
+ ),
+);
+
+// OPcache check
+if (!version_compare(phpversion(), '5.5', '>=')) {
+ $requirements[] = array(
+ 'name' => 'APC extension',
+ 'mandatory' => false,
+ 'condition' => extension_loaded('apc'),
+ 'by' => 'ApcCache ',
+ );
+}
+
+$result = $requirementsChecker->checkYii()->check($requirements)->getResult();
+$requirementsChecker->render();
+exit($result['summary']['errors'] === 0 ? 0 : 1);
diff --git a/tests/Frameworks/Yii/Version_2_0_49/runtime/.gitignore b/tests/Frameworks/Yii/Version_2_0_49/runtime/.gitignore
new file mode 100644
index 0000000000..c96a04f008
--- /dev/null
+++ b/tests/Frameworks/Yii/Version_2_0_49/runtime/.gitignore
@@ -0,0 +1,2 @@
+*
+!.gitignore
\ No newline at end of file
diff --git a/tests/Frameworks/Yii/Version_2_0_49/tests/_bootstrap.php b/tests/Frameworks/Yii/Version_2_0_49/tests/_bootstrap.php
new file mode 100644
index 0000000000..131da42af3
--- /dev/null
+++ b/tests/Frameworks/Yii/Version_2_0_49/tests/_bootstrap.php
@@ -0,0 +1,6 @@
+amOnPage(Url::toRoute('/site/about'));
+ $I->see('About', 'h1');
+ }
+}
diff --git a/tests/Frameworks/Yii/Version_2_0_49/tests/acceptance/ContactCest.php b/tests/Frameworks/Yii/Version_2_0_49/tests/acceptance/ContactCest.php
new file mode 100644
index 0000000000..90f98482ee
--- /dev/null
+++ b/tests/Frameworks/Yii/Version_2_0_49/tests/acceptance/ContactCest.php
@@ -0,0 +1,34 @@
+amOnPage(Url::toRoute('/site/contact'));
+ }
+
+ public function contactPageWorks(AcceptanceTester $I)
+ {
+ $I->wantTo('ensure that contact page works');
+ $I->see('Contact', 'h1');
+ }
+
+ public function contactFormCanBeSubmitted(AcceptanceTester $I)
+ {
+ $I->amGoingTo('submit contact form with correct data');
+ $I->fillField('#contactform-name', 'tester');
+ $I->fillField('#contactform-email', 'tester@example.com');
+ $I->fillField('#contactform-subject', 'test subject');
+ $I->fillField('#contactform-body', 'test content');
+ $I->fillField('#contactform-verifycode', 'testme');
+
+ $I->click('contact-button');
+
+ $I->wait(2); // wait for button to be clicked
+
+ $I->dontSeeElement('#contact-form');
+ $I->see('Thank you for contacting us. We will respond to you as soon as possible.');
+ }
+}
diff --git a/tests/Frameworks/Yii/Version_2_0_49/tests/acceptance/HomeCest.php b/tests/Frameworks/Yii/Version_2_0_49/tests/acceptance/HomeCest.php
new file mode 100644
index 0000000000..e65df16aec
--- /dev/null
+++ b/tests/Frameworks/Yii/Version_2_0_49/tests/acceptance/HomeCest.php
@@ -0,0 +1,18 @@
+amOnPage(Url::toRoute('/site/index'));
+ $I->see('My Company');
+
+ $I->seeLink('About');
+ $I->click('About');
+ $I->wait(2); // wait for page to be opened
+
+ $I->see('This is the About page.');
+ }
+}
diff --git a/tests/Frameworks/Yii/Version_2_0_49/tests/acceptance/LoginCest.php b/tests/Frameworks/Yii/Version_2_0_49/tests/acceptance/LoginCest.php
new file mode 100644
index 0000000000..6f5cb2f38a
--- /dev/null
+++ b/tests/Frameworks/Yii/Version_2_0_49/tests/acceptance/LoginCest.php
@@ -0,0 +1,21 @@
+amOnPage(Url::toRoute('/site/login'));
+ $I->see('Login', 'h1');
+
+ $I->amGoingTo('try to login with correct credentials');
+ $I->fillField('input[name="LoginForm[username]"]', 'admin');
+ $I->fillField('input[name="LoginForm[password]"]', 'admin');
+ $I->click('login-button');
+ $I->wait(2); // wait for button to be clicked
+
+ $I->expectTo('see user info');
+ $I->see('Logout');
+ }
+}
diff --git a/tests/Frameworks/Yii/Version_2_0_49/tests/acceptance/_bootstrap.php b/tests/Frameworks/Yii/Version_2_0_49/tests/acceptance/_bootstrap.php
new file mode 100644
index 0000000000..b3d9bbc7f3
--- /dev/null
+++ b/tests/Frameworks/Yii/Version_2_0_49/tests/acceptance/_bootstrap.php
@@ -0,0 +1 @@
+ [
+ 'db' => require __DIR__ . '/../../config/test_db.php'
+ ]
+ ]
+);
+
+
+$application = new yii\console\Application($config);
+$exitCode = $application->run();
+exit($exitCode);
diff --git a/tests/Frameworks/Yii/Version_2_0_49/tests/bin/yii.bat b/tests/Frameworks/Yii/Version_2_0_49/tests/bin/yii.bat
new file mode 100644
index 0000000000..d516b3a192
--- /dev/null
+++ b/tests/Frameworks/Yii/Version_2_0_49/tests/bin/yii.bat
@@ -0,0 +1,20 @@
+@echo off
+
+rem -------------------------------------------------------------
+rem Yii command line bootstrap script for Windows.
+rem
+rem @author Qiang Xue
+rem @link http://www.yiiframework.com/
+rem @copyright Copyright (c) 2008 Yii Software LLC
+rem @license http://www.yiiframework.com/license/
+rem -------------------------------------------------------------
+
+@setlocal
+
+set YII_PATH=%~dp0
+
+if "%PHP_COMMAND%" == "" set PHP_COMMAND=php.exe
+
+"%PHP_COMMAND%" "%YII_PATH%yii" %*
+
+@endlocal
diff --git a/tests/Frameworks/Yii/Version_2_0_49/tests/functional.suite.yml b/tests/Frameworks/Yii/Version_2_0_49/tests/functional.suite.yml
new file mode 100644
index 0000000000..374c6df456
--- /dev/null
+++ b/tests/Frameworks/Yii/Version_2_0_49/tests/functional.suite.yml
@@ -0,0 +1,13 @@
+# Codeception Test Suite Configuration
+
+# suite for functional (integration) tests.
+# emulate web requests and make application process them.
+# (tip: better to use with frameworks).
+
+# RUN `build` COMMAND AFTER ADDING/REMOVING MODULES.
+#basic/web/index.php
+class_name: FunctionalTester
+modules:
+ enabled:
+ - Filesystem
+ - Yii2
diff --git a/tests/Frameworks/Yii/Version_2_0_49/tests/functional/ContactFormCest.php b/tests/Frameworks/Yii/Version_2_0_49/tests/functional/ContactFormCest.php
new file mode 100644
index 0000000000..ad81678651
--- /dev/null
+++ b/tests/Frameworks/Yii/Version_2_0_49/tests/functional/ContactFormCest.php
@@ -0,0 +1,57 @@
+amOnPage(['site/contact']);
+ }
+
+ public function openContactPage(\FunctionalTester $I)
+ {
+ $I->see('Contact', 'h1');
+ }
+
+ public function submitEmptyForm(\FunctionalTester $I)
+ {
+ $I->submitForm('#contact-form', []);
+ $I->expectTo('see validations errors');
+ $I->see('Contact', 'h1');
+ $I->see('Name cannot be blank');
+ $I->see('Email cannot be blank');
+ $I->see('Subject cannot be blank');
+ $I->see('Body cannot be blank');
+ $I->see('The verification code is incorrect');
+ }
+
+ public function submitFormWithIncorrectEmail(\FunctionalTester $I)
+ {
+ $I->submitForm('#contact-form', [
+ 'ContactForm[name]' => 'tester',
+ 'ContactForm[email]' => 'tester.email',
+ 'ContactForm[subject]' => 'test subject',
+ 'ContactForm[body]' => 'test content',
+ 'ContactForm[verifyCode]' => 'testme',
+ ]);
+ $I->expectTo('see that email address is wrong');
+ $I->dontSee('Name cannot be blank', '.help-inline');
+ $I->see('Email is not a valid email address.');
+ $I->dontSee('Subject cannot be blank', '.help-inline');
+ $I->dontSee('Body cannot be blank', '.help-inline');
+ $I->dontSee('The verification code is incorrect', '.help-inline');
+ }
+
+ public function submitFormSuccessfully(\FunctionalTester $I)
+ {
+ $I->submitForm('#contact-form', [
+ 'ContactForm[name]' => 'tester',
+ 'ContactForm[email]' => 'tester@example.com',
+ 'ContactForm[subject]' => 'test subject',
+ 'ContactForm[body]' => 'test content',
+ 'ContactForm[verifyCode]' => 'testme',
+ ]);
+ $I->seeEmailIsSent();
+ $I->dontSeeElement('#contact-form');
+ $I->see('Thank you for contacting us. We will respond to you as soon as possible.');
+ }
+}
diff --git a/tests/Frameworks/Yii/Version_2_0_49/tests/functional/LoginFormCest.php b/tests/Frameworks/Yii/Version_2_0_49/tests/functional/LoginFormCest.php
new file mode 100644
index 0000000000..7a83a27d69
--- /dev/null
+++ b/tests/Frameworks/Yii/Version_2_0_49/tests/functional/LoginFormCest.php
@@ -0,0 +1,59 @@
+amOnRoute('site/login');
+ }
+
+ public function openLoginPage(\FunctionalTester $I)
+ {
+ $I->see('Login', 'h1');
+
+ }
+
+ // demonstrates `amLoggedInAs` method
+ public function internalLoginById(\FunctionalTester $I)
+ {
+ $I->amLoggedInAs(100);
+ $I->amOnPage('/');
+ $I->see('Logout (admin)');
+ }
+
+ // demonstrates `amLoggedInAs` method
+ public function internalLoginByInstance(\FunctionalTester $I)
+ {
+ $I->amLoggedInAs(\app\models\User::findByUsername('admin'));
+ $I->amOnPage('/');
+ $I->see('Logout (admin)');
+ }
+
+ public function loginWithEmptyCredentials(\FunctionalTester $I)
+ {
+ $I->submitForm('#login-form', []);
+ $I->expectTo('see validations errors');
+ $I->see('Username cannot be blank.');
+ $I->see('Password cannot be blank.');
+ }
+
+ public function loginWithWrongCredentials(\FunctionalTester $I)
+ {
+ $I->submitForm('#login-form', [
+ 'LoginForm[username]' => 'admin',
+ 'LoginForm[password]' => 'wrong',
+ ]);
+ $I->expectTo('see validations errors');
+ $I->see('Incorrect username or password.');
+ }
+
+ public function loginSuccessfully(\FunctionalTester $I)
+ {
+ $I->submitForm('#login-form', [
+ 'LoginForm[username]' => 'admin',
+ 'LoginForm[password]' => 'admin',
+ ]);
+ $I->see('Logout (admin)');
+ $I->dontSeeElement('form#login-form');
+ }
+}
\ No newline at end of file
diff --git a/tests/Frameworks/Yii/Version_2_0_49/tests/functional/_bootstrap.php b/tests/Frameworks/Yii/Version_2_0_49/tests/functional/_bootstrap.php
new file mode 100644
index 0000000000..b3d9bbc7f3
--- /dev/null
+++ b/tests/Frameworks/Yii/Version_2_0_49/tests/functional/_bootstrap.php
@@ -0,0 +1 @@
+model = $this->getMockBuilder('app\models\ContactForm')
+ ->setMethods(['validate'])
+ ->getMock();
+
+ $this->model->expects($this->once())
+ ->method('validate')
+ ->willReturn(true);
+
+ $this->model->attributes = [
+ 'name' => 'Tester',
+ 'email' => 'tester@example.com',
+ 'subject' => 'very important letter subject',
+ 'body' => 'body of current message',
+ ];
+
+ expect_that($this->model->contact('admin@example.com'));
+
+ // using Yii2 module actions to check email was sent
+ $this->tester->seeEmailIsSent();
+
+ /** @var MessageInterface $emailMessage */
+ $emailMessage = $this->tester->grabLastSentEmail();
+ expect('valid email is sent', $emailMessage)->isInstanceOf('yii\mail\MessageInterface');
+ expect($emailMessage->getTo())->hasKey('admin@example.com');
+ expect($emailMessage->getFrom())->hasKey('noreply@example.com');
+ expect($emailMessage->getReplyTo())->hasKey('tester@example.com');
+ expect($emailMessage->getSubject())->equals('very important letter subject');
+ expect($emailMessage->toString())->contains('body of current message');
+ }
+}
diff --git a/tests/Frameworks/Yii/Version_2_0_49/tests/unit/models/LoginFormTest.php b/tests/Frameworks/Yii/Version_2_0_49/tests/unit/models/LoginFormTest.php
new file mode 100644
index 0000000000..ecdb14512e
--- /dev/null
+++ b/tests/Frameworks/Yii/Version_2_0_49/tests/unit/models/LoginFormTest.php
@@ -0,0 +1,51 @@
+user->logout();
+ }
+
+ public function testLoginNoUser()
+ {
+ $this->model = new LoginForm([
+ 'username' => 'not_existing_username',
+ 'password' => 'not_existing_password',
+ ]);
+
+ expect_not($this->model->login());
+ expect_that(\Yii::$app->user->isGuest);
+ }
+
+ public function testLoginWrongPassword()
+ {
+ $this->model = new LoginForm([
+ 'username' => 'demo',
+ 'password' => 'wrong_password',
+ ]);
+
+ expect_not($this->model->login());
+ expect_that(\Yii::$app->user->isGuest);
+ expect($this->model->errors)->hasKey('password');
+ }
+
+ public function testLoginCorrect()
+ {
+ $this->model = new LoginForm([
+ 'username' => 'demo',
+ 'password' => 'demo',
+ ]);
+
+ expect_that($this->model->login());
+ expect_not(\Yii::$app->user->isGuest);
+ expect($this->model->errors)->hasntKey('password');
+ }
+
+}
diff --git a/tests/Frameworks/Yii/Version_2_0_49/tests/unit/models/UserTest.php b/tests/Frameworks/Yii/Version_2_0_49/tests/unit/models/UserTest.php
new file mode 100644
index 0000000000..cb612785f2
--- /dev/null
+++ b/tests/Frameworks/Yii/Version_2_0_49/tests/unit/models/UserTest.php
@@ -0,0 +1,44 @@
+username)->equals('admin');
+
+ expect_not(User::findIdentity(999));
+ }
+
+ public function testFindUserByAccessToken()
+ {
+ expect_that($user = User::findIdentityByAccessToken('100-token'));
+ expect($user->username)->equals('admin');
+
+ expect_not(User::findIdentityByAccessToken('non-existing'));
+ }
+
+ public function testFindUserByUsername()
+ {
+ expect_that($user = User::findByUsername('admin'));
+ expect_not(User::findByUsername('not-admin'));
+ }
+
+ /**
+ * @depends testFindUserByUsername
+ */
+ public function testValidateUser($user)
+ {
+ $user = User::findByUsername('admin');
+ expect_that($user->validateAuthKey('test100key'));
+ expect_not($user->validateAuthKey('test102key'));
+
+ expect_that($user->validatePassword('admin'));
+ expect_not($user->validatePassword('123456'));
+ }
+
+}
diff --git a/tests/Frameworks/Yii/Version_2_0_49/vagrant/config/.gitignore b/tests/Frameworks/Yii/Version_2_0_49/vagrant/config/.gitignore
new file mode 100644
index 0000000000..0685a56caf
--- /dev/null
+++ b/tests/Frameworks/Yii/Version_2_0_49/vagrant/config/.gitignore
@@ -0,0 +1,2 @@
+# local configuration
+vagrant-local.yml
\ No newline at end of file
diff --git a/tests/Frameworks/Yii/Version_2_0_49/vagrant/config/vagrant-local.example.yml b/tests/Frameworks/Yii/Version_2_0_49/vagrant/config/vagrant-local.example.yml
new file mode 100644
index 0000000000..919aec0e80
--- /dev/null
+++ b/tests/Frameworks/Yii/Version_2_0_49/vagrant/config/vagrant-local.example.yml
@@ -0,0 +1,22 @@
+# Your personal GitHub token
+github_token:
+# Read more: https://github.com/blog/1509-personal-api-tokens
+# You can generate it here: https://github.com/settings/tokens
+
+# Guest OS timezone
+timezone: Europe/London
+
+# Are we need check box updates for every 'vagrant up'?
+box_check_update: false
+
+# Virtual machine name
+machine_name: yii2basic
+
+# Virtual machine IP
+ip: 192.168.83.137
+
+# Virtual machine CPU cores number
+cpus: 1
+
+# Virtual machine RAM
+memory: 1024
diff --git a/tests/Frameworks/Yii/Version_2_0_49/vagrant/nginx/app.conf b/tests/Frameworks/Yii/Version_2_0_49/vagrant/nginx/app.conf
new file mode 100644
index 0000000000..b22e661063
--- /dev/null
+++ b/tests/Frameworks/Yii/Version_2_0_49/vagrant/nginx/app.conf
@@ -0,0 +1,38 @@
+server {
+ charset utf-8;
+ client_max_body_size 128M;
+ sendfile off;
+
+ listen 80; ## listen for ipv4
+ #listen [::]:80 default_server ipv6only=on; ## listen for ipv6
+
+ server_name yii2basic.test;
+ root /app/web/;
+ index index.php;
+
+ access_log /app/vagrant/nginx/log/yii2basic.access.log;
+ error_log /app/vagrant/nginx/log/yii2basic.error.log;
+
+ location / {
+ # Redirect everything that isn't a real file to index.php
+ try_files $uri $uri/ /index.php$is_args$args;
+ }
+
+ # uncomment to avoid processing of calls to non-existing static files by Yii
+ #location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
+ # try_files $uri =404;
+ #}
+ #error_page 404 /404.html;
+
+ location ~ \.php$ {
+ include fastcgi_params;
+ fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
+ #fastcgi_pass 127.0.0.1:9000;
+ fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
+ try_files $uri =404;
+ }
+
+ location ~ /\.(ht|svn|git) {
+ deny all;
+ }
+}
diff --git a/tests/Frameworks/Yii/Version_2_0_49/vagrant/nginx/log/.gitignore b/tests/Frameworks/Yii/Version_2_0_49/vagrant/nginx/log/.gitignore
new file mode 100644
index 0000000000..c0fbfdd8d9
--- /dev/null
+++ b/tests/Frameworks/Yii/Version_2_0_49/vagrant/nginx/log/.gitignore
@@ -0,0 +1,3 @@
+#nginx logs
+yii2basic.access.log
+yii2basic.error.log
\ No newline at end of file
diff --git a/tests/Frameworks/Yii/Version_2_0_49/vagrant/provision/always-as-root.sh b/tests/Frameworks/Yii/Version_2_0_49/vagrant/provision/always-as-root.sh
new file mode 100644
index 0000000000..e5d8e33e12
--- /dev/null
+++ b/tests/Frameworks/Yii/Version_2_0_49/vagrant/provision/always-as-root.sh
@@ -0,0 +1,18 @@
+#!/usr/bin/env bash
+
+#== Bash helpers ==
+
+function info {
+ echo " "
+ echo "--> $1"
+ echo " "
+}
+
+#== Provision script ==
+
+info "Provision-script user: `whoami`"
+
+info "Restart web-stack"
+service php7.0-fpm restart
+service nginx restart
+service mysql restart
\ No newline at end of file
diff --git a/tests/Frameworks/Yii/Version_2_0_49/vagrant/provision/once-as-root.sh b/tests/Frameworks/Yii/Version_2_0_49/vagrant/provision/once-as-root.sh
new file mode 100644
index 0000000000..311d77b4ce
--- /dev/null
+++ b/tests/Frameworks/Yii/Version_2_0_49/vagrant/provision/once-as-root.sh
@@ -0,0 +1,75 @@
+#!/usr/bin/env bash
+
+#== Import script args ==
+
+timezone=$(echo "$1")
+
+#== Bash helpers ==
+
+function info {
+ echo " "
+ echo "--> $1"
+ echo " "
+}
+
+#== Provision script ==
+
+info "Provision-script user: `whoami`"
+
+export DEBIAN_FRONTEND=noninteractive
+
+info "Configure timezone"
+timedatectl set-timezone ${timezone} --no-ask-password
+
+info "Prepare root password for MySQL"
+debconf-set-selections <<< "mariadb-server-10.0 mysql-server/root_password password \"''\""
+debconf-set-selections <<< "mariadb-server-10.0 mysql-server/root_password_again password \"''\""
+echo "Done!"
+
+info "Update OS software"
+apt-get update
+apt-get upgrade -y
+
+info "Install additional software"
+apt-get install -y php7.0-curl php7.0-cli php7.0-intl php7.0-mysqlnd php7.0-gd php7.0-fpm php7.0-mbstring php7.0-xml unzip nginx mariadb-server-10.0 php.xdebug
+
+info "Configure MySQL"
+sed -i "s/.*bind-address.*/bind-address = 0.0.0.0/" /etc/mysql/mariadb.conf.d/50-server.cnf
+mysql -uroot <<< "CREATE USER 'root'@'%' IDENTIFIED BY ''"
+mysql -uroot <<< "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'"
+mysql -uroot <<< "DROP USER 'root'@'localhost'"
+mysql -uroot <<< "FLUSH PRIVILEGES"
+echo "Done!"
+
+info "Configure PHP-FPM"
+sed -i 's/user = www-data/user = vagrant/g' /etc/php/7.0/fpm/pool.d/www.conf
+sed -i 's/group = www-data/group = vagrant/g' /etc/php/7.0/fpm/pool.d/www.conf
+sed -i 's/owner = www-data/owner = vagrant/g' /etc/php/7.0/fpm/pool.d/www.conf
+cat << EOF > /etc/php/7.0/mods-available/xdebug.ini
+zend_extension=xdebug.so
+xdebug.remote_enable=1
+xdebug.remote_connect_back=1
+xdebug.remote_port=9000
+xdebug.remote_autostart=1
+EOF
+echo "Done!"
+
+info "Configure NGINX"
+sed -i 's/user www-data/user vagrant/g' /etc/nginx/nginx.conf
+echo "Done!"
+
+info "Enabling site configuration"
+ln -s /app/vagrant/nginx/app.conf /etc/nginx/sites-enabled/app.conf
+echo "Done!"
+
+info "Removing default site configuration"
+rm /etc/nginx/sites-enabled/default
+echo "Done!"
+
+info "Initailize databases for MySQL"
+mysql -uroot <<< "CREATE DATABASE yii2basic"
+mysql -uroot <<< "CREATE DATABASE yii2basic_test"
+echo "Done!"
+
+info "Install composer"
+curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
\ No newline at end of file
diff --git a/tests/Frameworks/Yii/Version_2_0_49/vagrant/provision/once-as-vagrant.sh b/tests/Frameworks/Yii/Version_2_0_49/vagrant/provision/once-as-vagrant.sh
new file mode 100644
index 0000000000..8da47217c7
--- /dev/null
+++ b/tests/Frameworks/Yii/Version_2_0_49/vagrant/provision/once-as-vagrant.sh
@@ -0,0 +1,31 @@
+#!/usr/bin/env bash
+
+#== Import script args ==
+
+github_token=$(echo "$1")
+
+#== Bash helpers ==
+
+function info {
+ echo " "
+ echo "--> $1"
+ echo " "
+}
+
+#== Provision script ==
+
+info "Provision-script user: `whoami`"
+
+info "Configure composer"
+composer config --global github-oauth.github.com ${github_token}
+echo "Done!"
+
+info "Install project dependencies"
+cd /app
+composer --no-progress --prefer-dist install
+
+info "Create bash-alias 'app' for vagrant user"
+echo 'alias app="cd /app"' | tee /home/vagrant/.bash_aliases
+
+info "Enabling colorized prompt for guest console"
+sed -i "s/#force_color_prompt=yes/force_color_prompt=yes/" /home/vagrant/.bashrc
diff --git a/tests/Frameworks/Yii/Version_2_0_49/views/layouts/main.php b/tests/Frameworks/Yii/Version_2_0_49/views/layouts/main.php
new file mode 100644
index 0000000000..87dfdcbc95
--- /dev/null
+++ b/tests/Frameworks/Yii/Version_2_0_49/views/layouts/main.php
@@ -0,0 +1,81 @@
+
+beginPage() ?>
+
+
+
+
+
+
+ registerCsrfMetaTags() ?>
+ = Html::encode($this->title) ?>
+ head() ?>
+
+
+beginBody() ?>
+
+
+ Yii::$app->name,
+ 'brandUrl' => Yii::$app->homeUrl,
+ 'options' => [
+ 'class' => 'navbar-inverse navbar-fixed-top',
+ ],
+ ]);
+ echo Nav::widget([
+ 'options' => ['class' => 'navbar-nav navbar-right'],
+ 'items' => [
+ ['label' => 'Home', 'url' => ['/site/index']],
+ ['label' => 'About', 'url' => ['/site/about']],
+ ['label' => 'Contact', 'url' => ['/site/contact']],
+ Yii::$app->user->isGuest ? (
+ ['label' => 'Login', 'url' => ['/site/login']]
+ ) : (
+ '
'
+ . Html::beginForm(['/site/logout'], 'post')
+ . Html::submitButton(
+ 'Logout (' . Yii::$app->user->identity->username . ')',
+ ['class' => 'btn btn-link logout']
+ )
+ . Html::endForm()
+ . ' '
+ )
+ ],
+ ]);
+ NavBar::end();
+ ?>
+
+
+ = Breadcrumbs::widget([
+ 'links' => isset($this->params['breadcrumbs']) ? $this->params['breadcrumbs'] : [],
+ ]) ?>
+ = Alert::widget() ?>
+ = $content ?>
+
+
+
+
+
+endBody() ?>
+
+
+endPage() ?>
diff --git a/tests/Frameworks/Yii/Version_2_0_49/views/simple/index.php b/tests/Frameworks/Yii/Version_2_0_49/views/simple/index.php
new file mode 100644
index 0000000000..9926737305
--- /dev/null
+++ b/tests/Frameworks/Yii/Version_2_0_49/views/simple/index.php
@@ -0,0 +1,18 @@
+title = 'Simple View';
+$this->params['breadcrumbs'][] = $this->title;
+?>
+
+
= Html::encode($this->title) ?>
+
+
+ This is the Simple View page. You may modify the following file to customize its content:
+
+
+
= __FILE__ ?>
+
diff --git a/tests/Frameworks/Yii/Version_2_0_49/views/site/about.php b/tests/Frameworks/Yii/Version_2_0_49/views/site/about.php
new file mode 100644
index 0000000000..68d5cf3bd6
--- /dev/null
+++ b/tests/Frameworks/Yii/Version_2_0_49/views/site/about.php
@@ -0,0 +1,18 @@
+title = 'About';
+$this->params['breadcrumbs'][] = $this->title;
+?>
+
+
= Html::encode($this->title) ?>
+
+
+ This is the About page. You may modify the following file to customize its content:
+
+
+
= __FILE__ ?>
+
diff --git a/tests/Frameworks/Yii/Version_2_0_49/views/site/contact.php b/tests/Frameworks/Yii/Version_2_0_49/views/site/contact.php
new file mode 100644
index 0000000000..f4c1e74a2a
--- /dev/null
+++ b/tests/Frameworks/Yii/Version_2_0_49/views/site/contact.php
@@ -0,0 +1,68 @@
+title = 'Contact';
+$this->params['breadcrumbs'][] = $this->title;
+?>
+
diff --git a/tests/Frameworks/Yii/Version_2_0_49/views/site/error.php b/tests/Frameworks/Yii/Version_2_0_49/views/site/error.php
new file mode 100644
index 0000000000..0ba2574655
--- /dev/null
+++ b/tests/Frameworks/Yii/Version_2_0_49/views/site/error.php
@@ -0,0 +1,27 @@
+title = $name;
+?>
+
+
+
= Html::encode($this->title) ?>
+
+
+ = nl2br(Html::encode($message)) ?>
+
+
+
+ The above error occurred while the Web server was processing your request.
+
+
+ Please contact us if you think this is a server error. Thank you.
+
+
+
diff --git a/tests/Frameworks/Yii/Version_2_0_49/views/site/index.php b/tests/Frameworks/Yii/Version_2_0_49/views/site/index.php
new file mode 100644
index 0000000000..f780610885
--- /dev/null
+++ b/tests/Frameworks/Yii/Version_2_0_49/views/site/index.php
@@ -0,0 +1,53 @@
+title = 'My Yii Application';
+?>
+
+
+
+
Congratulations!
+
+
You have successfully created your Yii-powered application.
+
+
Get started with Yii
+
+
+
+
+
+
+
Heading
+
+
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et
+ dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip
+ ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu
+ fugiat nulla pariatur.
+
+
Yii Documentation »
+
+
+
Heading
+
+
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et
+ dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip
+ ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu
+ fugiat nulla pariatur.
+
+
Yii Forum »
+
+
+
Heading
+
+
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et
+ dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip
+ ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu
+ fugiat nulla pariatur.
+
+
Yii Extensions »
+
+
+
+
+
diff --git a/tests/Frameworks/Yii/Version_2_0_49/views/site/login.php b/tests/Frameworks/Yii/Version_2_0_49/views/site/login.php
new file mode 100644
index 0000000000..0944d37e43
--- /dev/null
+++ b/tests/Frameworks/Yii/Version_2_0_49/views/site/login.php
@@ -0,0 +1,47 @@
+title = 'Login';
+$this->params['breadcrumbs'][] = $this->title;
+?>
+
+
= Html::encode($this->title) ?>
+
+
Please fill out the following fields to login:
+
+ 'login-form',
+ 'layout' => 'horizontal',
+ 'fieldConfig' => [
+ 'template' => "{label}\n
{input}
\n
{error}
",
+ 'labelOptions' => ['class' => 'col-lg-1 control-label'],
+ ],
+ ]); ?>
+
+ = $form->field($model, 'username')->textInput(['autofocus' => true]) ?>
+
+ = $form->field($model, 'password')->passwordInput() ?>
+
+ = $form->field($model, 'rememberMe')->checkbox([
+ 'template' => "
{input} {label}
\n
{error}
",
+ ]) ?>
+
+
+
+
+
+
+ You may login with admin/admin or demo/demo .
+ To modify the username/password, please check out the code app\models\User::$users
.
+
+
diff --git a/tests/Frameworks/Yii/Version_2_0_49/web/.htaccess b/tests/Frameworks/Yii/Version_2_0_49/web/.htaccess
new file mode 100644
index 0000000000..197199e8d5
--- /dev/null
+++ b/tests/Frameworks/Yii/Version_2_0_49/web/.htaccess
@@ -0,0 +1,4 @@
+RewriteEngine on
+RewriteCond %{REQUEST_FILENAME} !-d
+RewriteCond %{REQUEST_FILENAME} !-f
+RewriteRule . index.php [L]
diff --git a/tests/Frameworks/Yii/Version_2_0_49/web/assets/.gitignore b/tests/Frameworks/Yii/Version_2_0_49/web/assets/.gitignore
new file mode 100644
index 0000000000..d6b7ef32c8
--- /dev/null
+++ b/tests/Frameworks/Yii/Version_2_0_49/web/assets/.gitignore
@@ -0,0 +1,2 @@
+*
+!.gitignore
diff --git a/tests/Frameworks/Yii/Version_2_0_49/web/css/site.css b/tests/Frameworks/Yii/Version_2_0_49/web/css/site.css
new file mode 100644
index 0000000000..2bfebd275e
--- /dev/null
+++ b/tests/Frameworks/Yii/Version_2_0_49/web/css/site.css
@@ -0,0 +1,115 @@
+html,
+body {
+ height: 100%;
+}
+
+.wrap {
+ min-height: 100%;
+ height: auto;
+ margin: 0 auto -60px;
+ padding: 0 0 60px;
+}
+
+.wrap > .container {
+ padding: 70px 15px 20px;
+}
+
+.footer {
+ height: 60px;
+ background-color: #f5f5f5;
+ border-top: 1px solid #ddd;
+ padding-top: 20px;
+}
+
+.jumbotron {
+ text-align: center;
+ background-color: transparent;
+}
+
+.jumbotron .btn {
+ font-size: 21px;
+ padding: 14px 24px;
+}
+
+.not-set {
+ color: #c55;
+ font-style: italic;
+}
+
+/* add sorting icons to gridview sort links */
+a.asc:after, a.desc:after {
+ position: relative;
+ top: 1px;
+ display: inline-block;
+ font-family: 'Glyphicons Halflings';
+ font-style: normal;
+ font-weight: normal;
+ line-height: 1;
+ padding-left: 5px;
+}
+
+a.asc:after {
+ content: /*"\e113"*/ "\e151";
+}
+
+a.desc:after {
+ content: /*"\e114"*/ "\e152";
+}
+
+.sort-numerical a.asc:after {
+ content: "\e153";
+}
+
+.sort-numerical a.desc:after {
+ content: "\e154";
+}
+
+.sort-ordinal a.asc:after {
+ content: "\e155";
+}
+
+.sort-ordinal a.desc:after {
+ content: "\e156";
+}
+
+.grid-view th {
+ white-space: nowrap;
+}
+
+.hint-block {
+ display: block;
+ margin-top: 5px;
+ color: #999;
+}
+
+.error-summary {
+ color: #a94442;
+ background: #fdf7f7;
+ border-left: 3px solid #eed3d7;
+ padding: 10px 20px;
+ margin: 0 0 15px 0;
+}
+
+/* align the logout "link" (button in form) of the navbar */
+.nav li > form > button.logout {
+ padding: 15px;
+ border: none;
+}
+
+@media(max-width:767px) {
+ .nav li > form > button.logout {
+ display:block;
+ text-align: left;
+ width: 100%;
+ padding: 10px 15px;
+ }
+}
+
+.nav > li > form > button.logout:focus,
+.nav > li > form > button.logout:hover {
+ text-decoration: none;
+}
+
+.nav > li > form > button.logout:focus {
+ outline: none;
+}
diff --git a/tests/Frameworks/Yii/Version_2_0_49/web/favicon.ico b/tests/Frameworks/Yii/Version_2_0_49/web/favicon.ico
new file mode 100644
index 0000000000..580ed732e8
Binary files /dev/null and b/tests/Frameworks/Yii/Version_2_0_49/web/favicon.ico differ
diff --git a/tests/Frameworks/Yii/Version_2_0_49/web/index-test.php b/tests/Frameworks/Yii/Version_2_0_49/web/index-test.php
new file mode 100644
index 0000000000..1ec192f229
--- /dev/null
+++ b/tests/Frameworks/Yii/Version_2_0_49/web/index-test.php
@@ -0,0 +1,16 @@
+run();
diff --git a/tests/Frameworks/Yii/Version_2_0_49/web/index.php b/tests/Frameworks/Yii/Version_2_0_49/web/index.php
new file mode 100644
index 0000000000..9526e8aa83
--- /dev/null
+++ b/tests/Frameworks/Yii/Version_2_0_49/web/index.php
@@ -0,0 +1,12 @@
+run();
diff --git a/tests/Frameworks/Yii/Version_2_0_49/web/robots.txt b/tests/Frameworks/Yii/Version_2_0_49/web/robots.txt
new file mode 100644
index 0000000000..6f27bb66a3
--- /dev/null
+++ b/tests/Frameworks/Yii/Version_2_0_49/web/robots.txt
@@ -0,0 +1,2 @@
+User-agent: *
+Disallow:
\ No newline at end of file
diff --git a/tests/Frameworks/Yii/Version_2_0_49/widgets/Alert.php b/tests/Frameworks/Yii/Version_2_0_49/widgets/Alert.php
new file mode 100644
index 0000000000..ae6c1d85c1
--- /dev/null
+++ b/tests/Frameworks/Yii/Version_2_0_49/widgets/Alert.php
@@ -0,0 +1,75 @@
+session->setFlash('error', 'This is the message');
+ * Yii::$app->session->setFlash('success', 'This is the message');
+ * Yii::$app->session->setFlash('info', 'This is the message');
+ * ```
+ *
+ * Multiple messages could be set as follows:
+ *
+ * ```php
+ * Yii::$app->session->setFlash('error', ['Error 1', 'Error 2']);
+ * ```
+ *
+ * @author Kartik Visweswaran
+ * @author Alexander Makarov
+ */
+class Alert extends \yii\bootstrap\Widget
+{
+ /**
+ * @var array the alert types configuration for the flash messages.
+ * This array is setup as $key => $value, where:
+ * - key: the name of the session flash variable
+ * - value: the bootstrap alert type (i.e. danger, success, info, warning)
+ */
+ public $alertTypes = [
+ 'error' => 'alert-danger',
+ 'danger' => 'alert-danger',
+ 'success' => 'alert-success',
+ 'info' => 'alert-info',
+ 'warning' => 'alert-warning'
+ ];
+ /**
+ * @var array the options for rendering the close button tag.
+ * Array will be passed to [[\yii\bootstrap\Alert::closeButton]].
+ */
+ public $closeButton = [];
+
+
+ /**
+ * {@inheritdoc}
+ */
+ public function run()
+ {
+ $session = Yii::$app->session;
+ $flashes = $session->getAllFlashes();
+ $appendClass = isset($this->options['class']) ? ' ' . $this->options['class'] : '';
+
+ foreach ($flashes as $type => $flash) {
+ if (!isset($this->alertTypes[$type])) {
+ continue;
+ }
+
+ foreach ((array) $flash as $i => $message) {
+ echo \yii\bootstrap\Alert::widget([
+ 'body' => $message,
+ 'closeButton' => $this->closeButton,
+ 'options' => array_merge($this->options, [
+ 'id' => $this->getId() . '-' . $type . '-' . $i,
+ 'class' => $this->alertTypes[$type] . $appendClass,
+ ]),
+ ]);
+ }
+
+ $session->removeFlash($type);
+ }
+ }
+}
diff --git a/tests/Frameworks/Yii/Version_2_0_49/yii b/tests/Frameworks/Yii/Version_2_0_49/yii
new file mode 100755
index 0000000000..2a2e8ede77
--- /dev/null
+++ b/tests/Frameworks/Yii/Version_2_0_49/yii
@@ -0,0 +1,21 @@
+#!/usr/bin/env php
+run();
+exit($exitCode);
diff --git a/tests/Frameworks/Yii/Version_2_0_49/yii.bat b/tests/Frameworks/Yii/Version_2_0_49/yii.bat
new file mode 100644
index 0000000000..d516b3a192
--- /dev/null
+++ b/tests/Frameworks/Yii/Version_2_0_49/yii.bat
@@ -0,0 +1,20 @@
+@echo off
+
+rem -------------------------------------------------------------
+rem Yii command line bootstrap script for Windows.
+rem
+rem @author Qiang Xue
+rem @link http://www.yiiframework.com/
+rem @copyright Copyright (c) 2008 Yii Software LLC
+rem @license http://www.yiiframework.com/license/
+rem -------------------------------------------------------------
+
+@setlocal
+
+set YII_PATH=%~dp0
+
+if "%PHP_COMMAND%" == "" set PHP_COMMAND=php.exe
+
+"%PHP_COMMAND%" "%YII_PATH%yii" %*
+
+@endlocal
diff --git a/tests/Integration/BootstrapTest.php b/tests/Integration/BootstrapTest.php
index 4eb7a2b7ba..53bb2c0805 100644
--- a/tests/Integration/BootstrapTest.php
+++ b/tests/Integration/BootstrapTest.php
@@ -9,7 +9,7 @@
final class BootstrapTest extends WebFrameworkTestCase
{
- protected static function getAppIndexScript()
+ public static function getAppIndexScript()
{
return __DIR__ . '/BootstrapTest_files/index.php';
}
diff --git a/tests/Integration/DisabledTest.php b/tests/Integration/DisabledTest.php
index 70bec0c517..4adcfe24a2 100644
--- a/tests/Integration/DisabledTest.php
+++ b/tests/Integration/DisabledTest.php
@@ -23,4 +23,4 @@ public function testDisablingCLI()
$this->assertEmpty($agentRequest);
}
-}
+}
\ No newline at end of file
diff --git a/tests/Integration/ErrorReporting/ErrorReportingTest.php b/tests/Integration/ErrorReporting/ErrorReportingTest.php
index 2970b88a42..87b97fd83d 100644
--- a/tests/Integration/ErrorReporting/ErrorReportingTest.php
+++ b/tests/Integration/ErrorReporting/ErrorReportingTest.php
@@ -7,7 +7,7 @@
final class ErrorReportingTest extends WebFrameworkTestCase
{
- protected static function getAppIndexScript()
+ public static function getAppIndexScript()
{
return __DIR__ . '/scripts/index.php';
}
diff --git a/tests/Integration/LongRunning/LongRunningScriptTest.php b/tests/Integration/LongRunning/LongRunningScriptTest.php
index fe2791a8cc..ea557f8da0 100644
--- a/tests/Integration/LongRunning/LongRunningScriptTest.php
+++ b/tests/Integration/LongRunning/LongRunningScriptTest.php
@@ -66,4 +66,4 @@ public function testTracesFromLongRunningFunctionWithMixedTracing()
$rootTraceAssertion(2),
]);
}
-}
+}
\ No newline at end of file
diff --git a/tests/Integration/ResponseStatusCodeTest.php b/tests/Integration/ResponseStatusCodeTest.php
index 8ade570ae5..ee1a949a72 100644
--- a/tests/Integration/ResponseStatusCodeTest.php
+++ b/tests/Integration/ResponseStatusCodeTest.php
@@ -8,7 +8,7 @@
class ResponseStatusCodeTest extends WebFrameworkTestCase
{
- protected static function getAppIndexScript()
+ public static function getAppIndexScript()
{
return __DIR__ . '/ResponseStatusCodeTest_files/index.php';
}
diff --git a/tests/Integrations/AMQP/V3_5/AMQPTest.php b/tests/Integrations/AMQP/Latest/AMQPTest.php
similarity index 60%
rename from tests/Integrations/AMQP/V3_5/AMQPTest.php
rename to tests/Integrations/AMQP/Latest/AMQPTest.php
index 34869f8498..606d713964 100644
--- a/tests/Integrations/AMQP/V3_5/AMQPTest.php
+++ b/tests/Integrations/AMQP/Latest/AMQPTest.php
@@ -1,7 +1,7 @@
retrieveDumpedData();
@@ -135,4 +130,4 @@ public function testCommandWithArgument()
]),
]);
}
-}
+}
\ No newline at end of file
diff --git a/tests/Integrations/CLI/Laravel/V10_X/CommonScenariosTest.php b/tests/Integrations/CLI/Laravel/V10_X/CommonScenariosTest.php
index bff5381492..65bf99a734 100644
--- a/tests/Integrations/CLI/Laravel/V10_X/CommonScenariosTest.php
+++ b/tests/Integrations/CLI/Laravel/V10_X/CommonScenariosTest.php
@@ -55,4 +55,4 @@ public function testCommandWithError()
])->setError(),
]);
}
-}
+}
\ No newline at end of file
diff --git a/tests/Integrations/CLI/Laravel/V5_8/CommonScenariosTest.php b/tests/Integrations/CLI/Laravel/V5_8/CommonScenariosTest.php
index 9311e5a9cf..b53a16bb39 100644
--- a/tests/Integrations/CLI/Laravel/V5_8/CommonScenariosTest.php
+++ b/tests/Integrations/CLI/Laravel/V5_8/CommonScenariosTest.php
@@ -137,4 +137,4 @@ public function testCommandWithError()
])->setError(),
]);
}
-}
+}
\ No newline at end of file
diff --git a/tests/Integrations/CLI/Laravel/V8_X/CommonScenariosTest.php b/tests/Integrations/CLI/Laravel/V8_X/CommonScenariosTest.php
index 4758d66e44..49de6dd0c0 100644
--- a/tests/Integrations/CLI/Laravel/V8_X/CommonScenariosTest.php
+++ b/tests/Integrations/CLI/Laravel/V8_X/CommonScenariosTest.php
@@ -144,4 +144,4 @@ public function testCommandWithError()
])->setError(),
]);
}
-}
+}
\ No newline at end of file
diff --git a/tests/Integrations/CLI/Laravel/V9_X/CommonScenariosTest.php b/tests/Integrations/CLI/Laravel/V9_X/CommonScenariosTest.php
index bfcc6f196d..1554c239ec 100644
--- a/tests/Integrations/CLI/Laravel/V9_X/CommonScenariosTest.php
+++ b/tests/Integrations/CLI/Laravel/V9_X/CommonScenariosTest.php
@@ -147,4 +147,4 @@ public function testCommandWithError()
])->setError(),
]);
}
-}
+}
\ No newline at end of file
diff --git a/tests/Integrations/CLI/Symfony/Latest/CommonScenariosTest.php b/tests/Integrations/CLI/Symfony/Latest/CommonScenariosTest.php
new file mode 100644
index 0000000000..eeb3263dd0
--- /dev/null
+++ b/tests/Integrations/CLI/Symfony/Latest/CommonScenariosTest.php
@@ -0,0 +1,11 @@
+inCli(static::getConsoleScript(), [
@@ -160,4 +165,4 @@ public function testLongRunningCommandWithoutRootSpan()
[]
);
}
-}
+}
\ No newline at end of file
diff --git a/tests/Integrations/CLI/Symfony/V7_0/CommonScenariosTest.php b/tests/Integrations/CLI/Symfony/V7_0/CommonScenariosTest.php
deleted file mode 100644
index 992271a8bb..0000000000
--- a/tests/Integrations/CLI/Symfony/V7_0/CommonScenariosTest.php
+++ /dev/null
@@ -1,11 +0,0 @@
- $projectId
diff --git a/tests/Integrations/GoogleSpanner/composer.json b/tests/Integrations/GoogleSpanner/Latest/composer.json
similarity index 62%
rename from tests/Integrations/GoogleSpanner/composer.json
rename to tests/Integrations/GoogleSpanner/Latest/composer.json
index 24109dab90..d18e6af1a2 100644
--- a/tests/Integrations/GoogleSpanner/composer.json
+++ b/tests/Integrations/GoogleSpanner/Latest/composer.json
@@ -1,8 +1,8 @@
{
"require": {
- "google/cloud-spanner": "^1.80.0"
+ "google/cloud-spanner": "1.92.0"
},
"provide": {
"ext-grpc": "*"
}
-}
+}
\ No newline at end of file
diff --git a/tests/Integrations/GoogleSpanner/dummy_credentials.json b/tests/Integrations/GoogleSpanner/Latest/dummy_credentials.json
similarity index 100%
rename from tests/Integrations/GoogleSpanner/dummy_credentials.json
rename to tests/Integrations/GoogleSpanner/Latest/dummy_credentials.json
diff --git a/tests/Integrations/GoogleSpanner/setup-gcloud.sh b/tests/Integrations/GoogleSpanner/Latest/setup-gcloud.sh
similarity index 100%
rename from tests/Integrations/GoogleSpanner/setup-gcloud.sh
rename to tests/Integrations/GoogleSpanner/Latest/setup-gcloud.sh
diff --git a/tests/Integrations/GoogleSpanner/setup-spanner-emulator.sh b/tests/Integrations/GoogleSpanner/Latest/setup-spanner-emulator.sh
similarity index 100%
rename from tests/Integrations/GoogleSpanner/setup-spanner-emulator.sh
rename to tests/Integrations/GoogleSpanner/Latest/setup-spanner-emulator.sh
diff --git a/tests/Integrations/Guzzle/V7/GuzzleIntegrationTest.php b/tests/Integrations/Guzzle/Latest/GuzzleIntegrationTest.php
similarity index 98%
rename from tests/Integrations/Guzzle/V7/GuzzleIntegrationTest.php
rename to tests/Integrations/Guzzle/Latest/GuzzleIntegrationTest.php
index 2debc547a6..ab1a5f8a79 100644
--- a/tests/Integrations/Guzzle/V7/GuzzleIntegrationTest.php
+++ b/tests/Integrations/Guzzle/Latest/GuzzleIntegrationTest.php
@@ -1,6 +1,6 @@
'test_laminas_rest_19']);
+ return array_merge(parent::getEnvs(), ['DD_SERVICE' => 'test_laminas_rest_latest']);
+ }
+
+ public static function getTestedLibrary()
+ {
+ return 'laminas-api-tools/api-tools';
}
public function testScenarioRest4xx()
diff --git a/tests/Integrations/Laminas/V2_0/CommonScenariosTest.php b/tests/Integrations/Laminas/Mvc/Latest/CommonScenariosTest.php
similarity index 84%
rename from tests/Integrations/Laminas/V2_0/CommonScenariosTest.php
rename to tests/Integrations/Laminas/Mvc/Latest/CommonScenariosTest.php
index a6c5e8afc1..07729b887f 100644
--- a/tests/Integrations/Laminas/V2_0/CommonScenariosTest.php
+++ b/tests/Integrations/Laminas/Mvc/Latest/CommonScenariosTest.php
@@ -1,22 +1,25 @@
'test_laminas_20']);
+ return array_merge(parent::getEnvs(), ['DD_SERVICE' => 'test_laminas_mvc_latest']);
+ }
+
+ public static function getTestedLibrary()
+ {
+ return 'laminas/laminas-mvc';
}
public function testScenarioGetReturnString()
diff --git a/tests/Integrations/Laminas/Mvc/V3_3/CommonScenariosTest.php b/tests/Integrations/Laminas/Mvc/V3_3/CommonScenariosTest.php
new file mode 100644
index 0000000000..5f65f118e7
--- /dev/null
+++ b/tests/Integrations/Laminas/Mvc/V3_3/CommonScenariosTest.php
@@ -0,0 +1,11 @@
+tracesFromWebRequestSnapshot(function () {
@@ -80,4 +85,4 @@ public function testScenarioGetDynamicRoute()
);
});
}
-}
+}
\ No newline at end of file
diff --git a/tests/Integrations/Laravel/V5_7/EloquentTest.php b/tests/Integrations/Laravel/V5_7/EloquentTest.php
index 6c7de63ae2..215164818c 100644
--- a/tests/Integrations/Laravel/V5_7/EloquentTest.php
+++ b/tests/Integrations/Laravel/V5_7/EloquentTest.php
@@ -14,7 +14,7 @@ class EloquentTest extends WebFrameworkTestCase
use SpanAssertionTrait;
- protected static function getAppIndexScript()
+ public static function getAppIndexScript()
{
return __DIR__ . '/../../../Frameworks/Laravel/Version_5_7/public/index.php';
}
diff --git a/tests/Integrations/Laravel/V5_7/PathParamsTest.php b/tests/Integrations/Laravel/V5_7/PathParamsTest.php
index 414cdf9eab..e785d642f2 100644
--- a/tests/Integrations/Laravel/V5_7/PathParamsTest.php
+++ b/tests/Integrations/Laravel/V5_7/PathParamsTest.php
@@ -11,7 +11,7 @@ class PathParamsTest extends PathParamsTestSuite
{
public static $database = "laravel57";
- protected static function getAppIndexScript()
+ public static function getAppIndexScript()
{
return __DIR__ . '/../../../Frameworks/Laravel/Version_5_7/public/index.php';
}
diff --git a/tests/Integrations/Laravel/V5_7/PipelineTracingTest.php b/tests/Integrations/Laravel/V5_7/PipelineTracingTest.php
index 40eb25037b..16dcec07e2 100644
--- a/tests/Integrations/Laravel/V5_7/PipelineTracingTest.php
+++ b/tests/Integrations/Laravel/V5_7/PipelineTracingTest.php
@@ -11,7 +11,7 @@ class PipelineTracingTest extends WebFrameworkTestCase
{
public static $database = "laravel57";
- protected static function getAppIndexScript()
+ public static function getAppIndexScript()
{
return __DIR__ . '/../../../Frameworks/Laravel/Version_5_7/public/index.php';
}
diff --git a/tests/Integrations/Laravel/V5_7/QueueTest.php b/tests/Integrations/Laravel/V5_7/QueueTest.php
index d0c5314012..6a7103ee7f 100644
--- a/tests/Integrations/Laravel/V5_7/QueueTest.php
+++ b/tests/Integrations/Laravel/V5_7/QueueTest.php
@@ -6,7 +6,7 @@ class QueueTest extends \DDTrace\Tests\Integrations\Laravel\V5_8\QueueTest
{
public static $database = "laravel57";
- protected static function getAppIndexScript()
+ public static function getAppIndexScript()
{
return __DIR__ . '/../../../Frameworks/Laravel/Version_5_7/public/index.php';
}
diff --git a/tests/Integrations/Laravel/V5_7/TraceSearchConfigTest.php b/tests/Integrations/Laravel/V5_7/TraceSearchConfigTest.php
index db975b80f6..3f9725f1ea 100644
--- a/tests/Integrations/Laravel/V5_7/TraceSearchConfigTest.php
+++ b/tests/Integrations/Laravel/V5_7/TraceSearchConfigTest.php
@@ -11,7 +11,7 @@ class TraceSearchConfigTest extends WebFrameworkTestCase
{
public static $database = "laravel57";
- protected static function getAppIndexScript()
+ public static function getAppIndexScript()
{
return __DIR__ . '/../../../Frameworks/Laravel/Version_5_7/public/index.php';
}
diff --git a/tests/Integrations/Laravel/V5_8/AutomatedLoginEventsTest.php b/tests/Integrations/Laravel/V5_8/AutomatedLoginEventsTest.php
index 0d8ea732e6..c56479ddac 100644
--- a/tests/Integrations/Laravel/V5_8/AutomatedLoginEventsTest.php
+++ b/tests/Integrations/Laravel/V5_8/AutomatedLoginEventsTest.php
@@ -11,7 +11,7 @@ class AutomatedLoginEventsTest extends AutomatedLoginEventsTestSuite
{
public static $database = "laravel58";
- protected static function getAppIndexScript()
+ public static function getAppIndexScript()
{
return __DIR__ . '/../../../Frameworks/Laravel/Version_5_8/public/index.php';
}
diff --git a/tests/Integrations/Laravel/V5_8/CommonScenariosTest.php b/tests/Integrations/Laravel/V5_8/CommonScenariosTest.php
index 042c7c42a3..5caa197017 100644
--- a/tests/Integrations/Laravel/V5_8/CommonScenariosTest.php
+++ b/tests/Integrations/Laravel/V5_8/CommonScenariosTest.php
@@ -6,7 +6,7 @@ class CommonScenariosTest extends \DDTrace\Tests\Integrations\Laravel\V5_7\Commo
{
public static $database = "laravel58";
- protected static function getAppIndexScript()
+ public static function getAppIndexScript()
{
return __DIR__ . '/../../../Frameworks/Laravel/Version_5_8/public/index.php';
}
diff --git a/tests/Integrations/Laravel/V5_8/EloquentTest.php b/tests/Integrations/Laravel/V5_8/EloquentTest.php
index 47a2799c02..187ba9a809 100644
--- a/tests/Integrations/Laravel/V5_8/EloquentTest.php
+++ b/tests/Integrations/Laravel/V5_8/EloquentTest.php
@@ -11,7 +11,7 @@ class EloquentTest extends WebFrameworkTestCase
{
public static $database = "laravel58";
- protected static function getAppIndexScript()
+ public static function getAppIndexScript()
{
return __DIR__ . '/../../../Frameworks/Laravel/Version_5_8/public/index.php';
}
diff --git a/tests/Integrations/Laravel/V5_8/PathParamsTest.php b/tests/Integrations/Laravel/V5_8/PathParamsTest.php
index 358d2a7453..5497aed2f1 100644
--- a/tests/Integrations/Laravel/V5_8/PathParamsTest.php
+++ b/tests/Integrations/Laravel/V5_8/PathParamsTest.php
@@ -11,7 +11,7 @@ class PathParamsTest extends PathParamsTestSuite
{
public static $database = "laravel58";
- protected static function getAppIndexScript()
+ public static function getAppIndexScript()
{
return __DIR__ . '/../../../Frameworks/Laravel/Version_5_8/public/index.php';
}
diff --git a/tests/Integrations/Laravel/V5_8/QueueTest.php b/tests/Integrations/Laravel/V5_8/QueueTest.php
index b09b790716..99f8f0fe36 100644
--- a/tests/Integrations/Laravel/V5_8/QueueTest.php
+++ b/tests/Integrations/Laravel/V5_8/QueueTest.php
@@ -11,7 +11,7 @@ class QueueTest extends WebFrameworkTestCase
{
public static $database = "laravel58";
- protected static function getAppIndexScript()
+ public static function getAppIndexScript()
{
return __DIR__ . '/../../../Frameworks/Laravel/Version_5_8/public/index.php';
}
diff --git a/tests/Integrations/Laravel/V5_8/TraceSearchConfigTest.php b/tests/Integrations/Laravel/V5_8/TraceSearchConfigTest.php
index a3bfa259e9..957c6be488 100644
--- a/tests/Integrations/Laravel/V5_8/TraceSearchConfigTest.php
+++ b/tests/Integrations/Laravel/V5_8/TraceSearchConfigTest.php
@@ -11,7 +11,7 @@ class TraceSearchConfigTest extends WebFrameworkTestCase
{
public static $database = "laravel58";
- protected static function getAppIndexScript()
+ public static function getAppIndexScript()
{
return __DIR__ . '/../../../Frameworks/Laravel/Version_5_8/public/index.php';
}
diff --git a/tests/Integrations/Laravel/V8_x/AutomatedLoginEventsTest.php b/tests/Integrations/Laravel/V8_x/AutomatedLoginEventsTest.php
index 7d5db973ca..4f7bed762c 100644
--- a/tests/Integrations/Laravel/V8_x/AutomatedLoginEventsTest.php
+++ b/tests/Integrations/Laravel/V8_x/AutomatedLoginEventsTest.php
@@ -11,7 +11,7 @@ class AutomatedLoginEventsTest extends AutomatedLoginEventsTestSuite
{
public static $database = "laravel8";
- protected static function getAppIndexScript()
+ public static function getAppIndexScript()
{
return __DIR__ . '/../../../Frameworks/Laravel/Version_8_x/public/index.php';
}
diff --git a/tests/Integrations/Laravel/V8_x/CommonScenariosTest.php b/tests/Integrations/Laravel/V8_x/CommonScenariosTest.php
index 10c8cb17cd..caab5be6fc 100644
--- a/tests/Integrations/Laravel/V8_x/CommonScenariosTest.php
+++ b/tests/Integrations/Laravel/V8_x/CommonScenariosTest.php
@@ -12,7 +12,7 @@ class CommonScenariosTest extends \DDTrace\Tests\Integrations\Laravel\V5_7\Commo
{
public static $database = "laravel8";
- protected static function getAppIndexScript()
+ public static function getAppIndexScript()
{
return __DIR__ . '/../../../Frameworks/Laravel/Version_8_x/public/index.php';
}
diff --git a/tests/Integrations/Laravel/V8_x/EloquentTest.php b/tests/Integrations/Laravel/V8_x/EloquentTest.php
index e6462ff79c..2da05ba4c7 100644
--- a/tests/Integrations/Laravel/V8_x/EloquentTest.php
+++ b/tests/Integrations/Laravel/V8_x/EloquentTest.php
@@ -11,7 +11,7 @@ class EloquentTest extends WebFrameworkTestCase
{
public static $database = "laravel8";
- protected static function getAppIndexScript()
+ public static function getAppIndexScript()
{
return __DIR__ . '/../../../Frameworks/Laravel/Version_8_x/public/index.php';
}
diff --git a/tests/Integrations/Laravel/V8_x/HttpHideRouteTest.php b/tests/Integrations/Laravel/V8_x/HttpHideRouteTest.php
index e629b94e0f..10fe86f26f 100644
--- a/tests/Integrations/Laravel/V8_x/HttpHideRouteTest.php
+++ b/tests/Integrations/Laravel/V8_x/HttpHideRouteTest.php
@@ -12,7 +12,7 @@ class HttpHideRouteTest extends WebFrameworkTestCase
{
public static $database = "laravel8";
- protected static function getAppIndexScript()
+ public static function getAppIndexScript()
{
return __DIR__ . '/../../../Frameworks/Laravel/Version_8_x/public/index.php';
}
diff --git a/tests/Integrations/Laravel/V8_x/InternalExceptionsTest.php b/tests/Integrations/Laravel/V8_x/InternalExceptionsTest.php
index b27527c8b6..6854dd6fea 100644
--- a/tests/Integrations/Laravel/V8_x/InternalExceptionsTest.php
+++ b/tests/Integrations/Laravel/V8_x/InternalExceptionsTest.php
@@ -11,7 +11,7 @@ class InternalExceptionsTest extends WebFrameworkTestCase
{
public static $database = "laravel8";
- protected static function getAppIndexScript()
+ public static function getAppIndexScript()
{
return __DIR__ . '/../../../Frameworks/Laravel/Version_8_x/public/index.php';
}
diff --git a/tests/Integrations/Laravel/V8_x/PathParamsTest.php b/tests/Integrations/Laravel/V8_x/PathParamsTest.php
index 1a6f81bc2c..19ccb3fa3e 100644
--- a/tests/Integrations/Laravel/V8_x/PathParamsTest.php
+++ b/tests/Integrations/Laravel/V8_x/PathParamsTest.php
@@ -11,7 +11,7 @@ class PathParamsTest extends PathParamsTestSuite
{
public static $database = "laravel8";
- protected static function getAppIndexScript()
+ public static function getAppIndexScript()
{
return __DIR__ . '/../../../Frameworks/Laravel/Version_8_x/public/index.php';
}
diff --git a/tests/Integrations/Laravel/V8_x/QueueTest.php b/tests/Integrations/Laravel/V8_x/QueueTest.php
index e0c66ed88c..f16f34cedc 100644
--- a/tests/Integrations/Laravel/V8_x/QueueTest.php
+++ b/tests/Integrations/Laravel/V8_x/QueueTest.php
@@ -11,7 +11,7 @@ class QueueTest extends WebFrameworkTestCase
{
public static $database = "laravel8";
- protected static function getAppIndexScript()
+ public static function getAppIndexScript()
{
return __DIR__ . '/../../../Frameworks/Laravel/Version_8_x/public/index.php';
}
diff --git a/tests/Integrations/Laravel/V8_x/QueueTestNotDistributed.php b/tests/Integrations/Laravel/V8_x/QueueTestNotDistributed.php
index 72a1a3f751..016a3366de 100644
--- a/tests/Integrations/Laravel/V8_x/QueueTestNotDistributed.php
+++ b/tests/Integrations/Laravel/V8_x/QueueTestNotDistributed.php
@@ -11,7 +11,7 @@ class QueueTestNotDistributed extends WebFrameworkTestCase
{
public static $database = "laravel8";
- protected static function getAppIndexScript()
+ public static function getAppIndexScript()
{
return __DIR__ . '/../../../Frameworks/Laravel/Version_8_x/public/index.php';
}
diff --git a/tests/Integrations/Laravel/V8_x/RouteCachingTest.php b/tests/Integrations/Laravel/V8_x/RouteCachingTest.php
index 1a357f8a4c..bd6a48fe13 100644
--- a/tests/Integrations/Laravel/V8_x/RouteCachingTest.php
+++ b/tests/Integrations/Laravel/V8_x/RouteCachingTest.php
@@ -12,7 +12,7 @@ class RouteCachingTest extends WebFrameworkTestCase
{
public static $database = "laravel8";
- protected static function getAppIndexScript()
+ public static function getAppIndexScript()
{
return __DIR__ . '/../../../Frameworks/Laravel/Version_8_x/public/index.php';
}
diff --git a/tests/Integrations/Laravel/V8_x/TraceSearchConfigTest.php b/tests/Integrations/Laravel/V8_x/TraceSearchConfigTest.php
index 4c98522fc8..eeacce2100 100644
--- a/tests/Integrations/Laravel/V8_x/TraceSearchConfigTest.php
+++ b/tests/Integrations/Laravel/V8_x/TraceSearchConfigTest.php
@@ -11,7 +11,7 @@ class TraceSearchConfigTest extends WebFrameworkTestCase
{
public static $database = "laravel8";
- protected static function getAppIndexScript()
+ public static function getAppIndexScript()
{
return __DIR__ . '/../../../Frameworks/Laravel/Version_8_x/public/index.php';
}
diff --git a/tests/Integrations/Laravel/V9_x/AutomatedLoginEventsTest.php b/tests/Integrations/Laravel/V9_x/AutomatedLoginEventsTest.php
index 89fafef9d8..fe6feaddda 100644
--- a/tests/Integrations/Laravel/V9_x/AutomatedLoginEventsTest.php
+++ b/tests/Integrations/Laravel/V9_x/AutomatedLoginEventsTest.php
@@ -11,7 +11,7 @@ class AutomatedLoginEventsTest extends AutomatedLoginEventsTestSuite
{
public static $database = "laravel9";
- protected static function getAppIndexScript()
+ public static function getAppIndexScript()
{
return __DIR__ . '/../../../Frameworks/Laravel/Version_9_x/public/index.php';
}
diff --git a/tests/Integrations/Laravel/V9_x/CommonScenariosTest.php b/tests/Integrations/Laravel/V9_x/CommonScenariosTest.php
index aa15066f69..9c66a2a545 100644
--- a/tests/Integrations/Laravel/V9_x/CommonScenariosTest.php
+++ b/tests/Integrations/Laravel/V9_x/CommonScenariosTest.php
@@ -9,7 +9,7 @@ class CommonScenariosTest extends \DDTrace\Tests\Integrations\Laravel\V5_7\Commo
{
public static $database = "laravel9";
- protected static function getAppIndexScript()
+ public static function getAppIndexScript()
{
return __DIR__ . '/../../../Frameworks/Laravel/Version_9_x/public/index.php';
}
diff --git a/tests/Integrations/Logs/BaseLogsTest.php b/tests/Integrations/Logs/BaseLogsTest.php
index 3e72b215db..fd105033f4 100644
--- a/tests/Integrations/Logs/BaseLogsTest.php
+++ b/tests/Integrations/Logs/BaseLogsTest.php
@@ -8,6 +8,11 @@
class BaseLogsTest extends \DDTrace\Tests\Common\IntegrationTestCase
{
+ public static function getTestedLibrary()
+ {
+ return 'monolog/monolog';
+ }
+
protected static function logFile()
{
return "/tmp/test-" . substr(static::class, strrpos(static::class, '\\') + 1) . '.log';
@@ -152,4 +157,4 @@ public function usingJson(
$logLevelName
);
}
-}
+}
\ No newline at end of file
diff --git a/tests/Integrations/Logs/MonologLatest/MonologLatestTest.php b/tests/Integrations/Logs/MonologLatest/MonologLatestTest.php
new file mode 100644
index 0000000000..01d4d4d332
--- /dev/null
+++ b/tests/Integrations/Logs/MonologLatest/MonologLatestTest.php
@@ -0,0 +1,9 @@
+brand = $brand;
- }
-}
-
-class AnObject
-{
-}
class MongoDBTest extends IntegrationTestCase
{
@@ -139,7 +125,7 @@ public function testFilterAggregation()
// As stdClass
$traces = $this->isolateTracer(function () use ($pipeline) {
$this->client()->test_db->cars->aggregate(
- \array_map('\DDTrace\Tests\Integrations\Mongo\MongoDBTest::arrayToStdClass', $pipeline)
+ \array_map(__CLASS__ . '::arrayToStdClass', $pipeline)
);
});
$this->assertFlameGraph($traces, $expected);
@@ -147,7 +133,7 @@ public function testFilterAggregation()
// As object
$traces = $this->isolateTracer(function () use ($pipeline) {
$this->client()->test_db->cars->aggregate(
- \array_map('\DDTrace\Tests\Integrations\Mongo\MongoDBTest::arrayToObject', $pipeline)
+ \array_map(__CLASS__ . '::arrayToObject', $pipeline)
);
});
$this->assertFlameGraph($traces, $expected);
@@ -1007,7 +993,7 @@ private function arrayToStdClass(array $array)
{
$obj = new stdClass();
if (self::isListArray($array)) {
- return \array_map('\DDTrace\Tests\Integrations\Mongo\MongoDBTest::' . __FUNCTION__, $array);
+ return \array_map(__CLASS__ . '::' . __FUNCTION__, $array);
}
foreach ($array as $name => $value) {
@@ -1020,7 +1006,7 @@ private function arrayToObject(array $array)
{
$obj = new AnObject();
if (self::isListArray($array)) {
- return \array_map('\DDTrace\Tests\Integrations\Mongo\MongoDBTest::' . __FUNCTION__, $array);
+ return \array_map(__CLASS__ . '::' . __FUNCTION__, $array);
}
foreach ($array as $name => $value) {
@@ -1029,3 +1015,17 @@ private function arrayToObject(array $array)
return $obj;
}
}
+
+class AQuery
+{
+ public $brand;
+
+ public function __construct($brand = 'ferrari')
+ {
+ $this->brand = $brand;
+ }
+}
+
+class AnObject
+{
+}
\ No newline at end of file
diff --git a/tests/Integrations/MongoDB/Latest/composer.json b/tests/Integrations/MongoDB/Latest/composer.json
new file mode 100644
index 0000000000..68f4e44c32
--- /dev/null
+++ b/tests/Integrations/MongoDB/Latest/composer.json
@@ -0,0 +1,5 @@
+{
+ "require": {
+ "mongodb/mongodb": "1.20.0"
+ }
+}
\ No newline at end of file
diff --git a/tests/Integrations/MongoDB/V1_x/MongoDBTest.php b/tests/Integrations/MongoDB/V1_x/MongoDBTest.php
new file mode 100644
index 0000000000..69eb886928
--- /dev/null
+++ b/tests/Integrations/MongoDB/V1_x/MongoDBTest.php
@@ -0,0 +1,8 @@
+ 'server',
Tag::COMPONENT => 'nette'
])
- ->setError('Internal Server Error')
- ->withChildren([
- SpanAssertion::build(
- 'nette.configurator.createRobotLoader',
- 'nette_test_app',
- Type::WEB_SERVLET,
- 'nette.configurator.createRobotLoader'
- )->withExactTags([
- Tag::COMPONENT => 'nette'
- ]),
- SpanAssertion::build(
- 'nette.application.run',
- 'nette_test_app',
- Type::WEB_SERVLET,
- 'nette.application.run'
- )->withExactTags([
- Tag::COMPONENT => 'nette'
- ])->withChildren([
+ ->setError('Internal Server Error')
+ ->withChildren([
SpanAssertion::build(
- 'nette.presenter.run',
+ 'nette.configurator.createRobotLoader',
'nette_test_app',
Type::WEB_SERVLET,
- 'nette.presenter.run'
+ 'nette.configurator.createRobotLoader'
)->withExactTags([
Tag::COMPONENT => 'nette'
+ ]),
+ SpanAssertion::build(
+ 'nette.application.run',
+ 'nette_test_app',
+ Type::WEB_SERVLET,
+ 'nette.application.run'
+ )->withExactTags([
+ Tag::COMPONENT => 'nette'
+ ])->withChildren([
+ SpanAssertion::build(
+ 'nette.presenter.run',
+ 'nette_test_app',
+ Type::WEB_SERVLET,
+ 'nette.presenter.run'
+ )->withExactTags([
+ Tag::COMPONENT => 'nette'
+ ])
+ ->setError('Exception', 'An exception occurred')
+ ->withExistingTagsNames(['error.stack']),
])
- ->setError('Exception', 'An exception occurred')
- ->withExistingTagsNames(['error.stack']),
])
- ])
],
]
);
diff --git a/tests/Integrations/Nette/V3_1/NetteTest.php b/tests/Integrations/Nette/V3_1/NetteTest.php
new file mode 100644
index 0000000000..ad5d740cbc
--- /dev/null
+++ b/tests/Integrations/Nette/V3_1/NetteTest.php
@@ -0,0 +1,17 @@
+assertNotNull($responseIterator);
$this->assertIsIterable($responseIterator);
- $expectedContent = file_get_contents(__DIR__ . '/../../OpenAI/Fixtures/Streams/CompletionCreate.txt');
+ $expectedContent = file_get_contents(__DIR__ . '/../../../OpenAI/Fixtures/Streams/CompletionCreate.txt');
$lines = explode("\n", $expectedContent);
for ($i = 0; $i < 10; $i++) {
$jsonContent = substr($lines[$i], 6); // 6 is the length of 'data: '
@@ -549,4 +549,4 @@ public function testLogPromptCompletionSampleRate()
'user' => 'dd-trace'
]);
}
-}
+}
\ No newline at end of file
diff --git a/tests/Integrations/OpenAI/composer.json b/tests/Integrations/OpenAI/Latest/composer.json
similarity index 70%
rename from tests/Integrations/OpenAI/composer.json
rename to tests/Integrations/OpenAI/Latest/composer.json
index 6bbc027b03..1e8aff5f09 100644
--- a/tests/Integrations/OpenAI/composer.json
+++ b/tests/Integrations/OpenAI/Latest/composer.json
@@ -1,7 +1,7 @@
{
"require": {
- "openai-php/client": "@stable",
+ "openai-php/client": "0.10.3",
"guzzlehttp/guzzle": "^7.8.1",
"guzzlehttp/psr7": "^2.6.2"
}
-}
+}
\ No newline at end of file
diff --git a/tests/Integrations/Predis/PredisTest.php b/tests/Integrations/Predis/Latest/PredisTest.php
similarity index 98%
rename from tests/Integrations/Predis/PredisTest.php
rename to tests/Integrations/Predis/Latest/PredisTest.php
index f7e5d0e703..21cbad16f0 100644
--- a/tests/Integrations/Predis/PredisTest.php
+++ b/tests/Integrations/Predis/Latest/PredisTest.php
@@ -1,17 +1,17 @@
'redis',
];
}
-}
+}
\ No newline at end of file
diff --git a/tests/Integrations/Predis/Latest/composer.json b/tests/Integrations/Predis/Latest/composer.json
new file mode 100644
index 0000000000..5265e3c417
--- /dev/null
+++ b/tests/Integrations/Predis/Latest/composer.json
@@ -0,0 +1,5 @@
+{
+ "require": {
+ "predis/predis": "1.1.10"
+ }
+}
\ No newline at end of file
diff --git a/tests/Integrations/Predis/composer.json b/tests/Integrations/Predis/composer.json
deleted file mode 100644
index 5b58b88b4d..0000000000
--- a/tests/Integrations/Predis/composer.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "require": {
- "predis/predis": "^1.1"
- }
-}
diff --git a/tests/Integrations/Roadrunner/V2/CommonScenariosTest.php b/tests/Integrations/Roadrunner/V2/CommonScenariosTest.php
index efe303b35d..012b25625d 100644
--- a/tests/Integrations/Roadrunner/V2/CommonScenariosTest.php
+++ b/tests/Integrations/Roadrunner/V2/CommonScenariosTest.php
@@ -9,7 +9,7 @@
class CommonScenariosTest extends WebFrameworkTestCase
{
- protected static function getAppIndexScript()
+ public static function getAppIndexScript()
{
return __DIR__ . '/../../../Frameworks/Roadrunner/Version_2/worker.php';
}
diff --git a/tests/Integrations/Roadrunner/V2/DistributedTracingTest.php b/tests/Integrations/Roadrunner/V2/DistributedTracingTest.php
index 4bd0ee04a7..423907d585 100644
--- a/tests/Integrations/Roadrunner/V2/DistributedTracingTest.php
+++ b/tests/Integrations/Roadrunner/V2/DistributedTracingTest.php
@@ -8,7 +8,7 @@
class DistributedTracingTest extends WebFrameworkTestCase
{
- protected static function getAppIndexScript()
+ public static function getAppIndexScript()
{
return __DIR__ . '/../../../Frameworks/Roadrunner/Version_2/worker.php';
}
diff --git a/tests/Integrations/Roadrunner/V2/IPExtractionTest.php b/tests/Integrations/Roadrunner/V2/IPExtractionTest.php
index c753f65339..a3fcc98aa1 100644
--- a/tests/Integrations/Roadrunner/V2/IPExtractionTest.php
+++ b/tests/Integrations/Roadrunner/V2/IPExtractionTest.php
@@ -7,7 +7,7 @@
class IPExtractionTest extends WebFrameworkTestCase
{
- protected static function getAppIndexScript()
+ public static function getAppIndexScript()
{
return __DIR__ . '/../../../Frameworks/Roadrunner/Version_2/worker.php';
}
diff --git a/tests/Integrations/Roadrunner/V2/InvalidContentTypeTest.php b/tests/Integrations/Roadrunner/V2/InvalidContentTypeTest.php
index 545355eb1b..384eb6d01d 100644
--- a/tests/Integrations/Roadrunner/V2/InvalidContentTypeTest.php
+++ b/tests/Integrations/Roadrunner/V2/InvalidContentTypeTest.php
@@ -7,7 +7,7 @@
class InvalidContentTypeTest extends WebFrameworkTestCase
{
- protected static function getAppIndexScript()
+ public static function getAppIndexScript()
{
return __DIR__ . '/../../../Frameworks/Roadrunner/Version_2/worker.php';
}
diff --git a/tests/Integrations/Roadrunner/V2/MultipartFormDataTest.php b/tests/Integrations/Roadrunner/V2/MultipartFormDataTest.php
index f179f022b4..a8a8fc38bd 100644
--- a/tests/Integrations/Roadrunner/V2/MultipartFormDataTest.php
+++ b/tests/Integrations/Roadrunner/V2/MultipartFormDataTest.php
@@ -7,7 +7,7 @@
class MultipartFormDataTest extends WebFrameworkTestCase
{
- protected static function getAppIndexScript()
+ public static function getAppIndexScript()
{
return __DIR__ . '/../../../Frameworks/Roadrunner/Version_2/worker.php';
}
diff --git a/tests/Integrations/Roadrunner/V2/XWwwFormUrlencodedTest.php b/tests/Integrations/Roadrunner/V2/XWwwFormUrlencodedTest.php
index 69553e602b..79ee8ec6dd 100644
--- a/tests/Integrations/Roadrunner/V2/XWwwFormUrlencodedTest.php
+++ b/tests/Integrations/Roadrunner/V2/XWwwFormUrlencodedTest.php
@@ -7,7 +7,7 @@
class XWwwFormUrlencodedTest extends WebFrameworkTestCase
{
- protected static function getAppIndexScript()
+ public static function getAppIndexScript()
{
return __DIR__ . '/../../../Frameworks/Roadrunner/Version_2/worker.php';
}
diff --git a/tests/Integrations/Slim/V4/CommonScenariosTest.php b/tests/Integrations/Slim/Latest/CommonScenariosTest.php
similarity index 96%
rename from tests/Integrations/Slim/V4/CommonScenariosTest.php
rename to tests/Integrations/Slim/Latest/CommonScenariosTest.php
index ba9f9442fd..518893567c 100644
--- a/tests/Integrations/Slim/V4/CommonScenariosTest.php
+++ b/tests/Integrations/Slim/Latest/CommonScenariosTest.php
@@ -1,17 +1,22 @@
'true',
- 'DD_SERVICE' => 'test_symfony_70',
+ 'DD_SERVICE' => 'test_symfony_latest',
]);
}
@@ -44,7 +49,7 @@ public function provideSpecs()
'A simple GET request returning a string' => [
SpanAssertion::build(
'symfony.request',
- 'test_symfony_70',
+ 'test_symfony_latest',
'web',
'simple'
)->withExactTags([
@@ -68,7 +73,7 @@ public function provideSpecs()
SpanAssertion::exists('symfony.kernel.finish_request'),
SpanAssertion::build(
'symfony.controller',
- 'test_symfony_70',
+ 'test_symfony_latest',
'web',
'App\Controller\CommonScenariosController::simpleAction'
)->withExactTags([
@@ -82,7 +87,7 @@ public function provideSpecs()
'A simple GET request with a view' => [
SpanAssertion::build(
'symfony.request',
- 'test_symfony_70',
+ 'test_symfony_latest',
'web',
'simple_view'
)->withExactTags([
@@ -103,7 +108,7 @@ public function provideSpecs()
SpanAssertion::exists('symfony.kernel.controller_arguments'),
SpanAssertion::build(
'symfony.controller',
- 'test_symfony_70',
+ 'test_symfony_latest',
'web',
'App\Controller\CommonScenariosController::simpleViewAction'
)->withExactTags([
@@ -111,7 +116,7 @@ public function provideSpecs()
])->withChildren([
SpanAssertion::build(
'symfony.templating.render',
- 'test_symfony_70',
+ 'test_symfony_latest',
'web',
'Twig\Environment twig_template.html.twig'
)->withExactTags([
@@ -127,7 +132,7 @@ public function provideSpecs()
'A GET request with an exception' => [
SpanAssertion::build(
'symfony.request',
- 'test_symfony_70',
+ 'test_symfony_latest',
'web',
'error'
)->withExactTags([
@@ -152,7 +157,7 @@ public function provideSpecs()
SpanAssertion::exists('symfony.kernel.controller_arguments'),
SpanAssertion::build(
'symfony.controller',
- 'test_symfony_70',
+ 'test_symfony_latest',
'web',
'App\Controller\CommonScenariosController::errorAction'
)->withExactTags([
@@ -179,7 +184,7 @@ public function provideSpecs()
'A GET request to a missing route' => [
SpanAssertion::build(
'symfony.request',
- 'test_symfony_70',
+ 'test_symfony_latest',
'web',
'GET /does_not_exist'
)->withExactTags([
diff --git a/tests/Integrations/Symfony/Latest/ConsoleCommandTest.php b/tests/Integrations/Symfony/Latest/ConsoleCommandTest.php
new file mode 100644
index 0000000000..4a23ff8132
--- /dev/null
+++ b/tests/Integrations/Symfony/Latest/ConsoleCommandTest.php
@@ -0,0 +1,11 @@
+snapshotFromTraces(
$consumerTraces,
self::FIELDS_TO_IGNORE,
- 'tests.integrations.symfony.v7_0.messenger_test.test_async_success_consumer',
+ 'tests.integrations.symfony.latest.messenger_test.test_async_success_consumer',
true
);
}
@@ -87,7 +92,7 @@ public function testAsyncFailure()
$this->snapshotFromTraces(
$consumerTraces,
self::FIELDS_TO_IGNORE,
- 'tests.integrations.symfony.v7_0.messenger_test.test_async_failure_consumer',
+ 'tests.integrations.symfony.latest.messenger_test.test_async_failure_consumer',
true
);
}
diff --git a/tests/Integrations/Symfony/Latest/TraceSearchConfigTest.php b/tests/Integrations/Symfony/Latest/TraceSearchConfigTest.php
new file mode 100644
index 0000000000..9d36b4f577
--- /dev/null
+++ b/tests/Integrations/Symfony/Latest/TraceSearchConfigTest.php
@@ -0,0 +1,11 @@
+ 1]);
}
- protected static function getAppIndexScript()
+ public static function getAppIndexScript()
{
return __DIR__ . '/../../Frameworks/Custom/Version_Not_Autoloaded/sigsegv.php';
}
diff --git a/tests/OpenTelemetry/Integration/InternalTelemetryTest.php b/tests/OpenTelemetry/Integration/InternalTelemetryTest.php
index 9df322e544..c147629d1b 100644
--- a/tests/OpenTelemetry/Integration/InternalTelemetryTest.php
+++ b/tests/OpenTelemetry/Integration/InternalTelemetryTest.php
@@ -70,4 +70,4 @@ public function testInternalMetricWithOpenTelemetry()
$this->assertEquals("spans_created", $allMetrics["spans_created"]["metric"]);
$this->assertEquals(["integration_name:otel"], $allMetrics["spans_created"]["tags"]);
}
-}
+}
\ No newline at end of file
diff --git a/tests/OpenTracing/InternalTelemetryTest.php b/tests/OpenTracing/InternalTelemetryTest.php
index 9ff657148e..2a463f291e 100644
--- a/tests/OpenTracing/InternalTelemetryTest.php
+++ b/tests/OpenTracing/InternalTelemetryTest.php
@@ -58,4 +58,4 @@ public function testInternalMetricWithOpenTracing()
$this->assertEquals("spans_created", $metrics['spans_created'][0]["metric"]);
$this->assertEquals(["integration_name:opentracing"], $metrics['spans_created'][0]["tags"]);
}
-}
+}
\ No newline at end of file
diff --git a/tests/PackageUpdater.php b/tests/PackageUpdater.php
new file mode 100644
index 0000000000..554b87cda7
--- /dev/null
+++ b/tests/PackageUpdater.php
@@ -0,0 +1,180 @@
+findTestFiles();
+ foreach ($files as $file) {
+ $this->processFile($file);
+ }
+ $this->displaySummary();
+ } catch (Throwable $e) {
+ echo "Fatal error: " . $e->getMessage() . "\n";
+ exit(1);
+ }
+ }
+
+ private function findTestFiles(): array
+ {
+ $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator(self::INTEGRATIONS_DIR));
+ $regex = new RegexIterator($iterator, '/^.+Test\.php$/i', RecursiveRegexIterator::GET_MATCH);
+ $files = array_map(fn($file) => $file[0], iterator_to_array($regex));
+ sort($files);
+ return array_filter($files, fn($file) => \str_contains(basename(dirname($file)), 'Latest'));
+ }
+
+ private function processFile(string $file): void
+ {
+ echo "Processing: $file\n";
+
+ try {
+ // Get class info
+ $content = file_get_contents($file);
+ if (!preg_match('/namespace (.+);/', $content, $nsMatch) ||
+ !preg_match('/class (.+) extends/', $content, $classMatch)) {
+ return;
+ }
+
+ $className = "{$nsMatch[1]}\\{$classMatch[1]}";
+ if (!class_exists($className)) {
+ require_once $file;
+ if (!class_exists($className)) return;
+ }
+
+ // Find library and composer.json
+ $library = $this->findLibrary($className, $file);
+ if (!$library) return;
+
+ $composer = $this->findComposerFile($className, $file);
+ if (!$composer) return;
+
+ $this->updatePackageVersion($library, $composer);
+ } catch (Throwable $e) {
+ $this->errors[] = "Error processing $file: " . $e->getMessage();
+ }
+ }
+
+ private function findLibrary(string $className, string $file): ?string
+ {
+ if (method_exists($className, 'getTestedLibrary')) {
+ return call_user_func([$className, 'getTestedLibrary']);
+ }
+
+ $composerFile = dirname($file) . '/composer.json';
+ if (file_exists($composerFile)) {
+ $data = json_decode(file_get_contents($composerFile), true);
+ return key($data['require'] ?? []) ?: null;
+ }
+
+ return null;
+ }
+
+ private function findComposerFile(string $className, string $file): ?string
+ {
+ foreach (['getAppIndexScript', 'getConsoleScript'] as $method) {
+ if (method_exists($className, $method)) {
+ $dir = dirname(call_user_func([$className, $method]));
+ while (basename($dir) !== 'Frameworks') {
+ $possible = "$dir/composer.json";
+ if (file_exists($possible)) {
+ return $possible;
+ }
+ $dir = dirname($dir);
+ }
+ }
+ }
+
+ $composer = dirname($file) . '/composer.json';
+ return file_exists($composer) ? $composer : null;
+ }
+
+ private function updatePackageVersion(string $library, string $composerFile): void
+ {
+ $latestVersion = $this->getLatestVersion($library);
+ if (!$latestVersion) {
+ throw new \Exception("Could not find latest version for $library");
+ }
+
+ $composerData = json_decode(file_get_contents($composerFile), true);
+ $currentVersion = $composerData['require'][$library] ?? null;
+
+ if ($latestVersion !== $currentVersion) {
+ $composerData['require'][$library] = $latestVersion;
+ file_put_contents($composerFile, json_encode($composerData, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES));
+ $this->updates[] = compact('library', 'currentVersion', 'latestVersion', 'composerFile');
+ }
+ }
+
+ private function getLatestVersion(string $library): ?string
+ {
+ $ch = curl_init(sprintf(self::PACKAGIST_API_URL, $library));
+ curl_setopt_array($ch, [
+ CURLOPT_RETURNTRANSFER => true,
+ CURLOPT_TIMEOUT => 10,
+ CURLOPT_FOLLOWLOCATION => true,
+ ]);
+
+ $response = curl_exec($ch);
+ curl_close($ch);
+ if (!$response) {
+ return null;
+ }
+
+ $data = json_decode($response, true);
+ if (empty($data['packages'][$library])) {
+ return null;
+ }
+
+ $versions = array_filter(
+ $data['packages'][$library],
+ fn($pkg) => isset($pkg['version_normalized']) &&
+ !preg_match('/(alpha|beta|rc|dev)/i', $pkg['version_normalized'])
+ );
+ if (empty($versions)) {
+ return null;
+ }
+
+ usort($versions, fn($a, $b) =>
+ version_compare($b['version_normalized'], $a['version_normalized'])
+ );
+
+ return preg_replace('/^(\d+\.\d+\.\d+).*$/', '$1', $versions[0]['version_normalized']);
+ }
+
+ private function displaySummary(): void
+ {
+ if ($this->updates) {
+ echo "\nPackages updated:\n";
+ foreach ($this->updates as $update) {
+ echo sprintf("- %s: %s → %s (%s)\n",
+ $update['library'],
+ $update['currentVersion'],
+ $update['latestVersion'],
+ $update['composerFile']
+ );
+ }
+ }
+
+ if ($this->errors) {
+ echo "\nErrors encountered:\n";
+ foreach ($this->errors as $error) {
+ echo "- $error\n";
+ }
+ }
+ }
+}
+
+(new PackageUpdater())->run();
\ No newline at end of file
diff --git a/tests/phpunit.xml b/tests/phpunit.xml
index 4e36afbfc6..c44f1f70f5 100644
--- a/tests/phpunit.xml
+++ b/tests/phpunit.xml
@@ -37,9 +37,9 @@
./Integrations/CakePHP/V4_5
./Integrations/CLI/CakePHP/V4_5
-
- ./Integrations/CakePHP/V5_0
- ./Integrations/CLI/CakePHP/V5_0
+
+ ./Integrations/CakePHP/Latest
+ ./Integrations/CLI/CakePHP/Latest
./Integrations/CodeIgniter/V2_2
@@ -66,12 +66,12 @@
./Integrations/Laravel/V10_x
./Integrations/CLI/Laravel/V10_X
-
- ./Integrations/Laravel/V11_x
- ./Integrations/CLI/Laravel/V11_X
+
+ ./Integrations/Laravel/Latest
+ ./Integrations/CLI/Laravel/Latest
-
- ./Integrations/Laravel/Octane
+
+ ./Integrations/Laravel/Octane/Latest
./OpenTelemetry/Integration/Context/Fiber
@@ -88,8 +88,11 @@
./Integrations/Slim/V3_12
-
- ./Integrations/Slim/V4
+
+ ./Integrations/Slim/V4_8
+
+
+ ./Integrations/Slim/Latest
./Integrations/Frankenphp
@@ -109,9 +112,9 @@
./Integrations/Symfony/V6_2
./Integrations/CLI/Symfony/V6_2
-
- ./Integrations/Symfony/V7_0
- ./Integrations/CLI/Symfony/V7_0
+
+ ./Integrations/Symfony/Latest
+ ./Integrations/CLI/Symfony/Latest
./Integrations/Custom/Autoloaded
@@ -133,4 +136,4 @@
../src/dogstatsd
-
+
\ No newline at end of file
diff --git a/tests/snapshots/tests.integrations.google_spanner.google_spanner_integration_test.test_database.json b/tests/snapshots/tests.integrations.google_spanner.latest.google_spanner_integration_test.test_database.json
similarity index 100%
rename from tests/snapshots/tests.integrations.google_spanner.google_spanner_integration_test.test_database.json
rename to tests/snapshots/tests.integrations.google_spanner.latest.google_spanner_integration_test.test_database.json
diff --git a/tests/snapshots/tests.integrations.google_spanner.google_spanner_integration_test.test_instance.json b/tests/snapshots/tests.integrations.google_spanner.latest.google_spanner_integration_test.test_instance.json
similarity index 100%
rename from tests/snapshots/tests.integrations.google_spanner.google_spanner_integration_test.test_instance.json
rename to tests/snapshots/tests.integrations.google_spanner.latest.google_spanner_integration_test.test_instance.json
diff --git a/tests/snapshots/tests.integrations.google_spanner.google_spanner_integration_test.test_query.json b/tests/snapshots/tests.integrations.google_spanner.latest.google_spanner_integration_test.test_query.json
similarity index 100%
rename from tests/snapshots/tests.integrations.google_spanner.google_spanner_integration_test.test_query.json
rename to tests/snapshots/tests.integrations.google_spanner.latest.google_spanner_integration_test.test_query.json
diff --git a/tests/snapshots/tests.integrations.google_spanner.google_spanner_integration_test.test_transaction.json b/tests/snapshots/tests.integrations.google_spanner.latest.google_spanner_integration_test.test_transaction.json
similarity index 100%
rename from tests/snapshots/tests.integrations.google_spanner.google_spanner_integration_test.test_transaction.json
rename to tests/snapshots/tests.integrations.google_spanner.latest.google_spanner_integration_test.test_transaction.json
diff --git a/tests/snapshots/tests.integrations.guzzle.v7.guzzle_integration_test.test_multi_exec.json b/tests/snapshots/tests.integrations.guzzle.latest.guzzle_integration_test.test_multi_exec.json
similarity index 100%
rename from tests/snapshots/tests.integrations.guzzle.v7.guzzle_integration_test.test_multi_exec.json
rename to tests/snapshots/tests.integrations.guzzle.latest.guzzle_integration_test.test_multi_exec.json
diff --git a/tests/snapshots/tests.integrations.laminas.api_tools.v1_9.rest_test.test_scenario_rest2xx.json b/tests/snapshots/tests.integrations.laminas.api_tools.latest.rest_test.test_scenario_rest2xx.json
similarity index 87%
rename from tests/snapshots/tests.integrations.laminas.api_tools.v1_9.rest_test.test_scenario_rest2xx.json
rename to tests/snapshots/tests.integrations.laminas.api_tools.latest.rest_test.test_scenario_rest2xx.json
index 62d9258fd7..6d8de5d059 100644
--- a/tests/snapshots/tests.integrations.laminas.api_tools.v1_9.rest_test.test_scenario_rest2xx.json
+++ b/tests/snapshots/tests.integrations.laminas.api_tools.latest.rest_test.test_scenario_rest2xx.json
@@ -1,7 +1,7 @@
[[
{
"name": "laminas.request",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "DatadogApi\\V1\\Rest\\DatadogRestService\\DatadogRestServiceResource@create datadog-api.rest.datadog-rest-service",
"trace_id": 0,
"span_id": 1,
@@ -25,7 +25,7 @@
},
{
"name": "laminas.application.init",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "laminas.application.init",
"trace_id": 0,
"span_id": 2,
@@ -37,7 +37,7 @@
},
{
"name": "laminas.event.loadModules",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "laminas.event.loadModules",
"trace_id": 0,
"span_id": 4,
@@ -49,7 +49,7 @@
},
{
"name": "laminas.event.loadModules.post",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "laminas.event.loadModules.post",
"trace_id": 0,
"span_id": 5,
@@ -61,7 +61,7 @@
},
{
"name": "laminas.application.bootstrap",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "laminas.application.bootstrap",
"trace_id": 0,
"span_id": 6,
@@ -73,7 +73,7 @@
},
{
"name": "laminas.event.bootstrap",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "laminas.event.bootstrap",
"trace_id": 0,
"span_id": 10,
@@ -85,7 +85,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\Mvc\\View\\Http\\ViewManager@onBootstrap",
"trace_id": 0,
"span_id": 30,
@@ -97,7 +97,7 @@
},
{
"name": "laminas.controller.pluginManager.get",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "AcceptableViewModelSelector",
"trace_id": 0,
"span_id": 31,
@@ -109,7 +109,7 @@
},
{
"name": "laminas.application.run",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "laminas.application.run",
"trace_id": 0,
"span_id": 3,
@@ -121,7 +121,7 @@
},
{
"name": "laminas.event.route",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "laminas.event.route",
"trace_id": 0,
"span_id": 7,
@@ -133,7 +133,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\Mvc\\HttpMethodListener@onRoute",
"trace_id": 0,
"span_id": 11,
@@ -145,7 +145,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\Mvc\\RouteListener@onRoute",
"trace_id": 0,
"span_id": 12,
@@ -157,7 +157,7 @@
},
{
"name": "laminas.route.match",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\Router\\Http\\TreeRouteStack@match",
"trace_id": 0,
"span_id": 32,
@@ -169,7 +169,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\ApiTools\\Versioning\\AcceptListener@onRoute",
"trace_id": 0,
"span_id": 13,
@@ -181,7 +181,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\ApiTools\\Versioning\\ContentTypeListener@onRoute",
"trace_id": 0,
"span_id": 14,
@@ -193,7 +193,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\ApiTools\\Versioning\\VersionListener@onRoute",
"trace_id": 0,
"span_id": 15,
@@ -205,7 +205,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\ApiTools\\MvcAuth\\MvcRouteListener@authentication",
"trace_id": 0,
"span_id": 16,
@@ -217,7 +217,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\ApiTools\\MvcAuth\\MvcRouteListener@authenticationPost",
"trace_id": 0,
"span_id": 17,
@@ -229,7 +229,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\ApiTools\\Rest\\Listener\\OptionsListener@onRoute",
"trace_id": 0,
"span_id": 18,
@@ -241,7 +241,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\ApiTools\\Rpc\\OptionsListener@onRoute",
"trace_id": 0,
"span_id": 19,
@@ -253,7 +253,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\ApiTools\\MvcAuth\\MvcRouteListener@authorization",
"trace_id": 0,
"span_id": 20,
@@ -265,7 +265,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\ApiTools\\MvcAuth\\MvcRouteListener@authorizationPost",
"trace_id": 0,
"span_id": 21,
@@ -277,7 +277,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\ApiTools\\ContentNegotiation\\AcceptFilterListener@onRoute",
"trace_id": 0,
"span_id": 22,
@@ -289,7 +289,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\ApiTools\\ContentNegotiation\\ContentTypeFilterListener@onRoute",
"trace_id": 0,
"span_id": 23,
@@ -301,7 +301,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\ApiTools\\ContentValidation\\ContentValidationListener@onRoute",
"trace_id": 0,
"span_id": 24,
@@ -313,7 +313,7 @@
},
{
"name": "laminas.event.dispatch",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "laminas.event.dispatch",
"trace_id": 0,
"span_id": 8,
@@ -325,7 +325,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\Mvc\\MiddlewareListener@onDispatch",
"trace_id": 0,
"span_id": 25,
@@ -337,7 +337,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\Mvc\\DispatchListener@onDispatch",
"trace_id": 0,
"span_id": 26,
@@ -349,7 +349,7 @@
},
{
"name": "laminas.controller.dispatch",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\ApiTools\\Rest\\RestController",
"trace_id": 0,
"span_id": 33,
@@ -361,7 +361,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\ApiTools\\Rest\\RestController@onDispatch",
"trace_id": 0,
"span_id": 40,
@@ -373,7 +373,7 @@
},
{
"name": "laminas.controller.pluginManager.get",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "bodyParams",
"trace_id": 0,
"span_id": 44,
@@ -385,7 +385,7 @@
},
{
"name": "laminas.controller.action",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "DatadogApi\\V1\\Rest\\DatadogRestService\\DatadogRestServiceResource@create",
"trace_id": 0,
"span_id": 45,
@@ -397,7 +397,7 @@
},
{
"name": "laminas.controller.pluginManager.get",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Hal",
"trace_id": 0,
"span_id": 46,
@@ -409,7 +409,7 @@
},
{
"name": "laminas.controller.pluginManager.get",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Hal",
"trace_id": 0,
"span_id": 47,
@@ -421,7 +421,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\Mvc\\View\\Http\\RouteNotFoundStrategy@prepareNotFoundViewModel",
"trace_id": 0,
"span_id": 41,
@@ -433,7 +433,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\Mvc\\View\\Http\\InjectViewModelListener@injectViewModel",
"trace_id": 0,
"span_id": 42,
@@ -445,7 +445,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\Mvc\\View\\Http\\RouteNotFoundStrategy@prepareNotFoundViewModel",
"trace_id": 0,
"span_id": 27,
@@ -457,7 +457,7 @@
},
{
"name": "laminas.application.completeRequest",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "laminas.application.completeRequest",
"trace_id": 0,
"span_id": 9,
@@ -469,7 +469,7 @@
},
{
"name": "laminas.event.render",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "laminas.event.render",
"trace_id": 0,
"span_id": 28,
@@ -481,7 +481,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\ApiTools\\ApiProblem\\Listener\\ApiProblemListener@onRender",
"trace_id": 0,
"span_id": 34,
@@ -493,7 +493,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\ApiTools\\Module@onRender",
"trace_id": 0,
"span_id": 35,
@@ -505,7 +505,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\ApiTools\\ApiProblem\\Module@onRender",
"trace_id": 0,
"span_id": 36,
@@ -517,7 +517,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\ApiTools\\Hal\\Module@onRender",
"trace_id": 0,
"span_id": 37,
@@ -529,7 +529,7 @@
},
{
"name": "laminas.view.http.renderer",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\Mvc\\View\\Http\\DefaultRenderingStrategy@render",
"trace_id": 0,
"span_id": 38,
@@ -541,7 +541,7 @@
},
{
"name": "laminas.view.render",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "laminas.view.render",
"trace_id": 0,
"span_id": 43,
@@ -553,7 +553,7 @@
},
{
"name": "laminas.templating.render",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "laminas/api-tools/rest/rest/create",
"trace_id": 0,
"span_id": 48,
@@ -565,7 +565,7 @@
},
{
"name": "laminas.templating.render",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "laminas.templating.render",
"trace_id": 0,
"span_id": 49,
@@ -577,7 +577,7 @@
},
{
"name": "laminas.event.finish",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "laminas.event.finish",
"trace_id": 0,
"span_id": 29,
@@ -589,7 +589,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\Mvc\\SendResponseListener@sendResponse",
"trace_id": 0,
"span_id": 39,
diff --git a/tests/snapshots/tests.integrations.laminas.api_tools.v1_9.rest_test.test_scenario_rest4xx.json b/tests/snapshots/tests.integrations.laminas.api_tools.latest.rest_test.test_scenario_rest4xx.json
similarity index 71%
rename from tests/snapshots/tests.integrations.laminas.api_tools.v1_9.rest_test.test_scenario_rest4xx.json
rename to tests/snapshots/tests.integrations.laminas.api_tools.latest.rest_test.test_scenario_rest4xx.json
index 0b7f9591c2..2d3dc77595 100644
--- a/tests/snapshots/tests.integrations.laminas.api_tools.v1_9.rest_test.test_scenario_rest4xx.json
+++ b/tests/snapshots/tests.integrations.laminas.api_tools.latest.rest_test.test_scenario_rest4xx.json
@@ -1,7 +1,7 @@
[[
{
"name": "laminas.request",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "DatadogApi\\V1\\Rest\\DatadogRestService\\DatadogRestServiceResource@fetch datadog-api.rest.datadog-rest-service",
"trace_id": 0,
"span_id": 1,
@@ -25,7 +25,7 @@
},
{
"name": "laminas.application.init",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "laminas.application.init",
"trace_id": 0,
"span_id": 2,
@@ -37,7 +37,7 @@
},
{
"name": "laminas.event.loadModules",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "laminas.event.loadModules",
"trace_id": 0,
"span_id": 4,
@@ -49,7 +49,7 @@
},
{
"name": "laminas.event.loadModules.post",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "laminas.event.loadModules.post",
"trace_id": 0,
"span_id": 5,
@@ -61,7 +61,7 @@
},
{
"name": "laminas.application.bootstrap",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "laminas.application.bootstrap",
"trace_id": 0,
"span_id": 6,
@@ -73,7 +73,7 @@
},
{
"name": "laminas.event.bootstrap",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "laminas.event.bootstrap",
"trace_id": 0,
"span_id": 10,
@@ -85,7 +85,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\Mvc\\View\\Http\\ViewManager@onBootstrap",
"trace_id": 0,
"span_id": 28,
@@ -97,7 +97,7 @@
},
{
"name": "laminas.controller.pluginManager.get",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "AcceptableViewModelSelector",
"trace_id": 0,
"span_id": 29,
@@ -109,7 +109,7 @@
},
{
"name": "laminas.application.run",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "laminas.application.run",
"trace_id": 0,
"span_id": 3,
@@ -121,7 +121,7 @@
},
{
"name": "laminas.event.route",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "laminas.event.route",
"trace_id": 0,
"span_id": 7,
@@ -133,7 +133,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\Mvc\\HttpMethodListener@onRoute",
"trace_id": 0,
"span_id": 11,
@@ -145,7 +145,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\Mvc\\RouteListener@onRoute",
"trace_id": 0,
"span_id": 12,
@@ -157,7 +157,7 @@
},
{
"name": "laminas.route.match",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\Router\\Http\\TreeRouteStack@match",
"trace_id": 0,
"span_id": 30,
@@ -169,7 +169,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\ApiTools\\Versioning\\AcceptListener@onRoute",
"trace_id": 0,
"span_id": 13,
@@ -181,7 +181,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\ApiTools\\Versioning\\ContentTypeListener@onRoute",
"trace_id": 0,
"span_id": 14,
@@ -193,7 +193,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\ApiTools\\Versioning\\VersionListener@onRoute",
"trace_id": 0,
"span_id": 15,
@@ -205,7 +205,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\ApiTools\\MvcAuth\\MvcRouteListener@authentication",
"trace_id": 0,
"span_id": 16,
@@ -217,7 +217,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\ApiTools\\MvcAuth\\MvcRouteListener@authenticationPost",
"trace_id": 0,
"span_id": 17,
@@ -229,7 +229,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\ApiTools\\Rest\\Listener\\OptionsListener@onRoute",
"trace_id": 0,
"span_id": 18,
@@ -241,7 +241,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\ApiTools\\Rpc\\OptionsListener@onRoute",
"trace_id": 0,
"span_id": 19,
@@ -253,7 +253,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\ApiTools\\MvcAuth\\MvcRouteListener@authorization",
"trace_id": 0,
"span_id": 20,
@@ -265,7 +265,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\ApiTools\\MvcAuth\\MvcRouteListener@authorizationPost",
"trace_id": 0,
"span_id": 21,
@@ -277,7 +277,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\ApiTools\\ContentNegotiation\\AcceptFilterListener@onRoute",
"trace_id": 0,
"span_id": 22,
@@ -289,7 +289,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\ApiTools\\ContentNegotiation\\ContentTypeFilterListener@onRoute",
"trace_id": 0,
"span_id": 23,
@@ -301,7 +301,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\ApiTools\\ContentValidation\\ContentValidationListener@onRoute",
"trace_id": 0,
"span_id": 24,
@@ -313,7 +313,7 @@
},
{
"name": "laminas.event.dispatch",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "laminas.event.dispatch",
"trace_id": 0,
"span_id": 8,
@@ -325,7 +325,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\Mvc\\MiddlewareListener@onDispatch",
"trace_id": 0,
"span_id": 25,
@@ -337,7 +337,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\Mvc\\DispatchListener@onDispatch",
"trace_id": 0,
"span_id": 26,
@@ -349,7 +349,7 @@
},
{
"name": "laminas.controller.dispatch",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\ApiTools\\Rest\\RestController",
"trace_id": 0,
"span_id": 31,
@@ -361,7 +361,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\ApiTools\\Rest\\RestController@onDispatch",
"trace_id": 0,
"span_id": 32,
@@ -373,7 +373,7 @@
},
{
"name": "laminas.controller.action",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "DatadogApi\\V1\\Rest\\DatadogRestService\\DatadogRestServiceResource@fetch",
"trace_id": 0,
"span_id": 33,
@@ -383,13 +383,13 @@
"meta": {
"component": "laminas",
"error.message": "The GET method has not been defined for individual resources",
- "error.stack": "#0 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas-api-tools/api-tools-rest/src/AbstractResourceListener.php(182): DatadogApi\\V1\\Rest\\DatadogRestService\\DatadogRestServiceResource->fetch()\n#1 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas/laminas-eventmanager/src/EventManager.php(320): Laminas\\ApiTools\\Rest\\AbstractResourceListener->dispatch()\n#2 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas/laminas-eventmanager/src/EventManager.php(178): Laminas\\EventManager\\EventManager->triggerListeners()\n#3 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas-api-tools/api-tools-rest/src/Resource.php(548): Laminas\\EventManager\\EventManager->triggerEventUntil()\n#4 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas-api-tools/api-tools-rest/src/Resource.php(499): Laminas\\ApiTools\\Rest\\Resource->triggerEvent()\n#5 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas-api-tools/api-tools-rest/src/RestController.php(493): Laminas\\ApiTools\\Rest\\Resource->fetch()\n#6 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas/laminas-mvc/src/Controller/AbstractRestfulController.php(372): Laminas\\ApiTools\\Rest\\RestController->get()\n#7 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas-api-tools/api-tools-rest/src/RestController.php(335): Laminas\\Mvc\\Controller\\AbstractRestfulController->onDispatch()\n#8 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas/laminas-eventmanager/src/EventManager.php(320): Laminas\\ApiTools\\Rest\\RestController->onDispatch()\n#9 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas/laminas-eventmanager/src/EventManager.php(178): Laminas\\EventManager\\EventManager->triggerListeners()\n#10 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas/laminas-mvc/src/Controller/AbstractController.php(105): Laminas\\EventManager\\EventManager->triggerEventUntil()\n#11 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas/laminas-mvc/src/Controller/AbstractRestfulController.php(306): Laminas\\Mvc\\Controller\\AbstractController->dispatch()\n#12 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas/laminas-mvc/src/DispatchListener.php(117): Laminas\\Mvc\\Controller\\AbstractRestfulController->dispatch()\n#13 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas/laminas-eventmanager/src/EventManager.php(320): Laminas\\Mvc\\DispatchListener->onDispatch()\n#14 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas/laminas-eventmanager/src/EventManager.php(178): Laminas\\EventManager\\EventManager->triggerListeners()\n#15 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas/laminas-mvc/src/Application.php(319): Laminas\\EventManager\\EventManager->triggerEventUntil()\n#16 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/public/index.php(60): Laminas\\Mvc\\Application->run()\n",
+ "error.stack": "#0 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas-api-tools/api-tools-rest/src/AbstractResourceListener.php(182): DatadogApi\\V1\\Rest\\DatadogRestService\\DatadogRestServiceResource->fetch()\n#1 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas/laminas-eventmanager/src/EventManager.php(320): Laminas\\ApiTools\\Rest\\AbstractResourceListener->dispatch()\n#2 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas/laminas-eventmanager/src/EventManager.php(178): Laminas\\EventManager\\EventManager->triggerListeners()\n#3 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas-api-tools/api-tools-rest/src/Resource.php(548): Laminas\\EventManager\\EventManager->triggerEventUntil()\n#4 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas-api-tools/api-tools-rest/src/Resource.php(499): Laminas\\ApiTools\\Rest\\Resource->triggerEvent()\n#5 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas-api-tools/api-tools-rest/src/RestController.php(493): Laminas\\ApiTools\\Rest\\Resource->fetch()\n#6 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas/laminas-mvc/src/Controller/AbstractRestfulController.php(372): Laminas\\ApiTools\\Rest\\RestController->get()\n#7 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas-api-tools/api-tools-rest/src/RestController.php(335): Laminas\\Mvc\\Controller\\AbstractRestfulController->onDispatch()\n#8 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas/laminas-eventmanager/src/EventManager.php(320): Laminas\\ApiTools\\Rest\\RestController->onDispatch()\n#9 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas/laminas-eventmanager/src/EventManager.php(178): Laminas\\EventManager\\EventManager->triggerListeners()\n#10 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas/laminas-mvc/src/Controller/AbstractController.php(105): Laminas\\EventManager\\EventManager->triggerEventUntil()\n#11 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas/laminas-mvc/src/Controller/AbstractRestfulController.php(306): Laminas\\Mvc\\Controller\\AbstractController->dispatch()\n#12 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas/laminas-mvc/src/DispatchListener.php(117): Laminas\\Mvc\\Controller\\AbstractRestfulController->dispatch()\n#13 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas/laminas-eventmanager/src/EventManager.php(320): Laminas\\Mvc\\DispatchListener->onDispatch()\n#14 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas/laminas-eventmanager/src/EventManager.php(178): Laminas\\EventManager\\EventManager->triggerListeners()\n#15 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas/laminas-mvc/src/Application.php(319): Laminas\\EventManager\\EventManager->triggerEventUntil()\n#16 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/public/index.php(60): Laminas\\Mvc\\Application->run()\n",
"error.type": "ApiProblem"
}
},
{
"name": "laminas.event.finish",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "laminas.event.finish",
"trace_id": 0,
"span_id": 9,
@@ -401,7 +401,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\Mvc\\SendResponseListener@sendResponse",
"trace_id": 0,
"span_id": 27,
diff --git a/tests/snapshots/tests.integrations.laminas.api_tools.v1_9.rest_test.test_scenario_rest5xx.json b/tests/snapshots/tests.integrations.laminas.api_tools.latest.rest_test.test_scenario_rest5xx.json
similarity index 53%
rename from tests/snapshots/tests.integrations.laminas.api_tools.v1_9.rest_test.test_scenario_rest5xx.json
rename to tests/snapshots/tests.integrations.laminas.api_tools.latest.rest_test.test_scenario_rest5xx.json
index f6a8684ce5..406ffb69df 100644
--- a/tests/snapshots/tests.integrations.laminas.api_tools.v1_9.rest_test.test_scenario_rest5xx.json
+++ b/tests/snapshots/tests.integrations.laminas.api_tools.latest.rest_test.test_scenario_rest5xx.json
@@ -1,7 +1,7 @@
[[
{
"name": "laminas.request",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "DatadogApi\\V1\\Rest\\DatadogRestService\\DatadogRestServiceResource@fetch datadog-api.rest.datadog-rest-service",
"trace_id": 0,
"span_id": 1,
@@ -11,8 +11,8 @@
"meta": {
"_dd.p.dm": "-0",
"component": "laminas",
- "error.message": "Uncaught Error (500): Attempt to assign property \"b\" on null in /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/module/DatadogApi/src/V1/Rest/DatadogRestService/DatadogRestServiceResource.php:55",
- "error.stack": "#0 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas-api-tools/api-tools-rest/src/AbstractResourceListener.php(182): DatadogApi\\V1\\Rest\\DatadogRestService\\DatadogRestServiceResource->fetch()\n#1 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas/laminas-eventmanager/src/EventManager.php(319): Laminas\\ApiTools\\Rest\\AbstractResourceListener->dispatch()\n#2 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas/laminas-eventmanager/src/EventManager.php(177): Laminas\\EventManager\\EventManager->triggerListeners()\n#3 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas-api-tools/api-tools-rest/src/Resource.php(544): Laminas\\EventManager\\EventManager->triggerEventUntil()\n#4 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas-api-tools/api-tools-rest/src/Resource.php(499): Laminas\\ApiTools\\Rest\\Resource->triggerEvent()\n#5 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas-api-tools/api-tools-rest/src/RestController.php(493): Laminas\\ApiTools\\Rest\\Resource->fetch()\n#6 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas/laminas-mvc/src/Controller/AbstractRestfulController.php(372): Laminas\\ApiTools\\Rest\\RestController->get()\n#7 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas-api-tools/api-tools-rest/src/RestController.php(335): Laminas\\Mvc\\Controller\\AbstractRestfulController->onDispatch()\n#8 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas/laminas-eventmanager/src/EventManager.php(319): Laminas\\ApiTools\\Rest\\RestController->onDispatch()\n#9 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas/laminas-eventmanager/src/EventManager.php(177): Laminas\\EventManager\\EventManager->triggerListeners()\n#10 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas/laminas-mvc/src/Controller/AbstractController.php(105): Laminas\\EventManager\\EventManager->triggerEventUntil()\n#11 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas/laminas-mvc/src/Controller/AbstractRestfulController.php(306): Laminas\\Mvc\\Controller\\AbstractController->dispatch()\n#12 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas/laminas-mvc/src/DispatchListener.php(117): Laminas\\Mvc\\Controller\\AbstractRestfulController->dispatch()\n#13 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas/laminas-eventmanager/src/EventManager.php(319): Laminas\\Mvc\\DispatchListener->onDispatch()\n#14 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas/laminas-eventmanager/src/EventManager.php(177): Laminas\\EventManager\\EventManager->triggerListeners()\n#15 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas/laminas-mvc/src/Application.php(319): Laminas\\EventManager\\EventManager->triggerEventUntil()\n#16 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/public/index.php(60): Laminas\\Mvc\\Application->run()\n#17 {main}",
+ "error.message": "Uncaught Error (500): Attempt to assign property \"b\" on null in /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/module/DatadogApi/src/V1/Rest/DatadogRestService/DatadogRestServiceResource.php:55",
+ "error.stack": "#0 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas-api-tools/api-tools-rest/src/AbstractResourceListener.php(182): DatadogApi\\V1\\Rest\\DatadogRestService\\DatadogRestServiceResource->fetch()\n#1 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas/laminas-eventmanager/src/EventManager.php(319): Laminas\\ApiTools\\Rest\\AbstractResourceListener->dispatch()\n#2 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas/laminas-eventmanager/src/EventManager.php(177): Laminas\\EventManager\\EventManager->triggerListeners()\n#3 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas-api-tools/api-tools-rest/src/Resource.php(544): Laminas\\EventManager\\EventManager->triggerEventUntil()\n#4 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas-api-tools/api-tools-rest/src/Resource.php(499): Laminas\\ApiTools\\Rest\\Resource->triggerEvent()\n#5 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas-api-tools/api-tools-rest/src/RestController.php(493): Laminas\\ApiTools\\Rest\\Resource->fetch()\n#6 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas/laminas-mvc/src/Controller/AbstractRestfulController.php(372): Laminas\\ApiTools\\Rest\\RestController->get()\n#7 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas-api-tools/api-tools-rest/src/RestController.php(335): Laminas\\Mvc\\Controller\\AbstractRestfulController->onDispatch()\n#8 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas/laminas-eventmanager/src/EventManager.php(319): Laminas\\ApiTools\\Rest\\RestController->onDispatch()\n#9 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas/laminas-eventmanager/src/EventManager.php(177): Laminas\\EventManager\\EventManager->triggerListeners()\n#10 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas/laminas-mvc/src/Controller/AbstractController.php(105): Laminas\\EventManager\\EventManager->triggerEventUntil()\n#11 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas/laminas-mvc/src/Controller/AbstractRestfulController.php(306): Laminas\\Mvc\\Controller\\AbstractController->dispatch()\n#12 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas/laminas-mvc/src/DispatchListener.php(117): Laminas\\Mvc\\Controller\\AbstractRestfulController->dispatch()\n#13 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas/laminas-eventmanager/src/EventManager.php(319): Laminas\\Mvc\\DispatchListener->onDispatch()\n#14 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas/laminas-eventmanager/src/EventManager.php(177): Laminas\\EventManager\\EventManager->triggerListeners()\n#15 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas/laminas-mvc/src/Application.php(319): Laminas\\EventManager\\EventManager->triggerEventUntil()\n#16 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/public/index.php(60): Laminas\\Mvc\\Application->run()\n#17 {main}",
"error.type": "Error",
"http.method": "GET",
"http.status_code": "500",
@@ -29,7 +29,7 @@
},
{
"name": "laminas.application.init",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "laminas.application.init",
"trace_id": 0,
"span_id": 2,
@@ -41,7 +41,7 @@
},
{
"name": "laminas.event.loadModules",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "laminas.event.loadModules",
"trace_id": 0,
"span_id": 4,
@@ -53,7 +53,7 @@
},
{
"name": "laminas.event.loadModules.post",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "laminas.event.loadModules.post",
"trace_id": 0,
"span_id": 5,
@@ -65,7 +65,7 @@
},
{
"name": "laminas.application.bootstrap",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "laminas.application.bootstrap",
"trace_id": 0,
"span_id": 6,
@@ -77,7 +77,7 @@
},
{
"name": "laminas.event.bootstrap",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "laminas.event.bootstrap",
"trace_id": 0,
"span_id": 10,
@@ -89,7 +89,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\Mvc\\View\\Http\\ViewManager@onBootstrap",
"trace_id": 0,
"span_id": 28,
@@ -101,7 +101,7 @@
},
{
"name": "laminas.controller.pluginManager.get",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "AcceptableViewModelSelector",
"trace_id": 0,
"span_id": 29,
@@ -113,7 +113,7 @@
},
{
"name": "laminas.application.run",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "laminas.application.run",
"trace_id": 0,
"span_id": 3,
@@ -125,7 +125,7 @@
},
{
"name": "laminas.event.route",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "laminas.event.route",
"trace_id": 0,
"span_id": 7,
@@ -137,7 +137,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\Mvc\\HttpMethodListener@onRoute",
"trace_id": 0,
"span_id": 11,
@@ -149,7 +149,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\Mvc\\RouteListener@onRoute",
"trace_id": 0,
"span_id": 12,
@@ -161,7 +161,7 @@
},
{
"name": "laminas.route.match",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\Router\\Http\\TreeRouteStack@match",
"trace_id": 0,
"span_id": 30,
@@ -173,7 +173,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\ApiTools\\Versioning\\AcceptListener@onRoute",
"trace_id": 0,
"span_id": 13,
@@ -185,7 +185,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\ApiTools\\Versioning\\ContentTypeListener@onRoute",
"trace_id": 0,
"span_id": 14,
@@ -197,7 +197,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\ApiTools\\Versioning\\VersionListener@onRoute",
"trace_id": 0,
"span_id": 15,
@@ -209,7 +209,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\ApiTools\\MvcAuth\\MvcRouteListener@authentication",
"trace_id": 0,
"span_id": 16,
@@ -221,7 +221,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\ApiTools\\MvcAuth\\MvcRouteListener@authenticationPost",
"trace_id": 0,
"span_id": 17,
@@ -233,7 +233,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\ApiTools\\Rest\\Listener\\OptionsListener@onRoute",
"trace_id": 0,
"span_id": 18,
@@ -245,7 +245,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\ApiTools\\Rpc\\OptionsListener@onRoute",
"trace_id": 0,
"span_id": 19,
@@ -257,7 +257,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\ApiTools\\MvcAuth\\MvcRouteListener@authorization",
"trace_id": 0,
"span_id": 20,
@@ -269,7 +269,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\ApiTools\\MvcAuth\\MvcRouteListener@authorizationPost",
"trace_id": 0,
"span_id": 21,
@@ -281,7 +281,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\ApiTools\\ContentNegotiation\\AcceptFilterListener@onRoute",
"trace_id": 0,
"span_id": 22,
@@ -293,7 +293,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\ApiTools\\ContentNegotiation\\ContentTypeFilterListener@onRoute",
"trace_id": 0,
"span_id": 23,
@@ -305,7 +305,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\ApiTools\\ContentValidation\\ContentValidationListener@onRoute",
"trace_id": 0,
"span_id": 24,
@@ -317,7 +317,7 @@
},
{
"name": "laminas.event.dispatch",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "laminas.event.dispatch",
"trace_id": 0,
"span_id": 8,
@@ -329,7 +329,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\Mvc\\MiddlewareListener@onDispatch",
"trace_id": 0,
"span_id": 25,
@@ -341,7 +341,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\Mvc\\DispatchListener@onDispatch",
"trace_id": 0,
"span_id": 26,
@@ -353,7 +353,7 @@
},
{
"name": "laminas.controller.dispatch",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\ApiTools\\Rest\\RestController",
"trace_id": 0,
"span_id": 31,
@@ -365,7 +365,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\ApiTools\\Rest\\RestController@onDispatch",
"trace_id": 0,
"span_id": 32,
@@ -374,14 +374,14 @@
"error": 1,
"meta": {
"component": "laminas",
- "error.message": "Thrown Error (500): Attempt to assign property \"b\" on null in /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/module/DatadogApi/src/V1/Rest/DatadogRestService/DatadogRestServiceResource.php:55",
- "error.stack": "#0 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas-api-tools/api-tools-rest/src/AbstractResourceListener.php(182): DatadogApi\\V1\\Rest\\DatadogRestService\\DatadogRestServiceResource->fetch()\n#1 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas/laminas-eventmanager/src/EventManager.php(319): Laminas\\ApiTools\\Rest\\AbstractResourceListener->dispatch()\n#2 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas/laminas-eventmanager/src/EventManager.php(177): Laminas\\EventManager\\EventManager->triggerListeners()\n#3 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas-api-tools/api-tools-rest/src/Resource.php(544): Laminas\\EventManager\\EventManager->triggerEventUntil()\n#4 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas-api-tools/api-tools-rest/src/Resource.php(499): Laminas\\ApiTools\\Rest\\Resource->triggerEvent()\n#5 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas-api-tools/api-tools-rest/src/RestController.php(493): Laminas\\ApiTools\\Rest\\Resource->fetch()\n#6 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas/laminas-mvc/src/Controller/AbstractRestfulController.php(372): Laminas\\ApiTools\\Rest\\RestController->get()\n#7 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas-api-tools/api-tools-rest/src/RestController.php(335): Laminas\\Mvc\\Controller\\AbstractRestfulController->onDispatch()\n#8 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas/laminas-eventmanager/src/EventManager.php(319): Laminas\\ApiTools\\Rest\\RestController->onDispatch()\n#9 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas/laminas-eventmanager/src/EventManager.php(177): Laminas\\EventManager\\EventManager->triggerListeners()\n#10 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas/laminas-mvc/src/Controller/AbstractController.php(105): Laminas\\EventManager\\EventManager->triggerEventUntil()\n#11 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas/laminas-mvc/src/Controller/AbstractRestfulController.php(306): Laminas\\Mvc\\Controller\\AbstractController->dispatch()\n#12 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas/laminas-mvc/src/DispatchListener.php(117): Laminas\\Mvc\\Controller\\AbstractRestfulController->dispatch()\n#13 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas/laminas-eventmanager/src/EventManager.php(319): Laminas\\Mvc\\DispatchListener->onDispatch()\n#14 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas/laminas-eventmanager/src/EventManager.php(177): Laminas\\EventManager\\EventManager->triggerListeners()\n#15 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas/laminas-mvc/src/Application.php(319): Laminas\\EventManager\\EventManager->triggerEventUntil()\n#16 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/public/index.php(60): Laminas\\Mvc\\Application->run()\n#17 {main}",
+ "error.message": "Thrown Error (500): Attempt to assign property \"b\" on null in /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/module/DatadogApi/src/V1/Rest/DatadogRestService/DatadogRestServiceResource.php:55",
+ "error.stack": "#0 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas-api-tools/api-tools-rest/src/AbstractResourceListener.php(182): DatadogApi\\V1\\Rest\\DatadogRestService\\DatadogRestServiceResource->fetch()\n#1 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas/laminas-eventmanager/src/EventManager.php(319): Laminas\\ApiTools\\Rest\\AbstractResourceListener->dispatch()\n#2 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas/laminas-eventmanager/src/EventManager.php(177): Laminas\\EventManager\\EventManager->triggerListeners()\n#3 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas-api-tools/api-tools-rest/src/Resource.php(544): Laminas\\EventManager\\EventManager->triggerEventUntil()\n#4 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas-api-tools/api-tools-rest/src/Resource.php(499): Laminas\\ApiTools\\Rest\\Resource->triggerEvent()\n#5 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas-api-tools/api-tools-rest/src/RestController.php(493): Laminas\\ApiTools\\Rest\\Resource->fetch()\n#6 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas/laminas-mvc/src/Controller/AbstractRestfulController.php(372): Laminas\\ApiTools\\Rest\\RestController->get()\n#7 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas-api-tools/api-tools-rest/src/RestController.php(335): Laminas\\Mvc\\Controller\\AbstractRestfulController->onDispatch()\n#8 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas/laminas-eventmanager/src/EventManager.php(319): Laminas\\ApiTools\\Rest\\RestController->onDispatch()\n#9 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas/laminas-eventmanager/src/EventManager.php(177): Laminas\\EventManager\\EventManager->triggerListeners()\n#10 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas/laminas-mvc/src/Controller/AbstractController.php(105): Laminas\\EventManager\\EventManager->triggerEventUntil()\n#11 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas/laminas-mvc/src/Controller/AbstractRestfulController.php(306): Laminas\\Mvc\\Controller\\AbstractController->dispatch()\n#12 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas/laminas-mvc/src/DispatchListener.php(117): Laminas\\Mvc\\Controller\\AbstractRestfulController->dispatch()\n#13 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas/laminas-eventmanager/src/EventManager.php(319): Laminas\\Mvc\\DispatchListener->onDispatch()\n#14 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas/laminas-eventmanager/src/EventManager.php(177): Laminas\\EventManager\\EventManager->triggerListeners()\n#15 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas/laminas-mvc/src/Application.php(319): Laminas\\EventManager\\EventManager->triggerEventUntil()\n#16 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/public/index.php(60): Laminas\\Mvc\\Application->run()\n#17 {main}",
"error.type": "Error"
}
},
{
"name": "laminas.controller.action",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "DatadogApi\\V1\\Rest\\DatadogRestService\\DatadogRestServiceResource@fetch",
"trace_id": 0,
"span_id": 33,
@@ -390,14 +390,14 @@
"error": 1,
"meta": {
"component": "laminas",
- "error.message": "Thrown Error (500): Attempt to assign property \"b\" on null in /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/module/DatadogApi/src/V1/Rest/DatadogRestService/DatadogRestServiceResource.php:55",
- "error.stack": "#0 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas-api-tools/api-tools-rest/src/AbstractResourceListener.php(182): DatadogApi\\V1\\Rest\\DatadogRestService\\DatadogRestServiceResource->fetch()\n#1 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas/laminas-eventmanager/src/EventManager.php(319): Laminas\\ApiTools\\Rest\\AbstractResourceListener->dispatch()\n#2 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas/laminas-eventmanager/src/EventManager.php(177): Laminas\\EventManager\\EventManager->triggerListeners()\n#3 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas-api-tools/api-tools-rest/src/Resource.php(544): Laminas\\EventManager\\EventManager->triggerEventUntil()\n#4 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas-api-tools/api-tools-rest/src/Resource.php(499): Laminas\\ApiTools\\Rest\\Resource->triggerEvent()\n#5 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas-api-tools/api-tools-rest/src/RestController.php(493): Laminas\\ApiTools\\Rest\\Resource->fetch()\n#6 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas/laminas-mvc/src/Controller/AbstractRestfulController.php(372): Laminas\\ApiTools\\Rest\\RestController->get()\n#7 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas-api-tools/api-tools-rest/src/RestController.php(335): Laminas\\Mvc\\Controller\\AbstractRestfulController->onDispatch()\n#8 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas/laminas-eventmanager/src/EventManager.php(319): Laminas\\ApiTools\\Rest\\RestController->onDispatch()\n#9 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas/laminas-eventmanager/src/EventManager.php(177): Laminas\\EventManager\\EventManager->triggerListeners()\n#10 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas/laminas-mvc/src/Controller/AbstractController.php(105): Laminas\\EventManager\\EventManager->triggerEventUntil()\n#11 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas/laminas-mvc/src/Controller/AbstractRestfulController.php(306): Laminas\\Mvc\\Controller\\AbstractController->dispatch()\n#12 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas/laminas-mvc/src/DispatchListener.php(117): Laminas\\Mvc\\Controller\\AbstractRestfulController->dispatch()\n#13 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas/laminas-eventmanager/src/EventManager.php(319): Laminas\\Mvc\\DispatchListener->onDispatch()\n#14 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas/laminas-eventmanager/src/EventManager.php(177): Laminas\\EventManager\\EventManager->triggerListeners()\n#15 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/vendor/laminas/laminas-mvc/src/Application.php(319): Laminas\\EventManager\\EventManager->triggerEventUntil()\n#16 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Version_1_9/public/index.php(60): Laminas\\Mvc\\Application->run()\n#17 {main}",
+ "error.message": "Thrown Error (500): Attempt to assign property \"b\" on null in /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/module/DatadogApi/src/V1/Rest/DatadogRestService/DatadogRestServiceResource.php:55",
+ "error.stack": "#0 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas-api-tools/api-tools-rest/src/AbstractResourceListener.php(182): DatadogApi\\V1\\Rest\\DatadogRestService\\DatadogRestServiceResource->fetch()\n#1 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas/laminas-eventmanager/src/EventManager.php(319): Laminas\\ApiTools\\Rest\\AbstractResourceListener->dispatch()\n#2 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas/laminas-eventmanager/src/EventManager.php(177): Laminas\\EventManager\\EventManager->triggerListeners()\n#3 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas-api-tools/api-tools-rest/src/Resource.php(544): Laminas\\EventManager\\EventManager->triggerEventUntil()\n#4 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas-api-tools/api-tools-rest/src/Resource.php(499): Laminas\\ApiTools\\Rest\\Resource->triggerEvent()\n#5 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas-api-tools/api-tools-rest/src/RestController.php(493): Laminas\\ApiTools\\Rest\\Resource->fetch()\n#6 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas/laminas-mvc/src/Controller/AbstractRestfulController.php(372): Laminas\\ApiTools\\Rest\\RestController->get()\n#7 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas-api-tools/api-tools-rest/src/RestController.php(335): Laminas\\Mvc\\Controller\\AbstractRestfulController->onDispatch()\n#8 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas/laminas-eventmanager/src/EventManager.php(319): Laminas\\ApiTools\\Rest\\RestController->onDispatch()\n#9 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas/laminas-eventmanager/src/EventManager.php(177): Laminas\\EventManager\\EventManager->triggerListeners()\n#10 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas/laminas-mvc/src/Controller/AbstractController.php(105): Laminas\\EventManager\\EventManager->triggerEventUntil()\n#11 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas/laminas-mvc/src/Controller/AbstractRestfulController.php(306): Laminas\\Mvc\\Controller\\AbstractController->dispatch()\n#12 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas/laminas-mvc/src/DispatchListener.php(117): Laminas\\Mvc\\Controller\\AbstractRestfulController->dispatch()\n#13 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas/laminas-eventmanager/src/EventManager.php(319): Laminas\\Mvc\\DispatchListener->onDispatch()\n#14 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas/laminas-eventmanager/src/EventManager.php(177): Laminas\\EventManager\\EventManager->triggerListeners()\n#15 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/vendor/laminas/laminas-mvc/src/Application.php(319): Laminas\\EventManager\\EventManager->triggerEventUntil()\n#16 /home/circleci/app/tests/Frameworks/Laminas/ApiTools/Latest/public/index.php(60): Laminas\\Mvc\\Application->run()\n#17 {main}",
"error.type": "Error"
}
},
{
"name": "laminas.event.finish",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "laminas.event.finish",
"trace_id": 0,
"span_id": 9,
@@ -409,7 +409,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_rest_19",
+ "service": "test_laminas_rest_latest",
"resource": "Laminas\\Mvc\\SendResponseListener@sendResponse",
"trace_id": 0,
"span_id": 27,
diff --git a/tests/snapshots/tests.integrations.laminas.v2_0.common_scenarios_test.test_scenario_get_return_string.json b/tests/snapshots/tests.integrations.laminas.mvc.latest.common_scenarios_test.test_scenario_get_return_string.json
similarity index 87%
rename from tests/snapshots/tests.integrations.laminas.v2_0.common_scenarios_test.test_scenario_get_return_string.json
rename to tests/snapshots/tests.integrations.laminas.mvc.latest.common_scenarios_test.test_scenario_get_return_string.json
index bc4864a27d..8022cbe28f 100644
--- a/tests/snapshots/tests.integrations.laminas.v2_0.common_scenarios_test.test_scenario_get_return_string.json
+++ b/tests/snapshots/tests.integrations.laminas.mvc.latest.common_scenarios_test.test_scenario_get_return_string.json
@@ -1,7 +1,7 @@
[[
{
"name": "laminas.request",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Application\\Controller\\CommonSpecsController@simple simple",
"trace_id": 0,
"span_id": 1,
@@ -24,7 +24,7 @@
},
{
"name": "laminas.application.init",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.application.init",
"trace_id": 0,
"span_id": 2,
@@ -36,7 +36,7 @@
},
{
"name": "laminas.event.loadModules",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.event.loadModules",
"trace_id": 0,
"span_id": 4,
@@ -48,7 +48,7 @@
},
{
"name": "laminas.event.loadModules.post",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.event.loadModules.post",
"trace_id": 0,
"span_id": 5,
@@ -60,7 +60,7 @@
},
{
"name": "laminas.application.bootstrap",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.application.bootstrap",
"trace_id": 0,
"span_id": 6,
@@ -72,7 +72,7 @@
},
{
"name": "laminas.event.bootstrap",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.event.bootstrap",
"trace_id": 0,
"span_id": 10,
@@ -84,7 +84,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\View\\Http\\ViewManager@onBootstrap",
"trace_id": 0,
"span_id": 16,
@@ -96,7 +96,7 @@
},
{
"name": "laminas.application.run",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.application.run",
"trace_id": 0,
"span_id": 3,
@@ -108,7 +108,7 @@
},
{
"name": "laminas.event.route",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.event.route",
"trace_id": 0,
"span_id": 7,
@@ -120,7 +120,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\HttpMethodListener@onRoute",
"trace_id": 0,
"span_id": 11,
@@ -132,7 +132,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\RouteListener@onRoute",
"trace_id": 0,
"span_id": 12,
@@ -144,7 +144,7 @@
},
{
"name": "laminas.route.match",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Router\\Http\\TreeRouteStack@match",
"trace_id": 0,
"span_id": 17,
@@ -156,7 +156,7 @@
},
{
"name": "laminas.event.dispatch",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.event.dispatch",
"trace_id": 0,
"span_id": 8,
@@ -168,7 +168,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\MiddlewareListener@onDispatch",
"trace_id": 0,
"span_id": 13,
@@ -180,7 +180,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\DispatchListener@onDispatch",
"trace_id": 0,
"span_id": 14,
@@ -192,7 +192,7 @@
},
{
"name": "laminas.controller.dispatch",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Application\\Controller\\CommonSpecsController",
"trace_id": 0,
"span_id": 18,
@@ -204,7 +204,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Application\\Controller\\CommonSpecsController@onDispatch",
"trace_id": 0,
"span_id": 19,
@@ -216,7 +216,7 @@
},
{
"name": "laminas.controller.action",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Application\\Controller\\CommonSpecsController@simpleAction",
"trace_id": 0,
"span_id": 20,
@@ -228,7 +228,7 @@
},
{
"name": "laminas.event.finish",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.event.finish",
"trace_id": 0,
"span_id": 9,
@@ -240,7 +240,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\SendResponseListener@sendResponse",
"trace_id": 0,
"span_id": 15,
diff --git a/tests/snapshots/tests.integrations.laminas.v2_0.common_scenarios_test.test_scenario_get_to_missing_route.json b/tests/snapshots/tests.integrations.laminas.mvc.latest.common_scenarios_test.test_scenario_get_to_missing_route.json
similarity index 87%
rename from tests/snapshots/tests.integrations.laminas.v2_0.common_scenarios_test.test_scenario_get_to_missing_route.json
rename to tests/snapshots/tests.integrations.laminas.mvc.latest.common_scenarios_test.test_scenario_get_to_missing_route.json
index 38776b7911..cebd2538ca 100644
--- a/tests/snapshots/tests.integrations.laminas.v2_0.common_scenarios_test.test_scenario_get_to_missing_route.json
+++ b/tests/snapshots/tests.integrations.laminas.mvc.latest.common_scenarios_test.test_scenario_get_to_missing_route.json
@@ -1,7 +1,7 @@
[[
{
"name": "laminas.request",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "GET /does_not_exist",
"trace_id": 0,
"span_id": 1,
@@ -22,7 +22,7 @@
},
{
"name": "laminas.application.init",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.application.init",
"trace_id": 0,
"span_id": 2,
@@ -34,7 +34,7 @@
},
{
"name": "laminas.event.loadModules",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.event.loadModules",
"trace_id": 0,
"span_id": 4,
@@ -46,7 +46,7 @@
},
{
"name": "laminas.event.loadModules.post",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.event.loadModules.post",
"trace_id": 0,
"span_id": 5,
@@ -58,7 +58,7 @@
},
{
"name": "laminas.application.bootstrap",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.application.bootstrap",
"trace_id": 0,
"span_id": 6,
@@ -70,7 +70,7 @@
},
{
"name": "laminas.event.bootstrap",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.event.bootstrap",
"trace_id": 0,
"span_id": 9,
@@ -82,7 +82,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\View\\Http\\ViewManager@onBootstrap",
"trace_id": 0,
"span_id": 14,
@@ -94,7 +94,7 @@
},
{
"name": "laminas.application.run",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.application.run",
"trace_id": 0,
"span_id": 3,
@@ -106,7 +106,7 @@
},
{
"name": "laminas.event.route",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.event.route",
"trace_id": 0,
"span_id": 7,
@@ -118,7 +118,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\HttpMethodListener@onRoute",
"trace_id": 0,
"span_id": 10,
@@ -130,7 +130,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\RouteListener@onRoute",
"trace_id": 0,
"span_id": 11,
@@ -142,7 +142,7 @@
},
{
"name": "laminas.route.match",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Router\\Http\\TreeRouteStack@match",
"trace_id": 0,
"span_id": 15,
@@ -154,7 +154,7 @@
},
{
"name": "laminas.mvcEvent.setError",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "error-router-no-match",
"trace_id": 0,
"span_id": 16,
@@ -166,7 +166,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\View\\Http\\RouteNotFoundStrategy@detectNotFoundError",
"trace_id": 0,
"span_id": 17,
@@ -178,7 +178,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\View\\Http\\RouteNotFoundStrategy@prepareNotFoundViewModel",
"trace_id": 0,
"span_id": 18,
@@ -190,7 +190,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\View\\Http\\ExceptionStrategy@prepareExceptionViewModel",
"trace_id": 0,
"span_id": 19,
@@ -202,7 +202,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\View\\Http\\InjectViewModelListener@injectViewModel",
"trace_id": 0,
"span_id": 20,
@@ -214,7 +214,7 @@
},
{
"name": "laminas.application.completeRequest",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.application.completeRequest",
"trace_id": 0,
"span_id": 8,
@@ -226,7 +226,7 @@
},
{
"name": "laminas.event.render",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.event.render",
"trace_id": 0,
"span_id": 12,
@@ -238,7 +238,7 @@
},
{
"name": "laminas.view.http.renderer",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\View\\Http\\DefaultRenderingStrategy@render",
"trace_id": 0,
"span_id": 21,
@@ -250,7 +250,7 @@
},
{
"name": "laminas.view.render",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.view.render",
"trace_id": 0,
"span_id": 23,
@@ -262,7 +262,7 @@
},
{
"name": "laminas.templating.render",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "error/404",
"trace_id": 0,
"span_id": 24,
@@ -274,7 +274,7 @@
},
{
"name": "laminas.templating.render",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "layout/layout",
"trace_id": 0,
"span_id": 25,
@@ -286,7 +286,7 @@
},
{
"name": "laminas.event.finish",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.event.finish",
"trace_id": 0,
"span_id": 13,
@@ -298,7 +298,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\SendResponseListener@sendResponse",
"trace_id": 0,
"span_id": 22,
diff --git a/tests/snapshots/tests.integrations.laminas.v2_0.common_scenarios_test.test_scenario_get_with_exception.json b/tests/snapshots/tests.integrations.laminas.mvc.latest.common_scenarios_test.test_scenario_get_with_exception.json
similarity index 60%
rename from tests/snapshots/tests.integrations.laminas.v2_0.common_scenarios_test.test_scenario_get_with_exception.json
rename to tests/snapshots/tests.integrations.laminas.mvc.latest.common_scenarios_test.test_scenario_get_with_exception.json
index 5b5d0ced68..cb60e08898 100644
--- a/tests/snapshots/tests.integrations.laminas.v2_0.common_scenarios_test.test_scenario_get_with_exception.json
+++ b/tests/snapshots/tests.integrations.laminas.mvc.latest.common_scenarios_test.test_scenario_get_with_exception.json
@@ -1,7 +1,7 @@
[[
{
"name": "laminas.request",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Application\\Controller\\CommonSpecsController@error error",
"trace_id": 0,
"span_id": 1,
@@ -11,8 +11,8 @@
"meta": {
"_dd.p.dm": "-0",
"component": "laminas",
- "error.message": "Uncaught Exception (500): Controller error in /home/circleci/app/tests/Frameworks/Laminas/Version_2_0/module/Application/src/Controller/CommonSpecsController.php:33",
- "error.stack": "#0 /home/circleci/app/tests/Frameworks/Laminas/Version_2_0/vendor/laminas/laminas-mvc/src/Controller/AbstractActionController.php(72): Application\\Controller\\CommonSpecsController->errorAction()\n#1 /home/circleci/app/tests/Frameworks/Laminas/Version_2_0/vendor/laminas/laminas-eventmanager/src/EventManager.php(320): Laminas\\Mvc\\Controller\\AbstractActionController->onDispatch(Object(Laminas\\Mvc\\MvcEvent))\n#2 /home/circleci/app/tests/Frameworks/Laminas/Version_2_0/vendor/laminas/laminas-eventmanager/src/EventManager.php(178): Laminas\\EventManager\\EventManager->triggerListeners(Object(Laminas\\Mvc\\MvcEvent), Object(Closure))\n#3 /home/circleci/app/tests/Frameworks/Laminas/Version_2_0/vendor/laminas/laminas-mvc/src/Controller/AbstractController.php(105): Laminas\\EventManager\\EventManager->triggerEventUntil(Object(Closure), Object(Laminas\\Mvc\\MvcEvent))\n#4 /home/circleci/app/tests/Frameworks/Laminas/Version_2_0/vendor/laminas/laminas-mvc/src/DispatchListener.php(117): Laminas\\Mvc\\Controller\\AbstractController->dispatch(Object(Laminas\\Http\\PhpEnvironment\\Request), Object(Laminas\\Http\\PhpEnvironment\\Response))\n#5 /home/circleci/app/tests/Frameworks/Laminas/Version_2_0/vendor/laminas/laminas-eventmanager/src/EventManager.php(320): Laminas\\Mvc\\DispatchListener->onDispatch(Object(Laminas\\Mvc\\MvcEvent))\n#6 /home/circleci/app/tests/Frameworks/Laminas/Version_2_0/vendor/laminas/laminas-eventmanager/src/EventManager.php(178): Laminas\\EventManager\\EventManager->triggerListeners(Object(Laminas\\Mvc\\MvcEvent), Object(Closure))\n#7 /home/circleci/app/tests/Frameworks/Laminas/Version_2_0/vendor/laminas/laminas-mvc/src/Application.php(319): Laminas\\EventManager\\EventManager->triggerEventUntil(Object(Closure), Object(Laminas\\Mvc\\MvcEvent))\n#8 /home/circleci/app/tests/Frameworks/Laminas/Version_2_0/public/index.php(37): Laminas\\Mvc\\Application->run()\n#9 {main}",
+ "error.message": "Uncaught Exception (500): Controller error in /home/circleci/app/tests/Frameworks/Laminas/Mvc/Latest/module/Application/src/Controller/CommonSpecsController.php:33",
+ "error.stack": "#0 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Latest/vendor/laminas/laminas-mvc/src/Controller/AbstractActionController.php(72): Application\\Controller\\CommonSpecsController->errorAction()\n#1 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Latest/vendor/laminas/laminas-eventmanager/src/EventManager.php(320): Laminas\\Mvc\\Controller\\AbstractActionController->onDispatch(Object(Laminas\\Mvc\\MvcEvent))\n#2 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Latest/vendor/laminas/laminas-eventmanager/src/EventManager.php(178): Laminas\\EventManager\\EventManager->triggerListeners(Object(Laminas\\Mvc\\MvcEvent), Object(Closure))\n#3 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Latest/vendor/laminas/laminas-mvc/src/Controller/AbstractController.php(105): Laminas\\EventManager\\EventManager->triggerEventUntil(Object(Closure), Object(Laminas\\Mvc\\MvcEvent))\n#4 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Latest/vendor/laminas/laminas-mvc/src/DispatchListener.php(117): Laminas\\Mvc\\Controller\\AbstractController->dispatch(Object(Laminas\\Http\\PhpEnvironment\\Request), Object(Laminas\\Http\\PhpEnvironment\\Response))\n#5 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Latest/vendor/laminas/laminas-eventmanager/src/EventManager.php(320): Laminas\\Mvc\\DispatchListener->onDispatch(Object(Laminas\\Mvc\\MvcEvent))\n#6 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Latest/vendor/laminas/laminas-eventmanager/src/EventManager.php(178): Laminas\\EventManager\\EventManager->triggerListeners(Object(Laminas\\Mvc\\MvcEvent), Object(Closure))\n#7 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Latest/vendor/laminas/laminas-mvc/src/Application.php(319): Laminas\\EventManager\\EventManager->triggerEventUntil(Object(Closure), Object(Laminas\\Mvc\\MvcEvent))\n#8 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Latest/public/index.php(37): Laminas\\Mvc\\Application->run()\n#9 {main}",
"error.type": "Exception",
"http.method": "GET",
"laminas.route.name": "error",
@@ -28,7 +28,7 @@
},
{
"name": "laminas.application.init",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.application.init",
"trace_id": 0,
"span_id": 2,
@@ -40,7 +40,7 @@
},
{
"name": "laminas.event.loadModules",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.event.loadModules",
"trace_id": 0,
"span_id": 4,
@@ -52,7 +52,7 @@
},
{
"name": "laminas.event.loadModules.post",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.event.loadModules.post",
"trace_id": 0,
"span_id": 5,
@@ -64,7 +64,7 @@
},
{
"name": "laminas.application.bootstrap",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.application.bootstrap",
"trace_id": 0,
"span_id": 6,
@@ -76,7 +76,7 @@
},
{
"name": "laminas.event.bootstrap",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.event.bootstrap",
"trace_id": 0,
"span_id": 10,
@@ -88,7 +88,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\View\\Http\\ViewManager@onBootstrap",
"trace_id": 0,
"span_id": 17,
@@ -100,7 +100,7 @@
},
{
"name": "laminas.application.run",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.application.run",
"trace_id": 0,
"span_id": 3,
@@ -112,7 +112,7 @@
},
{
"name": "laminas.event.route",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.event.route",
"trace_id": 0,
"span_id": 7,
@@ -124,7 +124,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\HttpMethodListener@onRoute",
"trace_id": 0,
"span_id": 11,
@@ -136,7 +136,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\RouteListener@onRoute",
"trace_id": 0,
"span_id": 12,
@@ -148,7 +148,7 @@
},
{
"name": "laminas.route.match",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Router\\Http\\TreeRouteStack@match",
"trace_id": 0,
"span_id": 18,
@@ -160,7 +160,7 @@
},
{
"name": "laminas.event.dispatch",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.event.dispatch",
"trace_id": 0,
"span_id": 8,
@@ -172,7 +172,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\MiddlewareListener@onDispatch",
"trace_id": 0,
"span_id": 13,
@@ -184,7 +184,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\DispatchListener@onDispatch",
"trace_id": 0,
"span_id": 14,
@@ -196,7 +196,7 @@
},
{
"name": "laminas.controller.dispatch",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Application\\Controller\\CommonSpecsController",
"trace_id": 0,
"span_id": 19,
@@ -205,14 +205,14 @@
"error": 1,
"meta": {
"component": "laminas",
- "error.message": "Thrown Exception (500): Controller error in /home/circleci/app/tests/Frameworks/Laminas/Version_2_0/module/Application/src/Controller/CommonSpecsController.php:33",
- "error.stack": "#0 /home/circleci/app/tests/Frameworks/Laminas/Version_2_0/vendor/laminas/laminas-mvc/src/Controller/AbstractActionController.php(72): Application\\Controller\\CommonSpecsController->errorAction()\n#1 /home/circleci/app/tests/Frameworks/Laminas/Version_2_0/vendor/laminas/laminas-eventmanager/src/EventManager.php(320): Laminas\\Mvc\\Controller\\AbstractActionController->onDispatch()\n#2 /home/circleci/app/tests/Frameworks/Laminas/Version_2_0/vendor/laminas/laminas-eventmanager/src/EventManager.php(178): Laminas\\EventManager\\EventManager->triggerListeners()\n#3 /home/circleci/app/tests/Frameworks/Laminas/Version_2_0/vendor/laminas/laminas-mvc/src/Controller/AbstractController.php(105): Laminas\\EventManager\\EventManager->triggerEventUntil()\n#4 /home/circleci/app/tests/Frameworks/Laminas/Version_2_0/vendor/laminas/laminas-mvc/src/DispatchListener.php(117): Laminas\\Mvc\\Controller\\AbstractController->dispatch()\n#5 /home/circleci/app/tests/Frameworks/Laminas/Version_2_0/vendor/laminas/laminas-eventmanager/src/EventManager.php(320): Laminas\\Mvc\\DispatchListener->onDispatch()\n#6 /home/circleci/app/tests/Frameworks/Laminas/Version_2_0/vendor/laminas/laminas-eventmanager/src/EventManager.php(178): Laminas\\EventManager\\EventManager->triggerListeners()\n#7 /home/circleci/app/tests/Frameworks/Laminas/Version_2_0/vendor/laminas/laminas-mvc/src/Application.php(319): Laminas\\EventManager\\EventManager->triggerEventUntil()\n#8 /home/circleci/app/tests/Frameworks/Laminas/Version_2_0/public/index.php(37): Laminas\\Mvc\\Application->run()\n#9 {main}",
+ "error.message": "Thrown Exception (500): Controller error in /home/circleci/app/tests/Frameworks/Laminas/Mvc/Latest/module/Application/src/Controller/CommonSpecsController.php:33",
+ "error.stack": "#0 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Latest/vendor/laminas/laminas-mvc/src/Controller/AbstractActionController.php(72): Application\\Controller\\CommonSpecsController->errorAction()\n#1 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Latest/vendor/laminas/laminas-eventmanager/src/EventManager.php(320): Laminas\\Mvc\\Controller\\AbstractActionController->onDispatch()\n#2 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Latest/vendor/laminas/laminas-eventmanager/src/EventManager.php(178): Laminas\\EventManager\\EventManager->triggerListeners()\n#3 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Latest/vendor/laminas/laminas-mvc/src/Controller/AbstractController.php(105): Laminas\\EventManager\\EventManager->triggerEventUntil()\n#4 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Latest/vendor/laminas/laminas-mvc/src/DispatchListener.php(117): Laminas\\Mvc\\Controller\\AbstractController->dispatch()\n#5 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Latest/vendor/laminas/laminas-eventmanager/src/EventManager.php(320): Laminas\\Mvc\\DispatchListener->onDispatch()\n#6 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Latest/vendor/laminas/laminas-eventmanager/src/EventManager.php(178): Laminas\\EventManager\\EventManager->triggerListeners()\n#7 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Latest/vendor/laminas/laminas-mvc/src/Application.php(319): Laminas\\EventManager\\EventManager->triggerEventUntil()\n#8 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Latest/public/index.php(37): Laminas\\Mvc\\Application->run()\n#9 {main}",
"error.type": "Exception"
}
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Application\\Controller\\CommonSpecsController@onDispatch",
"trace_id": 0,
"span_id": 27,
@@ -221,14 +221,14 @@
"error": 1,
"meta": {
"component": "laminas",
- "error.message": "Thrown Exception (500): Controller error in /home/circleci/app/tests/Frameworks/Laminas/Version_2_0/module/Application/src/Controller/CommonSpecsController.php:33",
- "error.stack": "#0 /home/circleci/app/tests/Frameworks/Laminas/Version_2_0/vendor/laminas/laminas-mvc/src/Controller/AbstractActionController.php(72): Application\\Controller\\CommonSpecsController->errorAction()\n#1 /home/circleci/app/tests/Frameworks/Laminas/Version_2_0/vendor/laminas/laminas-eventmanager/src/EventManager.php(320): Laminas\\Mvc\\Controller\\AbstractActionController->onDispatch()\n#2 /home/circleci/app/tests/Frameworks/Laminas/Version_2_0/vendor/laminas/laminas-eventmanager/src/EventManager.php(178): Laminas\\EventManager\\EventManager->triggerListeners()\n#3 /home/circleci/app/tests/Frameworks/Laminas/Version_2_0/vendor/laminas/laminas-mvc/src/Controller/AbstractController.php(105): Laminas\\EventManager\\EventManager->triggerEventUntil()\n#4 /home/circleci/app/tests/Frameworks/Laminas/Version_2_0/vendor/laminas/laminas-mvc/src/DispatchListener.php(117): Laminas\\Mvc\\Controller\\AbstractController->dispatch()\n#5 /home/circleci/app/tests/Frameworks/Laminas/Version_2_0/vendor/laminas/laminas-eventmanager/src/EventManager.php(320): Laminas\\Mvc\\DispatchListener->onDispatch()\n#6 /home/circleci/app/tests/Frameworks/Laminas/Version_2_0/vendor/laminas/laminas-eventmanager/src/EventManager.php(178): Laminas\\EventManager\\EventManager->triggerListeners()\n#7 /home/circleci/app/tests/Frameworks/Laminas/Version_2_0/vendor/laminas/laminas-mvc/src/Application.php(319): Laminas\\EventManager\\EventManager->triggerEventUntil()\n#8 /home/circleci/app/tests/Frameworks/Laminas/Version_2_0/public/index.php(37): Laminas\\Mvc\\Application->run()\n#9 {main}",
+ "error.message": "Thrown Exception (500): Controller error in /home/circleci/app/tests/Frameworks/Laminas/Mvc/Latest/module/Application/src/Controller/CommonSpecsController.php:33",
+ "error.stack": "#0 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Latest/vendor/laminas/laminas-mvc/src/Controller/AbstractActionController.php(72): Application\\Controller\\CommonSpecsController->errorAction()\n#1 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Latest/vendor/laminas/laminas-eventmanager/src/EventManager.php(320): Laminas\\Mvc\\Controller\\AbstractActionController->onDispatch()\n#2 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Latest/vendor/laminas/laminas-eventmanager/src/EventManager.php(178): Laminas\\EventManager\\EventManager->triggerListeners()\n#3 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Latest/vendor/laminas/laminas-mvc/src/Controller/AbstractController.php(105): Laminas\\EventManager\\EventManager->triggerEventUntil()\n#4 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Latest/vendor/laminas/laminas-mvc/src/DispatchListener.php(117): Laminas\\Mvc\\Controller\\AbstractController->dispatch()\n#5 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Latest/vendor/laminas/laminas-eventmanager/src/EventManager.php(320): Laminas\\Mvc\\DispatchListener->onDispatch()\n#6 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Latest/vendor/laminas/laminas-eventmanager/src/EventManager.php(178): Laminas\\EventManager\\EventManager->triggerListeners()\n#7 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Latest/vendor/laminas/laminas-mvc/src/Application.php(319): Laminas\\EventManager\\EventManager->triggerEventUntil()\n#8 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Latest/public/index.php(37): Laminas\\Mvc\\Application->run()\n#9 {main}",
"error.type": "Exception"
}
},
{
"name": "laminas.controller.action",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Application\\Controller\\CommonSpecsController@errorAction",
"trace_id": 0,
"span_id": 29,
@@ -237,14 +237,14 @@
"error": 1,
"meta": {
"component": "laminas",
- "error.message": "Thrown Exception (500): Controller error in /home/circleci/app/tests/Frameworks/Laminas/Version_2_0/module/Application/src/Controller/CommonSpecsController.php:33",
- "error.stack": "#0 /home/circleci/app/tests/Frameworks/Laminas/Version_2_0/vendor/laminas/laminas-mvc/src/Controller/AbstractActionController.php(72): Application\\Controller\\CommonSpecsController->errorAction()\n#1 /home/circleci/app/tests/Frameworks/Laminas/Version_2_0/vendor/laminas/laminas-eventmanager/src/EventManager.php(320): Laminas\\Mvc\\Controller\\AbstractActionController->onDispatch()\n#2 /home/circleci/app/tests/Frameworks/Laminas/Version_2_0/vendor/laminas/laminas-eventmanager/src/EventManager.php(178): Laminas\\EventManager\\EventManager->triggerListeners()\n#3 /home/circleci/app/tests/Frameworks/Laminas/Version_2_0/vendor/laminas/laminas-mvc/src/Controller/AbstractController.php(105): Laminas\\EventManager\\EventManager->triggerEventUntil()\n#4 /home/circleci/app/tests/Frameworks/Laminas/Version_2_0/vendor/laminas/laminas-mvc/src/DispatchListener.php(117): Laminas\\Mvc\\Controller\\AbstractController->dispatch()\n#5 /home/circleci/app/tests/Frameworks/Laminas/Version_2_0/vendor/laminas/laminas-eventmanager/src/EventManager.php(320): Laminas\\Mvc\\DispatchListener->onDispatch()\n#6 /home/circleci/app/tests/Frameworks/Laminas/Version_2_0/vendor/laminas/laminas-eventmanager/src/EventManager.php(178): Laminas\\EventManager\\EventManager->triggerListeners()\n#7 /home/circleci/app/tests/Frameworks/Laminas/Version_2_0/vendor/laminas/laminas-mvc/src/Application.php(319): Laminas\\EventManager\\EventManager->triggerEventUntil()\n#8 /home/circleci/app/tests/Frameworks/Laminas/Version_2_0/public/index.php(37): Laminas\\Mvc\\Application->run()\n#9 {main}",
+ "error.message": "Thrown Exception (500): Controller error in /home/circleci/app/tests/Frameworks/Laminas/Mvc/Latest/module/Application/src/Controller/CommonSpecsController.php:33",
+ "error.stack": "#0 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Latest/vendor/laminas/laminas-mvc/src/Controller/AbstractActionController.php(72): Application\\Controller\\CommonSpecsController->errorAction()\n#1 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Latest/vendor/laminas/laminas-eventmanager/src/EventManager.php(320): Laminas\\Mvc\\Controller\\AbstractActionController->onDispatch()\n#2 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Latest/vendor/laminas/laminas-eventmanager/src/EventManager.php(178): Laminas\\EventManager\\EventManager->triggerListeners()\n#3 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Latest/vendor/laminas/laminas-mvc/src/Controller/AbstractController.php(105): Laminas\\EventManager\\EventManager->triggerEventUntil()\n#4 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Latest/vendor/laminas/laminas-mvc/src/DispatchListener.php(117): Laminas\\Mvc\\Controller\\AbstractController->dispatch()\n#5 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Latest/vendor/laminas/laminas-eventmanager/src/EventManager.php(320): Laminas\\Mvc\\DispatchListener->onDispatch()\n#6 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Latest/vendor/laminas/laminas-eventmanager/src/EventManager.php(178): Laminas\\EventManager\\EventManager->triggerListeners()\n#7 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Latest/vendor/laminas/laminas-mvc/src/Application.php(319): Laminas\\EventManager\\EventManager->triggerEventUntil()\n#8 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Latest/public/index.php(37): Laminas\\Mvc\\Application->run()\n#9 {main}",
"error.type": "Exception"
}
},
{
"name": "laminas.mvcEvent.setError",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "error-exception",
"trace_id": 0,
"span_id": 20,
@@ -256,7 +256,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\View\\Http\\RouteNotFoundStrategy@detectNotFoundError",
"trace_id": 0,
"span_id": 21,
@@ -268,7 +268,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\View\\Http\\RouteNotFoundStrategy@prepareNotFoundViewModel",
"trace_id": 0,
"span_id": 22,
@@ -280,7 +280,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\View\\Http\\ExceptionStrategy@prepareExceptionViewModel",
"trace_id": 0,
"span_id": 23,
@@ -292,7 +292,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\View\\Http\\InjectViewModelListener@injectViewModel",
"trace_id": 0,
"span_id": 24,
@@ -304,7 +304,7 @@
},
{
"name": "laminas.application.completeRequest",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.application.completeRequest",
"trace_id": 0,
"span_id": 9,
@@ -316,7 +316,7 @@
},
{
"name": "laminas.event.render",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.event.render",
"trace_id": 0,
"span_id": 15,
@@ -328,7 +328,7 @@
},
{
"name": "laminas.view.http.renderer",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\View\\Http\\DefaultRenderingStrategy@render",
"trace_id": 0,
"span_id": 25,
@@ -340,7 +340,7 @@
},
{
"name": "laminas.view.render",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.view.render",
"trace_id": 0,
"span_id": 28,
@@ -352,7 +352,7 @@
},
{
"name": "laminas.templating.render",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "error/index",
"trace_id": 0,
"span_id": 30,
@@ -364,7 +364,7 @@
},
{
"name": "laminas.templating.render",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "layout/layout",
"trace_id": 0,
"span_id": 31,
@@ -376,7 +376,7 @@
},
{
"name": "laminas.event.finish",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.event.finish",
"trace_id": 0,
"span_id": 16,
@@ -388,7 +388,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\SendResponseListener@sendResponse",
"trace_id": 0,
"span_id": 26,
diff --git a/tests/snapshots/tests.integrations.laminas.v2_0.common_scenarios_test.test_scenario_get_with_view.json b/tests/snapshots/tests.integrations.laminas.mvc.latest.common_scenarios_test.test_scenario_get_with_view.json
similarity index 87%
rename from tests/snapshots/tests.integrations.laminas.v2_0.common_scenarios_test.test_scenario_get_with_view.json
rename to tests/snapshots/tests.integrations.laminas.mvc.latest.common_scenarios_test.test_scenario_get_with_view.json
index 447e982da3..241060043b 100644
--- a/tests/snapshots/tests.integrations.laminas.v2_0.common_scenarios_test.test_scenario_get_with_view.json
+++ b/tests/snapshots/tests.integrations.laminas.mvc.latest.common_scenarios_test.test_scenario_get_with_view.json
@@ -1,7 +1,7 @@
[[
{
"name": "laminas.request",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Application\\Controller\\CommonSpecsController@view simpleView",
"trace_id": 0,
"span_id": 1,
@@ -24,7 +24,7 @@
},
{
"name": "laminas.application.init",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.application.init",
"trace_id": 0,
"span_id": 2,
@@ -36,7 +36,7 @@
},
{
"name": "laminas.event.loadModules",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.event.loadModules",
"trace_id": 0,
"span_id": 4,
@@ -48,7 +48,7 @@
},
{
"name": "laminas.event.loadModules.post",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.event.loadModules.post",
"trace_id": 0,
"span_id": 5,
@@ -60,7 +60,7 @@
},
{
"name": "laminas.application.bootstrap",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.application.bootstrap",
"trace_id": 0,
"span_id": 6,
@@ -72,7 +72,7 @@
},
{
"name": "laminas.event.bootstrap",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.event.bootstrap",
"trace_id": 0,
"span_id": 10,
@@ -84,7 +84,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\View\\Http\\ViewManager@onBootstrap",
"trace_id": 0,
"span_id": 18,
@@ -96,7 +96,7 @@
},
{
"name": "laminas.application.run",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.application.run",
"trace_id": 0,
"span_id": 3,
@@ -108,7 +108,7 @@
},
{
"name": "laminas.event.route",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.event.route",
"trace_id": 0,
"span_id": 7,
@@ -120,7 +120,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\HttpMethodListener@onRoute",
"trace_id": 0,
"span_id": 11,
@@ -132,7 +132,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\RouteListener@onRoute",
"trace_id": 0,
"span_id": 12,
@@ -144,7 +144,7 @@
},
{
"name": "laminas.route.match",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Router\\Http\\TreeRouteStack@match",
"trace_id": 0,
"span_id": 19,
@@ -156,7 +156,7 @@
},
{
"name": "laminas.event.dispatch",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.event.dispatch",
"trace_id": 0,
"span_id": 8,
@@ -168,7 +168,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\MiddlewareListener@onDispatch",
"trace_id": 0,
"span_id": 13,
@@ -180,7 +180,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\DispatchListener@onDispatch",
"trace_id": 0,
"span_id": 14,
@@ -192,7 +192,7 @@
},
{
"name": "laminas.controller.dispatch",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Application\\Controller\\CommonSpecsController",
"trace_id": 0,
"span_id": 20,
@@ -204,7 +204,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Application\\Controller\\CommonSpecsController@onDispatch",
"trace_id": 0,
"span_id": 23,
@@ -216,7 +216,7 @@
},
{
"name": "laminas.controller.action",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Application\\Controller\\CommonSpecsController@viewAction",
"trace_id": 0,
"span_id": 27,
@@ -228,7 +228,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\View\\Http\\RouteNotFoundStrategy@prepareNotFoundViewModel",
"trace_id": 0,
"span_id": 24,
@@ -240,7 +240,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\View\\Http\\InjectViewModelListener@injectViewModel",
"trace_id": 0,
"span_id": 25,
@@ -252,7 +252,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\View\\Http\\RouteNotFoundStrategy@prepareNotFoundViewModel",
"trace_id": 0,
"span_id": 15,
@@ -264,7 +264,7 @@
},
{
"name": "laminas.application.completeRequest",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.application.completeRequest",
"trace_id": 0,
"span_id": 9,
@@ -276,7 +276,7 @@
},
{
"name": "laminas.event.render",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.event.render",
"trace_id": 0,
"span_id": 16,
@@ -288,7 +288,7 @@
},
{
"name": "laminas.view.http.renderer",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\View\\Http\\DefaultRenderingStrategy@render",
"trace_id": 0,
"span_id": 21,
@@ -300,7 +300,7 @@
},
{
"name": "laminas.view.render",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.view.render",
"trace_id": 0,
"span_id": 26,
@@ -312,7 +312,7 @@
},
{
"name": "laminas.templating.render",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "application/common-specs/view",
"trace_id": 0,
"span_id": 28,
@@ -324,7 +324,7 @@
},
{
"name": "laminas.event.finish",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.event.finish",
"trace_id": 0,
"span_id": 17,
@@ -336,7 +336,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\SendResponseListener@sendResponse",
"trace_id": 0,
"span_id": 22,
diff --git a/tests/snapshots/tests.integrations.laminas.v1_4.common_scenarios_test.test_scenario_get_return_string.json b/tests/snapshots/tests.integrations.laminas.mvc.v3_3.common_scenarios_test.test_scenario_get_return_string.json
similarity index 85%
rename from tests/snapshots/tests.integrations.laminas.v1_4.common_scenarios_test.test_scenario_get_return_string.json
rename to tests/snapshots/tests.integrations.laminas.mvc.v3_3.common_scenarios_test.test_scenario_get_return_string.json
index bf9b87bbc1..fd62d76714 100644
--- a/tests/snapshots/tests.integrations.laminas.v1_4.common_scenarios_test.test_scenario_get_return_string.json
+++ b/tests/snapshots/tests.integrations.laminas.mvc.v3_3.common_scenarios_test.test_scenario_get_return_string.json
@@ -1,21 +1,23 @@
[[
{
"name": "laminas.request",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Application\\Controller\\CommonSpecsController@simple simple",
"trace_id": 0,
"span_id": 1,
- "parent_id": 1138859447638824880,
+ "parent_id": 8632882231202155295,
"type": "web",
"meta": {
"_dd.p.dm": "-0",
+ "_dd.p.tid": "6790b6e900000000",
"component": "laminas",
"http.method": "GET",
- "laminas.route.name": "simple",
"http.status_code": "200",
"http.url": "http://localhost/simple?key=value&",
"http.version": "1.1",
"laminas.route.action": "Application\\Controller\\CommonSpecsController@simple",
+ "laminas.route.name": "simple",
+ "runtime-id": "ca2ea41c-84cc-4c09-a3e2-cdd9b8164315",
"span.kind": "server"
},
"metrics": {
@@ -24,7 +26,7 @@
},
{
"name": "laminas.application.init",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.application.init",
"trace_id": 0,
"span_id": 2,
@@ -36,7 +38,7 @@
},
{
"name": "laminas.event.loadModules",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.event.loadModules",
"trace_id": 0,
"span_id": 4,
@@ -48,7 +50,7 @@
},
{
"name": "laminas.event.loadModules.post",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.event.loadModules.post",
"trace_id": 0,
"span_id": 5,
@@ -60,7 +62,7 @@
},
{
"name": "laminas.application.bootstrap",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.application.bootstrap",
"trace_id": 0,
"span_id": 6,
@@ -72,7 +74,7 @@
},
{
"name": "laminas.event.bootstrap",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.event.bootstrap",
"trace_id": 0,
"span_id": 10,
@@ -84,7 +86,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\View\\Http\\ViewManager@onBootstrap",
"trace_id": 0,
"span_id": 16,
@@ -96,7 +98,7 @@
},
{
"name": "laminas.application.run",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.application.run",
"trace_id": 0,
"span_id": 3,
@@ -108,7 +110,7 @@
},
{
"name": "laminas.event.route",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.event.route",
"trace_id": 0,
"span_id": 7,
@@ -120,7 +122,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\HttpMethodListener@onRoute",
"trace_id": 0,
"span_id": 11,
@@ -132,7 +134,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\RouteListener@onRoute",
"trace_id": 0,
"span_id": 12,
@@ -144,7 +146,7 @@
},
{
"name": "laminas.route.match",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Router\\Http\\TreeRouteStack@match",
"trace_id": 0,
"span_id": 17,
@@ -156,7 +158,7 @@
},
{
"name": "laminas.event.dispatch",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.event.dispatch",
"trace_id": 0,
"span_id": 8,
@@ -168,7 +170,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\MiddlewareListener@onDispatch",
"trace_id": 0,
"span_id": 13,
@@ -180,7 +182,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\DispatchListener@onDispatch",
"trace_id": 0,
"span_id": 14,
@@ -192,7 +194,7 @@
},
{
"name": "laminas.controller.dispatch",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Application\\Controller\\CommonSpecsController",
"trace_id": 0,
"span_id": 18,
@@ -204,7 +206,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Application\\Controller\\CommonSpecsController@onDispatch",
"trace_id": 0,
"span_id": 19,
@@ -216,7 +218,7 @@
},
{
"name": "laminas.controller.action",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Application\\Controller\\CommonSpecsController@simpleAction",
"trace_id": 0,
"span_id": 20,
@@ -228,7 +230,7 @@
},
{
"name": "laminas.event.finish",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.event.finish",
"trace_id": 0,
"span_id": 9,
@@ -240,7 +242,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\SendResponseListener@sendResponse",
"trace_id": 0,
"span_id": 15,
diff --git a/tests/snapshots/tests.integrations.laminas.v1_4.common_scenarios_test.test_scenario_get_to_missing_route.json b/tests/snapshots/tests.integrations.laminas.mvc.v3_3.common_scenarios_test.test_scenario_get_to_missing_route.json
similarity index 85%
rename from tests/snapshots/tests.integrations.laminas.v1_4.common_scenarios_test.test_scenario_get_to_missing_route.json
rename to tests/snapshots/tests.integrations.laminas.mvc.v3_3.common_scenarios_test.test_scenario_get_to_missing_route.json
index 9a3d7fbc43..771abe7c6b 100644
--- a/tests/snapshots/tests.integrations.laminas.v1_4.common_scenarios_test.test_scenario_get_to_missing_route.json
+++ b/tests/snapshots/tests.integrations.laminas.mvc.v3_3.common_scenarios_test.test_scenario_get_to_missing_route.json
@@ -1,19 +1,21 @@
[[
{
"name": "laminas.request",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "GET /does_not_exist",
"trace_id": 0,
"span_id": 1,
- "parent_id": 1625545689840073902,
+ "parent_id": 14879615104571236270,
"type": "web",
"meta": {
"_dd.p.dm": "-0",
+ "_dd.p.tid": "6790b6db00000000",
"component": "laminas",
"http.method": "GET",
"http.status_code": "404",
"http.url": "http://localhost/does_not_exist?key=value&",
"http.version": "1.1",
+ "runtime-id": "067f015a-c713-487a-a609-31c49a2a9d63",
"span.kind": "server"
},
"metrics": {
@@ -22,7 +24,7 @@
},
{
"name": "laminas.application.init",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.application.init",
"trace_id": 0,
"span_id": 2,
@@ -34,7 +36,7 @@
},
{
"name": "laminas.event.loadModules",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.event.loadModules",
"trace_id": 0,
"span_id": 4,
@@ -46,7 +48,7 @@
},
{
"name": "laminas.event.loadModules.post",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.event.loadModules.post",
"trace_id": 0,
"span_id": 5,
@@ -58,7 +60,7 @@
},
{
"name": "laminas.application.bootstrap",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.application.bootstrap",
"trace_id": 0,
"span_id": 6,
@@ -70,7 +72,7 @@
},
{
"name": "laminas.event.bootstrap",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.event.bootstrap",
"trace_id": 0,
"span_id": 9,
@@ -82,7 +84,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\View\\Http\\ViewManager@onBootstrap",
"trace_id": 0,
"span_id": 14,
@@ -94,7 +96,7 @@
},
{
"name": "laminas.application.run",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.application.run",
"trace_id": 0,
"span_id": 3,
@@ -106,7 +108,7 @@
},
{
"name": "laminas.event.route",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.event.route",
"trace_id": 0,
"span_id": 7,
@@ -118,7 +120,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\HttpMethodListener@onRoute",
"trace_id": 0,
"span_id": 10,
@@ -130,7 +132,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\RouteListener@onRoute",
"trace_id": 0,
"span_id": 11,
@@ -142,7 +144,7 @@
},
{
"name": "laminas.route.match",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Router\\Http\\TreeRouteStack@match",
"trace_id": 0,
"span_id": 15,
@@ -154,7 +156,7 @@
},
{
"name": "laminas.mvcEvent.setError",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "error-router-no-match",
"trace_id": 0,
"span_id": 16,
@@ -166,7 +168,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\View\\Http\\RouteNotFoundStrategy@detectNotFoundError",
"trace_id": 0,
"span_id": 17,
@@ -178,7 +180,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\View\\Http\\RouteNotFoundStrategy@prepareNotFoundViewModel",
"trace_id": 0,
"span_id": 18,
@@ -190,7 +192,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\View\\Http\\ExceptionStrategy@prepareExceptionViewModel",
"trace_id": 0,
"span_id": 19,
@@ -202,7 +204,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\View\\Http\\InjectViewModelListener@injectViewModel",
"trace_id": 0,
"span_id": 20,
@@ -214,7 +216,7 @@
},
{
"name": "laminas.application.completeRequest",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.application.completeRequest",
"trace_id": 0,
"span_id": 8,
@@ -226,7 +228,7 @@
},
{
"name": "laminas.event.render",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.event.render",
"trace_id": 0,
"span_id": 12,
@@ -238,7 +240,7 @@
},
{
"name": "laminas.view.http.renderer",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\View\\Http\\DefaultRenderingStrategy@render",
"trace_id": 0,
"span_id": 21,
@@ -250,7 +252,7 @@
},
{
"name": "laminas.view.render",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.view.render",
"trace_id": 0,
"span_id": 23,
@@ -262,7 +264,7 @@
},
{
"name": "laminas.templating.render",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "error/404",
"trace_id": 0,
"span_id": 24,
@@ -274,7 +276,7 @@
},
{
"name": "laminas.templating.render",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "layout/layout",
"trace_id": 0,
"span_id": 25,
@@ -286,7 +288,7 @@
},
{
"name": "laminas.event.finish",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.event.finish",
"trace_id": 0,
"span_id": 13,
@@ -298,7 +300,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\SendResponseListener@sendResponse",
"trace_id": 0,
"span_id": 22,
diff --git a/tests/snapshots/tests.integrations.laminas.v1_4.common_scenarios_test.test_scenario_get_with_exception.json b/tests/snapshots/tests.integrations.laminas.mvc.v3_3.common_scenarios_test.test_scenario_get_with_exception.json
similarity index 58%
rename from tests/snapshots/tests.integrations.laminas.v1_4.common_scenarios_test.test_scenario_get_with_exception.json
rename to tests/snapshots/tests.integrations.laminas.mvc.v3_3.common_scenarios_test.test_scenario_get_with_exception.json
index 3daf1afba2..e32df7bc0a 100644
--- a/tests/snapshots/tests.integrations.laminas.v1_4.common_scenarios_test.test_scenario_get_with_exception.json
+++ b/tests/snapshots/tests.integrations.laminas.mvc.v3_3.common_scenarios_test.test_scenario_get_with_exception.json
@@ -1,25 +1,27 @@
[[
{
"name": "laminas.request",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Application\\Controller\\CommonSpecsController@error error",
"trace_id": 0,
"span_id": 1,
- "parent_id": 4690303927266834989,
+ "parent_id": 18026973261131779373,
"type": "web",
"error": 1,
"meta": {
"_dd.p.dm": "-0",
+ "_dd.p.tid": "6790b6d500000000",
"component": "laminas",
- "error.message": "Uncaught Exception (500): Controller error in /home/circleci/app/tests/Frameworks/Laminas/Version_1_4/module/Application/src/Controller/CommonSpecsController.php:33",
- "error.stack": "#0 /home/circleci/app/tests/Frameworks/Laminas/Version_1_4/vendor/laminas/laminas-mvc/src/Controller/AbstractActionController.php(71): Application\\Controller\\CommonSpecsController->errorAction()\n#1 /home/circleci/app/tests/Frameworks/Laminas/Version_1_4/vendor/laminas/laminas-eventmanager/src/EventManager.php(319): Laminas\\Mvc\\Controller\\AbstractActionController->onDispatch()\n#2 /home/circleci/app/tests/Frameworks/Laminas/Version_1_4/vendor/laminas/laminas-eventmanager/src/EventManager.php(179): Laminas\\EventManager\\EventManager->triggerListeners()\n#3 /home/circleci/app/tests/Frameworks/Laminas/Version_1_4/vendor/laminas/laminas-mvc/src/Controller/AbstractController.php(97): Laminas\\EventManager\\EventManager->triggerEventUntil()\n#4 /home/circleci/app/tests/Frameworks/Laminas/Version_1_4/vendor/laminas/laminas-mvc/src/DispatchListener.php(132): Laminas\\Mvc\\Controller\\AbstractController->dispatch()\n#5 /home/circleci/app/tests/Frameworks/Laminas/Version_1_4/vendor/laminas/laminas-eventmanager/src/EventManager.php(319): Laminas\\Mvc\\DispatchListener->onDispatch()\n#6 /home/circleci/app/tests/Frameworks/Laminas/Version_1_4/vendor/laminas/laminas-eventmanager/src/EventManager.php(179): Laminas\\EventManager\\EventManager->triggerListeners()\n#7 /home/circleci/app/tests/Frameworks/Laminas/Version_1_4/vendor/laminas/laminas-mvc/src/Application.php(325): Laminas\\EventManager\\EventManager->triggerEventUntil()\n#8 /home/circleci/app/tests/Frameworks/Laminas/Version_1_4/public/index.php(42): Laminas\\Mvc\\Application->run()\n#9 {main}",
+ "error.message": "Uncaught Exception (500): Controller error in /home/circleci/app/tests/Frameworks/Laminas/Mvc/Version_3_3/module/Application/src/Controller/CommonSpecsController.php:33",
+ "error.stack": "#0 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Version_3_3/vendor/laminas/laminas-mvc/src/Controller/AbstractActionController.php(71): Application\\Controller\\CommonSpecsController->errorAction()\n#1 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Version_3_3/vendor/laminas/laminas-eventmanager/src/EventManager.php(319): Laminas\\Mvc\\Controller\\AbstractActionController->onDispatch()\n#2 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Version_3_3/vendor/laminas/laminas-eventmanager/src/EventManager.php(179): Laminas\\EventManager\\EventManager->triggerListeners()\n#3 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Version_3_3/vendor/laminas/laminas-mvc/src/Controller/AbstractController.php(97): Laminas\\EventManager\\EventManager->triggerEventUntil()\n#4 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Version_3_3/vendor/laminas/laminas-mvc/src/DispatchListener.php(132): Laminas\\Mvc\\Controller\\AbstractController->dispatch()\n#5 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Version_3_3/vendor/laminas/laminas-eventmanager/src/EventManager.php(319): Laminas\\Mvc\\DispatchListener->onDispatch()\n#6 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Version_3_3/vendor/laminas/laminas-eventmanager/src/EventManager.php(179): Laminas\\EventManager\\EventManager->triggerListeners()\n#7 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Version_3_3/vendor/laminas/laminas-mvc/src/Application.php(325): Laminas\\EventManager\\EventManager->triggerEventUntil()\n#8 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Version_3_3/public/index.php(37): Laminas\\Mvc\\Application->run()\n#9 {main}",
"error.type": "Exception",
"http.method": "GET",
- "laminas.route.name": "error",
"http.status_code": "500",
"http.url": "http://localhost/error?key=value&",
"http.version": "1.1",
"laminas.route.action": "Application\\Controller\\CommonSpecsController@error",
+ "laminas.route.name": "error",
+ "runtime-id": "067f015a-c713-487a-a609-31c49a2a9d63",
"span.kind": "server"
},
"metrics": {
@@ -28,7 +30,7 @@
},
{
"name": "laminas.application.init",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.application.init",
"trace_id": 0,
"span_id": 2,
@@ -40,7 +42,7 @@
},
{
"name": "laminas.event.loadModules",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.event.loadModules",
"trace_id": 0,
"span_id": 4,
@@ -52,7 +54,7 @@
},
{
"name": "laminas.event.loadModules.post",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.event.loadModules.post",
"trace_id": 0,
"span_id": 5,
@@ -64,7 +66,7 @@
},
{
"name": "laminas.application.bootstrap",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.application.bootstrap",
"trace_id": 0,
"span_id": 6,
@@ -76,7 +78,7 @@
},
{
"name": "laminas.event.bootstrap",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.event.bootstrap",
"trace_id": 0,
"span_id": 10,
@@ -88,7 +90,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\View\\Http\\ViewManager@onBootstrap",
"trace_id": 0,
"span_id": 17,
@@ -100,7 +102,7 @@
},
{
"name": "laminas.application.run",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.application.run",
"trace_id": 0,
"span_id": 3,
@@ -112,7 +114,7 @@
},
{
"name": "laminas.event.route",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.event.route",
"trace_id": 0,
"span_id": 7,
@@ -124,7 +126,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\HttpMethodListener@onRoute",
"trace_id": 0,
"span_id": 11,
@@ -136,7 +138,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\RouteListener@onRoute",
"trace_id": 0,
"span_id": 12,
@@ -148,7 +150,7 @@
},
{
"name": "laminas.route.match",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Router\\Http\\TreeRouteStack@match",
"trace_id": 0,
"span_id": 18,
@@ -160,7 +162,7 @@
},
{
"name": "laminas.event.dispatch",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.event.dispatch",
"trace_id": 0,
"span_id": 8,
@@ -172,7 +174,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\MiddlewareListener@onDispatch",
"trace_id": 0,
"span_id": 13,
@@ -184,7 +186,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\DispatchListener@onDispatch",
"trace_id": 0,
"span_id": 14,
@@ -196,7 +198,7 @@
},
{
"name": "laminas.controller.dispatch",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Application\\Controller\\CommonSpecsController",
"trace_id": 0,
"span_id": 19,
@@ -205,14 +207,14 @@
"error": 1,
"meta": {
"component": "laminas",
- "error.message": "Thrown Exception (500): Controller error in /home/circleci/app/tests/Frameworks/Laminas/Version_1_4/module/Application/src/Controller/CommonSpecsController.php:33",
- "error.stack": "#0 /home/circleci/app/tests/Frameworks/Laminas/Version_1_4/vendor/laminas/laminas-mvc/src/Controller/AbstractActionController.php(71): Application\\Controller\\CommonSpecsController->errorAction()\n#1 /home/circleci/app/tests/Frameworks/Laminas/Version_1_4/vendor/laminas/laminas-eventmanager/src/EventManager.php(319): Laminas\\Mvc\\Controller\\AbstractActionController->onDispatch()\n#2 /home/circleci/app/tests/Frameworks/Laminas/Version_1_4/vendor/laminas/laminas-eventmanager/src/EventManager.php(179): Laminas\\EventManager\\EventManager->triggerListeners()\n#3 /home/circleci/app/tests/Frameworks/Laminas/Version_1_4/vendor/laminas/laminas-mvc/src/Controller/AbstractController.php(97): Laminas\\EventManager\\EventManager->triggerEventUntil()\n#4 /home/circleci/app/tests/Frameworks/Laminas/Version_1_4/vendor/laminas/laminas-mvc/src/DispatchListener.php(132): Laminas\\Mvc\\Controller\\AbstractController->dispatch()\n#5 /home/circleci/app/tests/Frameworks/Laminas/Version_1_4/vendor/laminas/laminas-eventmanager/src/EventManager.php(319): Laminas\\Mvc\\DispatchListener->onDispatch()\n#6 /home/circleci/app/tests/Frameworks/Laminas/Version_1_4/vendor/laminas/laminas-eventmanager/src/EventManager.php(179): Laminas\\EventManager\\EventManager->triggerListeners()\n#7 /home/circleci/app/tests/Frameworks/Laminas/Version_1_4/vendor/laminas/laminas-mvc/src/Application.php(325): Laminas\\EventManager\\EventManager->triggerEventUntil()\n#8 /home/circleci/app/tests/Frameworks/Laminas/Version_1_4/public/index.php(42): Laminas\\Mvc\\Application->run()\n#9 {main}",
+ "error.message": "Thrown Exception (500): Controller error in /home/circleci/app/tests/Frameworks/Laminas/Mvc/Version_3_3/module/Application/src/Controller/CommonSpecsController.php:33",
+ "error.stack": "#0 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Version_3_3/vendor/laminas/laminas-mvc/src/Controller/AbstractActionController.php(71): Application\\Controller\\CommonSpecsController->errorAction()\n#1 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Version_3_3/vendor/laminas/laminas-eventmanager/src/EventManager.php(319): Laminas\\Mvc\\Controller\\AbstractActionController->onDispatch()\n#2 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Version_3_3/vendor/laminas/laminas-eventmanager/src/EventManager.php(179): Laminas\\EventManager\\EventManager->triggerListeners()\n#3 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Version_3_3/vendor/laminas/laminas-mvc/src/Controller/AbstractController.php(97): Laminas\\EventManager\\EventManager->triggerEventUntil()\n#4 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Version_3_3/vendor/laminas/laminas-mvc/src/DispatchListener.php(132): Laminas\\Mvc\\Controller\\AbstractController->dispatch()\n#5 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Version_3_3/vendor/laminas/laminas-eventmanager/src/EventManager.php(319): Laminas\\Mvc\\DispatchListener->onDispatch()\n#6 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Version_3_3/vendor/laminas/laminas-eventmanager/src/EventManager.php(179): Laminas\\EventManager\\EventManager->triggerListeners()\n#7 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Version_3_3/vendor/laminas/laminas-mvc/src/Application.php(325): Laminas\\EventManager\\EventManager->triggerEventUntil()\n#8 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Version_3_3/public/index.php(37): Laminas\\Mvc\\Application->run()\n#9 {main}",
"error.type": "Exception"
}
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Application\\Controller\\CommonSpecsController@onDispatch",
"trace_id": 0,
"span_id": 27,
@@ -221,14 +223,14 @@
"error": 1,
"meta": {
"component": "laminas",
- "error.message": "Thrown Exception (500): Controller error in /home/circleci/app/tests/Frameworks/Laminas/Version_1_4/module/Application/src/Controller/CommonSpecsController.php:33",
- "error.stack": "#0 /home/circleci/app/tests/Frameworks/Laminas/Version_1_4/vendor/laminas/laminas-mvc/src/Controller/AbstractActionController.php(71): Application\\Controller\\CommonSpecsController->errorAction()\n#1 /home/circleci/app/tests/Frameworks/Laminas/Version_1_4/vendor/laminas/laminas-eventmanager/src/EventManager.php(319): Laminas\\Mvc\\Controller\\AbstractActionController->onDispatch()\n#2 /home/circleci/app/tests/Frameworks/Laminas/Version_1_4/vendor/laminas/laminas-eventmanager/src/EventManager.php(179): Laminas\\EventManager\\EventManager->triggerListeners()\n#3 /home/circleci/app/tests/Frameworks/Laminas/Version_1_4/vendor/laminas/laminas-mvc/src/Controller/AbstractController.php(97): Laminas\\EventManager\\EventManager->triggerEventUntil()\n#4 /home/circleci/app/tests/Frameworks/Laminas/Version_1_4/vendor/laminas/laminas-mvc/src/DispatchListener.php(132): Laminas\\Mvc\\Controller\\AbstractController->dispatch()\n#5 /home/circleci/app/tests/Frameworks/Laminas/Version_1_4/vendor/laminas/laminas-eventmanager/src/EventManager.php(319): Laminas\\Mvc\\DispatchListener->onDispatch()\n#6 /home/circleci/app/tests/Frameworks/Laminas/Version_1_4/vendor/laminas/laminas-eventmanager/src/EventManager.php(179): Laminas\\EventManager\\EventManager->triggerListeners()\n#7 /home/circleci/app/tests/Frameworks/Laminas/Version_1_4/vendor/laminas/laminas-mvc/src/Application.php(325): Laminas\\EventManager\\EventManager->triggerEventUntil()\n#8 /home/circleci/app/tests/Frameworks/Laminas/Version_1_4/public/index.php(42): Laminas\\Mvc\\Application->run()\n#9 {main}",
+ "error.message": "Thrown Exception (500): Controller error in /home/circleci/app/tests/Frameworks/Laminas/Mvc/Version_3_3/module/Application/src/Controller/CommonSpecsController.php:33",
+ "error.stack": "#0 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Version_3_3/vendor/laminas/laminas-mvc/src/Controller/AbstractActionController.php(71): Application\\Controller\\CommonSpecsController->errorAction()\n#1 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Version_3_3/vendor/laminas/laminas-eventmanager/src/EventManager.php(319): Laminas\\Mvc\\Controller\\AbstractActionController->onDispatch()\n#2 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Version_3_3/vendor/laminas/laminas-eventmanager/src/EventManager.php(179): Laminas\\EventManager\\EventManager->triggerListeners()\n#3 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Version_3_3/vendor/laminas/laminas-mvc/src/Controller/AbstractController.php(97): Laminas\\EventManager\\EventManager->triggerEventUntil()\n#4 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Version_3_3/vendor/laminas/laminas-mvc/src/DispatchListener.php(132): Laminas\\Mvc\\Controller\\AbstractController->dispatch()\n#5 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Version_3_3/vendor/laminas/laminas-eventmanager/src/EventManager.php(319): Laminas\\Mvc\\DispatchListener->onDispatch()\n#6 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Version_3_3/vendor/laminas/laminas-eventmanager/src/EventManager.php(179): Laminas\\EventManager\\EventManager->triggerListeners()\n#7 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Version_3_3/vendor/laminas/laminas-mvc/src/Application.php(325): Laminas\\EventManager\\EventManager->triggerEventUntil()\n#8 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Version_3_3/public/index.php(37): Laminas\\Mvc\\Application->run()\n#9 {main}",
"error.type": "Exception"
}
},
{
"name": "laminas.controller.action",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Application\\Controller\\CommonSpecsController@errorAction",
"trace_id": 0,
"span_id": 29,
@@ -237,14 +239,14 @@
"error": 1,
"meta": {
"component": "laminas",
- "error.message": "Thrown Exception (500): Controller error in /home/circleci/app/tests/Frameworks/Laminas/Version_1_4/module/Application/src/Controller/CommonSpecsController.php:33",
- "error.stack": "#0 /home/circleci/app/tests/Frameworks/Laminas/Version_1_4/vendor/laminas/laminas-mvc/src/Controller/AbstractActionController.php(71): Application\\Controller\\CommonSpecsController->errorAction()\n#1 /home/circleci/app/tests/Frameworks/Laminas/Version_1_4/vendor/laminas/laminas-eventmanager/src/EventManager.php(319): Laminas\\Mvc\\Controller\\AbstractActionController->onDispatch()\n#2 /home/circleci/app/tests/Frameworks/Laminas/Version_1_4/vendor/laminas/laminas-eventmanager/src/EventManager.php(179): Laminas\\EventManager\\EventManager->triggerListeners()\n#3 /home/circleci/app/tests/Frameworks/Laminas/Version_1_4/vendor/laminas/laminas-mvc/src/Controller/AbstractController.php(97): Laminas\\EventManager\\EventManager->triggerEventUntil()\n#4 /home/circleci/app/tests/Frameworks/Laminas/Version_1_4/vendor/laminas/laminas-mvc/src/DispatchListener.php(132): Laminas\\Mvc\\Controller\\AbstractController->dispatch()\n#5 /home/circleci/app/tests/Frameworks/Laminas/Version_1_4/vendor/laminas/laminas-eventmanager/src/EventManager.php(319): Laminas\\Mvc\\DispatchListener->onDispatch()\n#6 /home/circleci/app/tests/Frameworks/Laminas/Version_1_4/vendor/laminas/laminas-eventmanager/src/EventManager.php(179): Laminas\\EventManager\\EventManager->triggerListeners()\n#7 /home/circleci/app/tests/Frameworks/Laminas/Version_1_4/vendor/laminas/laminas-mvc/src/Application.php(325): Laminas\\EventManager\\EventManager->triggerEventUntil()\n#8 /home/circleci/app/tests/Frameworks/Laminas/Version_1_4/public/index.php(42): Laminas\\Mvc\\Application->run()\n#9 {main}",
+ "error.message": "Thrown Exception (500): Controller error in /home/circleci/app/tests/Frameworks/Laminas/Mvc/Version_3_3/module/Application/src/Controller/CommonSpecsController.php:33",
+ "error.stack": "#0 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Version_3_3/vendor/laminas/laminas-mvc/src/Controller/AbstractActionController.php(71): Application\\Controller\\CommonSpecsController->errorAction()\n#1 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Version_3_3/vendor/laminas/laminas-eventmanager/src/EventManager.php(319): Laminas\\Mvc\\Controller\\AbstractActionController->onDispatch()\n#2 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Version_3_3/vendor/laminas/laminas-eventmanager/src/EventManager.php(179): Laminas\\EventManager\\EventManager->triggerListeners()\n#3 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Version_3_3/vendor/laminas/laminas-mvc/src/Controller/AbstractController.php(97): Laminas\\EventManager\\EventManager->triggerEventUntil()\n#4 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Version_3_3/vendor/laminas/laminas-mvc/src/DispatchListener.php(132): Laminas\\Mvc\\Controller\\AbstractController->dispatch()\n#5 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Version_3_3/vendor/laminas/laminas-eventmanager/src/EventManager.php(319): Laminas\\Mvc\\DispatchListener->onDispatch()\n#6 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Version_3_3/vendor/laminas/laminas-eventmanager/src/EventManager.php(179): Laminas\\EventManager\\EventManager->triggerListeners()\n#7 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Version_3_3/vendor/laminas/laminas-mvc/src/Application.php(325): Laminas\\EventManager\\EventManager->triggerEventUntil()\n#8 /home/circleci/app/tests/Frameworks/Laminas/Mvc/Version_3_3/public/index.php(37): Laminas\\Mvc\\Application->run()\n#9 {main}",
"error.type": "Exception"
}
},
{
"name": "laminas.mvcEvent.setError",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "error-exception",
"trace_id": 0,
"span_id": 20,
@@ -256,7 +258,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\View\\Http\\RouteNotFoundStrategy@detectNotFoundError",
"trace_id": 0,
"span_id": 21,
@@ -268,7 +270,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\View\\Http\\RouteNotFoundStrategy@prepareNotFoundViewModel",
"trace_id": 0,
"span_id": 22,
@@ -280,7 +282,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\View\\Http\\ExceptionStrategy@prepareExceptionViewModel",
"trace_id": 0,
"span_id": 23,
@@ -292,7 +294,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\View\\Http\\InjectViewModelListener@injectViewModel",
"trace_id": 0,
"span_id": 24,
@@ -304,7 +306,7 @@
},
{
"name": "laminas.application.completeRequest",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.application.completeRequest",
"trace_id": 0,
"span_id": 9,
@@ -316,7 +318,7 @@
},
{
"name": "laminas.event.render",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.event.render",
"trace_id": 0,
"span_id": 15,
@@ -328,7 +330,7 @@
},
{
"name": "laminas.view.http.renderer",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\View\\Http\\DefaultRenderingStrategy@render",
"trace_id": 0,
"span_id": 25,
@@ -340,7 +342,7 @@
},
{
"name": "laminas.view.render",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.view.render",
"trace_id": 0,
"span_id": 28,
@@ -352,7 +354,7 @@
},
{
"name": "laminas.templating.render",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "error/index",
"trace_id": 0,
"span_id": 30,
@@ -364,7 +366,7 @@
},
{
"name": "laminas.templating.render",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "layout/layout",
"trace_id": 0,
"span_id": 31,
@@ -376,7 +378,7 @@
},
{
"name": "laminas.event.finish",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.event.finish",
"trace_id": 0,
"span_id": 16,
@@ -388,7 +390,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\SendResponseListener@sendResponse",
"trace_id": 0,
"span_id": 26,
diff --git a/tests/snapshots/tests.integrations.laminas.v1_4.common_scenarios_test.test_scenario_get_with_view.json b/tests/snapshots/tests.integrations.laminas.mvc.v3_3.common_scenarios_test.test_scenario_get_with_view.json
similarity index 86%
rename from tests/snapshots/tests.integrations.laminas.v1_4.common_scenarios_test.test_scenario_get_with_view.json
rename to tests/snapshots/tests.integrations.laminas.mvc.v3_3.common_scenarios_test.test_scenario_get_with_view.json
index aaace5641a..2a6d6c8350 100644
--- a/tests/snapshots/tests.integrations.laminas.v1_4.common_scenarios_test.test_scenario_get_with_view.json
+++ b/tests/snapshots/tests.integrations.laminas.mvc.v3_3.common_scenarios_test.test_scenario_get_with_view.json
@@ -1,21 +1,23 @@
[[
{
"name": "laminas.request",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Application\\Controller\\CommonSpecsController@view simpleView",
"trace_id": 0,
"span_id": 1,
- "parent_id": 3103401253233543803,
+ "parent_id": 11180589049733249268,
"type": "web",
"meta": {
"_dd.p.dm": "-0",
+ "_dd.p.tid": "6790b6ee00000000",
"component": "laminas",
"http.method": "GET",
- "laminas.route.name": "simpleView",
"http.status_code": "200",
"http.url": "http://localhost/simple_view?key=value&",
"http.version": "1.1",
"laminas.route.action": "Application\\Controller\\CommonSpecsController@view",
+ "laminas.route.name": "simpleView",
+ "runtime-id": "ca2ea41c-84cc-4c09-a3e2-cdd9b8164315",
"span.kind": "server"
},
"metrics": {
@@ -24,7 +26,7 @@
},
{
"name": "laminas.application.init",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.application.init",
"trace_id": 0,
"span_id": 2,
@@ -36,7 +38,7 @@
},
{
"name": "laminas.event.loadModules",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.event.loadModules",
"trace_id": 0,
"span_id": 4,
@@ -48,7 +50,7 @@
},
{
"name": "laminas.event.loadModules.post",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.event.loadModules.post",
"trace_id": 0,
"span_id": 5,
@@ -60,7 +62,7 @@
},
{
"name": "laminas.application.bootstrap",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.application.bootstrap",
"trace_id": 0,
"span_id": 6,
@@ -72,7 +74,7 @@
},
{
"name": "laminas.event.bootstrap",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.event.bootstrap",
"trace_id": 0,
"span_id": 10,
@@ -84,7 +86,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\View\\Http\\ViewManager@onBootstrap",
"trace_id": 0,
"span_id": 18,
@@ -96,7 +98,7 @@
},
{
"name": "laminas.application.run",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.application.run",
"trace_id": 0,
"span_id": 3,
@@ -108,7 +110,7 @@
},
{
"name": "laminas.event.route",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.event.route",
"trace_id": 0,
"span_id": 7,
@@ -120,7 +122,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\HttpMethodListener@onRoute",
"trace_id": 0,
"span_id": 11,
@@ -132,7 +134,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\RouteListener@onRoute",
"trace_id": 0,
"span_id": 12,
@@ -144,7 +146,7 @@
},
{
"name": "laminas.route.match",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Router\\Http\\TreeRouteStack@match",
"trace_id": 0,
"span_id": 19,
@@ -156,7 +158,7 @@
},
{
"name": "laminas.event.dispatch",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.event.dispatch",
"trace_id": 0,
"span_id": 8,
@@ -168,7 +170,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\MiddlewareListener@onDispatch",
"trace_id": 0,
"span_id": 13,
@@ -180,7 +182,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\DispatchListener@onDispatch",
"trace_id": 0,
"span_id": 14,
@@ -192,7 +194,7 @@
},
{
"name": "laminas.controller.dispatch",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Application\\Controller\\CommonSpecsController",
"trace_id": 0,
"span_id": 20,
@@ -204,7 +206,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Application\\Controller\\CommonSpecsController@onDispatch",
"trace_id": 0,
"span_id": 23,
@@ -216,7 +218,7 @@
},
{
"name": "laminas.controller.action",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Application\\Controller\\CommonSpecsController@viewAction",
"trace_id": 0,
"span_id": 27,
@@ -228,7 +230,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\View\\Http\\RouteNotFoundStrategy@prepareNotFoundViewModel",
"trace_id": 0,
"span_id": 24,
@@ -240,7 +242,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\View\\Http\\InjectViewModelListener@injectViewModel",
"trace_id": 0,
"span_id": 25,
@@ -252,7 +254,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\View\\Http\\RouteNotFoundStrategy@prepareNotFoundViewModel",
"trace_id": 0,
"span_id": 15,
@@ -264,7 +266,7 @@
},
{
"name": "laminas.application.completeRequest",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.application.completeRequest",
"trace_id": 0,
"span_id": 9,
@@ -276,7 +278,7 @@
},
{
"name": "laminas.event.render",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.event.render",
"trace_id": 0,
"span_id": 16,
@@ -288,7 +290,7 @@
},
{
"name": "laminas.view.http.renderer",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\View\\Http\\DefaultRenderingStrategy@render",
"trace_id": 0,
"span_id": 21,
@@ -300,7 +302,7 @@
},
{
"name": "laminas.view.render",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.view.render",
"trace_id": 0,
"span_id": 26,
@@ -312,7 +314,7 @@
},
{
"name": "laminas.templating.render",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "application/common-specs/view",
"trace_id": 0,
"span_id": 28,
@@ -324,7 +326,7 @@
},
{
"name": "laminas.event.finish",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "laminas.event.finish",
"trace_id": 0,
"span_id": 17,
@@ -336,7 +338,7 @@
},
{
"name": "laminas.mvcEventListener",
- "service": "test_laminas_20",
+ "service": "test_laminas_mvc_latest",
"resource": "Laminas\\Mvc\\SendResponseListener@sendResponse",
"trace_id": 0,
"span_id": 22,
diff --git a/tests/snapshots/tests.integrations.laravel.v11_x.common_scenarios_test.test_scenario_get_dynamic_route.json b/tests/snapshots/tests.integrations.laravel.latest.common_scenarios_test.test_scenario_get_dynamic_route.json
similarity index 96%
rename from tests/snapshots/tests.integrations.laravel.v11_x.common_scenarios_test.test_scenario_get_dynamic_route.json
rename to tests/snapshots/tests.integrations.laravel.latest.common_scenarios_test.test_scenario_get_dynamic_route.json
index 69b2d5ac11..c32a712795 100644
--- a/tests/snapshots/tests.integrations.laravel.v11_x.common_scenarios_test.test_scenario_get_dynamic_route.json
+++ b/tests/snapshots/tests.integrations.laravel.latest.common_scenarios_test.test_scenario_get_dynamic_route.json
@@ -5,16 +5,16 @@
"resource": "GET /dynamic_route/dynamic01/static/dynamic02",
"trace_id": 0,
"span_id": 1,
- "parent_id": 15532564201308317895,
+ "parent_id": 4296681325690798712,
"type": "web",
"meta": {
"_dd.p.dm": "-0",
- "_dd.p.tid": "664c8df300000000",
+ "_dd.p.tid": "67973cae00000000",
"component": "laravel",
"http.method": "GET",
"http.status_code": "404",
"http.url": "http://localhost/dynamic_route/dynamic01/static/dynamic02",
- "runtime-id": "3ddc27d7-3081-4e28-a35f-c8c6e7f4ec38"
+ "runtime-id": "19a12c46-a841-41eb-9a2f-013107929bdc"
},
"metrics": {
"_sampling_priority_v1": 1.0
@@ -203,7 +203,7 @@
{
"name": "laravel.view",
"service": "my_service",
- "resource": "/home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/views/404.blade.php",
+ "resource": "/home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/views/404.blade.php",
"trace_id": 0,
"span_id": 19,
"parent_id": 16,
diff --git a/tests/snapshots/tests.integrations.laravel.v11_x.common_scenarios_test.test_scenario_get_return_string.json b/tests/snapshots/tests.integrations.laravel.latest.common_scenarios_test.test_scenario_get_return_string.json
similarity index 98%
rename from tests/snapshots/tests.integrations.laravel.v11_x.common_scenarios_test.test_scenario_get_return_string.json
rename to tests/snapshots/tests.integrations.laravel.latest.common_scenarios_test.test_scenario_get_return_string.json
index 8305fe3dd9..8a232b9230 100644
--- a/tests/snapshots/tests.integrations.laravel.v11_x.common_scenarios_test.test_scenario_get_return_string.json
+++ b/tests/snapshots/tests.integrations.laravel.latest.common_scenarios_test.test_scenario_get_return_string.json
@@ -5,11 +5,11 @@
"resource": "App\\Http\\Controllers\\CommonSpecsController@simple simple_route",
"trace_id": 0,
"span_id": 1,
- "parent_id": 9673787783687979763,
+ "parent_id": 4588625007016736810,
"type": "web",
"meta": {
"_dd.p.dm": "-0",
- "_dd.p.tid": "662b8a1d00000000",
+ "_dd.p.tid": "67973c9000000000",
"component": "laravel",
"http.method": "GET",
"http.route": "simple",
@@ -17,7 +17,7 @@
"http.url": "http://localhost/simple?key=value&",
"laravel.route.action": "App\\Http\\Controllers\\CommonSpecsController@simple",
"laravel.route.name": "simple_route",
- "runtime-id": "4f76a87a-df89-41fb-909e-e269a4616334",
+ "runtime-id": "19a12c46-a841-41eb-9a2f-013107929bdc",
"span.kind": "server"
},
"metrics": {
diff --git a/tests/snapshots/tests.integrations.laravel.v11_x.common_scenarios_test.test_scenario_get_to_missing_route.json b/tests/snapshots/tests.integrations.laravel.latest.common_scenarios_test.test_scenario_get_to_missing_route.json
similarity index 96%
rename from tests/snapshots/tests.integrations.laravel.v11_x.common_scenarios_test.test_scenario_get_to_missing_route.json
rename to tests/snapshots/tests.integrations.laravel.latest.common_scenarios_test.test_scenario_get_to_missing_route.json
index 3d1e616fbd..3fd07de582 100644
--- a/tests/snapshots/tests.integrations.laravel.v11_x.common_scenarios_test.test_scenario_get_to_missing_route.json
+++ b/tests/snapshots/tests.integrations.laravel.latest.common_scenarios_test.test_scenario_get_to_missing_route.json
@@ -5,16 +5,16 @@
"resource": "GET /does_not_exist",
"trace_id": 0,
"span_id": 1,
- "parent_id": 1008984056658375899,
+ "parent_id": 9619817128484157005,
"type": "web",
"meta": {
"_dd.p.dm": "-0",
- "_dd.p.tid": "662b8a2e00000000",
+ "_dd.p.tid": "67973ca800000000",
"component": "laravel",
"http.method": "GET",
"http.status_code": "404",
"http.url": "http://localhost/does_not_exist?key=value&",
- "runtime-id": "4f76a87a-df89-41fb-909e-e269a4616334"
+ "runtime-id": "19a12c46-a841-41eb-9a2f-013107929bdc"
},
"metrics": {
"_sampling_priority_v1": 1.0
@@ -203,7 +203,7 @@
{
"name": "laravel.view",
"service": "my_service",
- "resource": "/home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/views/404.blade.php",
+ "resource": "/home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/views/404.blade.php",
"trace_id": 0,
"span_id": 19,
"parent_id": 16,
diff --git a/tests/snapshots/tests.integrations.laravel.latest.common_scenarios_test.test_scenario_get_with_exception.json b/tests/snapshots/tests.integrations.laravel.latest.common_scenarios_test.test_scenario_get_with_exception.json
new file mode 100644
index 0000000000..dc1d30daf4
--- /dev/null
+++ b/tests/snapshots/tests.integrations.laravel.latest.common_scenarios_test.test_scenario_get_with_exception.json
@@ -0,0 +1,286 @@
+[[
+ {
+ "name": "laravel.request",
+ "service": "my_service",
+ "resource": "App\\Http\\Controllers\\CommonSpecsController@error unnamed_route",
+ "trace_id": 0,
+ "span_id": 1,
+ "parent_id": 7065168150057047644,
+ "type": "web",
+ "error": 1,
+ "meta": {
+ "_dd.p.dm": "-0",
+ "_dd.p.tid": "67973c9d00000000",
+ "component": "laravel",
+ "error.message": "Uncaught Exception (500): Controller error in /home/circleci/app/tests/Frameworks/Laravel/Latest/app/Http/Controllers/CommonSpecsController.php:19",
+ "error.stack": "#0 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(47): App\\Http\\Controllers\\CommonSpecsController->error()\n#1 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Routing/Route.php(266): Illuminate\\Routing\\ControllerDispatcher->dispatch()\n#2 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Routing/Route.php(212): Illuminate\\Routing\\Route->runController()\n#3 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Routing/Router.php(808): Illuminate\\Routing\\Route->run()\n#4 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(170): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}()\n#5 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(51): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#6 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle()\n#7 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(88): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#8 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle()\n#9 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#10 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle()\n#11 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#12 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest()\n#13 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): Illuminate\\Session\\Middleware\\StartSession->handle()\n#14 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#15 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle()\n#16 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(75): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#17 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle()\n#18 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(127): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#19 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Routing/Router.php(807): Illuminate\\Pipeline\\Pipeline->then()\n#20 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Routing/Router.php(786): Illuminate\\Routing\\Router->runRouteWithinStack()\n#21 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Routing/Router.php(750): Illuminate\\Routing\\Router->runRoute()\n#22 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Routing/Router.php(739): Illuminate\\Routing\\Router->dispatchToRoute()\n#23 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(201): Illuminate\\Routing\\Router->dispatch()\n#24 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(170): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()\n#25 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#26 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()\n#27 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle()\n#28 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#29 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(51): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()\n#30 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle()\n#31 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#32 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): Illuminate\\Http\\Middleware\\ValidatePostSize->handle()\n#33 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(110): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#34 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle()\n#35 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#36 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): Illuminate\\Http\\Middleware\\HandleCors->handle()\n#37 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(58): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#38 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): Illuminate\\Http\\Middleware\\TrustProxies->handle()\n#39 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/InvokeDeferredCallbacks.php(22): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#40 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): Illuminate\\Foundation\\Http\\Middleware\\InvokeDeferredCallbacks->handle()\n#41 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(127): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#42 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(176): Illuminate\\Pipeline\\Pipeline->then()\n#43 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(145): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()\n#44 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1193): Illuminate\\Foundation\\Http\\Kernel->handle()\n#45 /home/circleci/app/tests/Frameworks/Laravel/Latest/public/index.php(17): Illuminate\\Foundation\\Application->handleRequest()\n#46 {main}",
+ "error.type": "Exception",
+ "http.method": "GET",
+ "http.route": "error",
+ "http.status_code": "500",
+ "http.url": "http://localhost/error?key=value&",
+ "laravel.route.action": "App\\Http\\Controllers\\CommonSpecsController@error",
+ "laravel.route.name": "unnamed_route",
+ "runtime-id": "19a12c46-a841-41eb-9a2f-013107929bdc",
+ "span.kind": "server"
+ },
+ "metrics": {
+ "_sampling_priority_v1": 1.0
+ }
+ },
+ {
+ "name": "laravel.event.handle",
+ "service": "my_service",
+ "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\LoadEnvironmentVariables",
+ "trace_id": 0,
+ "span_id": 2,
+ "parent_id": 1,
+ "type": "web",
+ "meta": {
+ "component": "laravel"
+ }
+ },
+ {
+ "name": "laravel.event.handle",
+ "service": "my_service",
+ "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\LoadEnvironmentVariables",
+ "trace_id": 0,
+ "span_id": 3,
+ "parent_id": 1,
+ "type": "web",
+ "meta": {
+ "component": "laravel"
+ }
+ },
+ {
+ "name": "laravel.event.handle",
+ "service": "my_service",
+ "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\LoadConfiguration",
+ "trace_id": 0,
+ "span_id": 4,
+ "parent_id": 1,
+ "type": "web",
+ "meta": {
+ "component": "laravel"
+ }
+ },
+ {
+ "name": "laravel.event.handle",
+ "service": "my_service",
+ "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\LoadConfiguration",
+ "trace_id": 0,
+ "span_id": 5,
+ "parent_id": 1,
+ "type": "web",
+ "meta": {
+ "component": "laravel"
+ }
+ },
+ {
+ "name": "laravel.event.handle",
+ "service": "my_service",
+ "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\HandleExceptions",
+ "trace_id": 0,
+ "span_id": 6,
+ "parent_id": 1,
+ "type": "web",
+ "meta": {
+ "component": "laravel"
+ }
+ },
+ {
+ "name": "laravel.event.handle",
+ "service": "my_service",
+ "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\HandleExceptions",
+ "trace_id": 0,
+ "span_id": 7,
+ "parent_id": 1,
+ "type": "web",
+ "meta": {
+ "component": "laravel"
+ }
+ },
+ {
+ "name": "laravel.event.handle",
+ "service": "my_service",
+ "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\RegisterFacades",
+ "trace_id": 0,
+ "span_id": 8,
+ "parent_id": 1,
+ "type": "web",
+ "meta": {
+ "component": "laravel"
+ }
+ },
+ {
+ "name": "laravel.event.handle",
+ "service": "my_service",
+ "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\RegisterFacades",
+ "trace_id": 0,
+ "span_id": 9,
+ "parent_id": 1,
+ "type": "web",
+ "meta": {
+ "component": "laravel"
+ }
+ },
+ {
+ "name": "laravel.event.handle",
+ "service": "my_service",
+ "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\RegisterProviders",
+ "trace_id": 0,
+ "span_id": 10,
+ "parent_id": 1,
+ "type": "web",
+ "meta": {
+ "component": "laravel"
+ }
+ },
+ {
+ "name": "laravel.provider.load",
+ "service": "my_service",
+ "resource": "Illuminate\\Foundation\\ProviderRepository::load",
+ "trace_id": 0,
+ "span_id": 11,
+ "parent_id": 1,
+ "type": "web",
+ "meta": {
+ "component": "laravel"
+ }
+ },
+ {
+ "name": "laravel.event.handle",
+ "service": "my_service",
+ "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\RegisterProviders",
+ "trace_id": 0,
+ "span_id": 12,
+ "parent_id": 1,
+ "type": "web",
+ "meta": {
+ "component": "laravel"
+ }
+ },
+ {
+ "name": "laravel.event.handle",
+ "service": "my_service",
+ "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\BootProviders",
+ "trace_id": 0,
+ "span_id": 13,
+ "parent_id": 1,
+ "type": "web",
+ "meta": {
+ "component": "laravel"
+ }
+ },
+ {
+ "name": "laravel.event.handle",
+ "service": "my_service",
+ "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\BootProviders",
+ "trace_id": 0,
+ "span_id": 14,
+ "parent_id": 1,
+ "type": "web",
+ "meta": {
+ "component": "laravel"
+ }
+ },
+ {
+ "name": "laravel.event.handle",
+ "service": "my_service",
+ "resource": "Illuminate\\Routing\\Events\\Routing",
+ "trace_id": 0,
+ "span_id": 15,
+ "parent_id": 1,
+ "type": "web",
+ "meta": {
+ "component": "laravel"
+ }
+ },
+ {
+ "name": "laravel.event.handle",
+ "service": "my_service",
+ "resource": "Illuminate\\Routing\\Events\\RouteMatched",
+ "trace_id": 0,
+ "span_id": 16,
+ "parent_id": 1,
+ "type": "web",
+ "meta": {
+ "component": "laravel"
+ }
+ },
+ {
+ "name": "laravel.action",
+ "service": "my_service",
+ "resource": "error",
+ "trace_id": 0,
+ "span_id": 17,
+ "parent_id": 1,
+ "type": "web",
+ "error": 1,
+ "meta": {
+ "component": "laravel",
+ "error.message": "Thrown Exception (500): Controller error in /home/circleci/app/tests/Frameworks/Laravel/Latest/app/Http/Controllers/CommonSpecsController.php:19",
+ "error.stack": "#0 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(47): App\\Http\\Controllers\\CommonSpecsController->error()\n#1 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Routing/Route.php(266): Illuminate\\Routing\\ControllerDispatcher->dispatch()\n#2 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Routing/Route.php(212): Illuminate\\Routing\\Route->runController()\n#3 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Routing/Router.php(808): Illuminate\\Routing\\Route->run()\n#4 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(170): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}()\n#5 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(51): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#6 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle()\n#7 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(88): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#8 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle()\n#9 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#10 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle()\n#11 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#12 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest()\n#13 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): Illuminate\\Session\\Middleware\\StartSession->handle()\n#14 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#15 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle()\n#16 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(75): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#17 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle()\n#18 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(127): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#19 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Routing/Router.php(807): Illuminate\\Pipeline\\Pipeline->then()\n#20 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Routing/Router.php(786): Illuminate\\Routing\\Router->runRouteWithinStack()\n#21 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Routing/Router.php(750): Illuminate\\Routing\\Router->runRoute()\n#22 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Routing/Router.php(739): Illuminate\\Routing\\Router->dispatchToRoute()\n#23 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(201): Illuminate\\Routing\\Router->dispatch()\n#24 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(170): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()\n#25 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#26 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()\n#27 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle()\n#28 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#29 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(51): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()\n#30 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle()\n#31 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#32 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): Illuminate\\Http\\Middleware\\ValidatePostSize->handle()\n#33 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(110): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#34 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle()\n#35 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#36 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): Illuminate\\Http\\Middleware\\HandleCors->handle()\n#37 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(58): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#38 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): Illuminate\\Http\\Middleware\\TrustProxies->handle()\n#39 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/InvokeDeferredCallbacks.php(22): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#40 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(209): Illuminate\\Foundation\\Http\\Middleware\\InvokeDeferredCallbacks->handle()\n#41 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(127): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#42 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(176): Illuminate\\Pipeline\\Pipeline->then()\n#43 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(145): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()\n#44 /home/circleci/app/tests/Frameworks/Laravel/Latest/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1193): Illuminate\\Foundation\\Http\\Kernel->handle()\n#45 /home/circleci/app/tests/Frameworks/Laravel/Latest/public/index.php(17): Illuminate\\Foundation\\Application->handleRequest()\n#46 {main}",
+ "error.type": "Exception"
+ }
+ },
+ {
+ "name": "laravel.event.handle",
+ "service": "my_service",
+ "resource": "Illuminate\\Log\\Events\\MessageLogged",
+ "trace_id": 0,
+ "span_id": 18,
+ "parent_id": 1,
+ "type": "web",
+ "meta": {
+ "component": "laravel"
+ }
+ },
+ {
+ "name": "laravel.event.handle",
+ "service": "my_service",
+ "resource": "Illuminate\\Routing\\Events\\PreparingResponse",
+ "trace_id": 0,
+ "span_id": 19,
+ "parent_id": 1,
+ "type": "web",
+ "meta": {
+ "component": "laravel"
+ }
+ },
+ {
+ "name": "laravel.event.handle",
+ "service": "my_service",
+ "resource": "Illuminate\\Routing\\Events\\ResponsePrepared",
+ "trace_id": 0,
+ "span_id": 20,
+ "parent_id": 1,
+ "type": "web",
+ "meta": {
+ "component": "laravel"
+ }
+ },
+ {
+ "name": "laravel.event.handle",
+ "service": "my_service",
+ "resource": "Illuminate\\Foundation\\Http\\Events\\RequestHandled",
+ "trace_id": 0,
+ "span_id": 21,
+ "parent_id": 1,
+ "type": "web",
+ "meta": {
+ "component": "laravel"
+ }
+ },
+ {
+ "name": "laravel.event.handle",
+ "service": "my_service",
+ "resource": "Illuminate\\Foundation\\Events\\Terminating",
+ "trace_id": 0,
+ "span_id": 22,
+ "parent_id": 1,
+ "type": "web",
+ "meta": {
+ "component": "laravel"
+ }
+ }]]
diff --git a/tests/snapshots/tests.integrations.laravel.v11_x.common_scenarios_test.test_scenario_get_with_view.json b/tests/snapshots/tests.integrations.laravel.latest.common_scenarios_test.test_scenario_get_with_view.json
similarity index 97%
rename from tests/snapshots/tests.integrations.laravel.v11_x.common_scenarios_test.test_scenario_get_with_view.json
rename to tests/snapshots/tests.integrations.laravel.latest.common_scenarios_test.test_scenario_get_with_view.json
index 6403732db9..56b0f33643 100644
--- a/tests/snapshots/tests.integrations.laravel.v11_x.common_scenarios_test.test_scenario_get_with_view.json
+++ b/tests/snapshots/tests.integrations.laravel.latest.common_scenarios_test.test_scenario_get_with_view.json
@@ -5,11 +5,11 @@
"resource": "App\\Http\\Controllers\\CommonSpecsController@simple_view unnamed_route",
"trace_id": 0,
"span_id": 1,
- "parent_id": 4113189179276680346,
+ "parent_id": 13950427361689200115,
"type": "web",
"meta": {
"_dd.p.dm": "-0",
- "_dd.p.tid": "662b8a2200000000",
+ "_dd.p.tid": "67973c9800000000",
"component": "laravel",
"http.method": "GET",
"http.route": "simple_view",
@@ -17,7 +17,7 @@
"http.url": "http://localhost/simple_view?key=value&",
"laravel.route.action": "App\\Http\\Controllers\\CommonSpecsController@simple_view",
"laravel.route.name": "unnamed_route",
- "runtime-id": "4f76a87a-df89-41fb-909e-e269a4616334",
+ "runtime-id": "19a12c46-a841-41eb-9a2f-013107929bdc",
"span.kind": "server"
},
"metrics": {
@@ -243,7 +243,7 @@
{
"name": "laravel.view",
"service": "my_service",
- "resource": "/home/circleci/app/tests/Frameworks/Laravel/Version_11_x/resources/views/simple_view.blade.php",
+ "resource": "/home/circleci/app/tests/Frameworks/Laravel/Latest/resources/views/simple_view.blade.php",
"trace_id": 0,
"span_id": 25,
"parent_id": 19,
diff --git a/tests/snapshots/tests.integrations.laravel.v11_x.common_scenarios_test.test_scenario_get_with_exception.json b/tests/snapshots/tests.integrations.laravel.v11_x.common_scenarios_test.test_scenario_get_with_exception.json
deleted file mode 100644
index ffceb2d891..0000000000
--- a/tests/snapshots/tests.integrations.laravel.v11_x.common_scenarios_test.test_scenario_get_with_exception.json
+++ /dev/null
@@ -1,286 +0,0 @@
-[[
- {
- "name": "laravel.request",
- "service": "my_service",
- "resource": "App\\Http\\Controllers\\CommonSpecsController@error unnamed_route",
- "trace_id": 0,
- "span_id": 1,
- "parent_id": 14238793329004375588,
- "type": "web",
- "error": 1,
- "meta": {
- "_dd.p.dm": "-0",
- "_dd.p.tid": "662b8a2800000000",
- "component": "laravel",
- "error.message": "Uncaught Exception (500): Controller error in /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/app/Http/Controllers/CommonSpecsController.php:19",
- "error.stack": "#0 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(46): App\\Http\\Controllers\\CommonSpecsController->error()\n#1 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Routing/Route.php(260): Illuminate\\Routing\\ControllerDispatcher->dispatch()\n#2 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Routing/Route.php(206): Illuminate\\Routing\\Route->runController()\n#3 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Routing/Router.php(808): Illuminate\\Routing\\Route->run()\n#4 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}()\n#5 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#6 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle()\n#7 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(88): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#8 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle()\n#9 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#10 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle()\n#11 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#12 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest()\n#13 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle()\n#14 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#15 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle()\n#16 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(75): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#17 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle()\n#18 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#19 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Routing/Router.php(807): Illuminate\\Pipeline\\Pipeline->then()\n#20 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Routing/Router.php(786): Illuminate\\Routing\\Router->runRouteWithinStack()\n#21 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Routing/Router.php(750): Illuminate\\Routing\\Router->runRoute()\n#22 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Routing/Router.php(739): Illuminate\\Routing\\Router->dispatchToRoute()\n#23 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(201): Illuminate\\Routing\\Router->dispatch()\n#24 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()\n#25 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#26 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()\n#27 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle()\n#28 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#29 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(51): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()\n#30 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle()\n#31 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#32 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\ValidatePostSize->handle()\n#33 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(110): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#34 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle()\n#35 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#36 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle()\n#37 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#38 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle()\n#39 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#40 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(176): Illuminate\\Pipeline\\Pipeline->then()\n#41 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(145): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()\n#42 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1188): Illuminate\\Foundation\\Http\\Kernel->handle()\n#43 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/public/index.php(17): Illuminate\\Foundation\\Application->handleRequest()\n#44 {main}",
- "error.type": "Exception",
- "http.method": "GET",
- "http.route": "error",
- "http.status_code": "500",
- "http.url": "http://localhost/error?key=value&",
- "laravel.route.action": "App\\Http\\Controllers\\CommonSpecsController@error",
- "laravel.route.name": "unnamed_route",
- "runtime-id": "4f76a87a-df89-41fb-909e-e269a4616334",
- "span.kind": "server"
- },
- "metrics": {
- "_sampling_priority_v1": 1.0
- }
- },
- {
- "name": "laravel.event.handle",
- "service": "my_service",
- "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\LoadEnvironmentVariables",
- "trace_id": 0,
- "span_id": 2,
- "parent_id": 1,
- "type": "web",
- "meta": {
- "component": "laravel"
- }
- },
- {
- "name": "laravel.event.handle",
- "service": "my_service",
- "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\LoadEnvironmentVariables",
- "trace_id": 0,
- "span_id": 3,
- "parent_id": 1,
- "type": "web",
- "meta": {
- "component": "laravel"
- }
- },
- {
- "name": "laravel.event.handle",
- "service": "my_service",
- "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\LoadConfiguration",
- "trace_id": 0,
- "span_id": 4,
- "parent_id": 1,
- "type": "web",
- "meta": {
- "component": "laravel"
- }
- },
- {
- "name": "laravel.event.handle",
- "service": "my_service",
- "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\LoadConfiguration",
- "trace_id": 0,
- "span_id": 5,
- "parent_id": 1,
- "type": "web",
- "meta": {
- "component": "laravel"
- }
- },
- {
- "name": "laravel.event.handle",
- "service": "my_service",
- "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\HandleExceptions",
- "trace_id": 0,
- "span_id": 6,
- "parent_id": 1,
- "type": "web",
- "meta": {
- "component": "laravel"
- }
- },
- {
- "name": "laravel.event.handle",
- "service": "my_service",
- "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\HandleExceptions",
- "trace_id": 0,
- "span_id": 7,
- "parent_id": 1,
- "type": "web",
- "meta": {
- "component": "laravel"
- }
- },
- {
- "name": "laravel.event.handle",
- "service": "my_service",
- "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\RegisterFacades",
- "trace_id": 0,
- "span_id": 8,
- "parent_id": 1,
- "type": "web",
- "meta": {
- "component": "laravel"
- }
- },
- {
- "name": "laravel.event.handle",
- "service": "my_service",
- "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\RegisterFacades",
- "trace_id": 0,
- "span_id": 9,
- "parent_id": 1,
- "type": "web",
- "meta": {
- "component": "laravel"
- }
- },
- {
- "name": "laravel.event.handle",
- "service": "my_service",
- "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\RegisterProviders",
- "trace_id": 0,
- "span_id": 10,
- "parent_id": 1,
- "type": "web",
- "meta": {
- "component": "laravel"
- }
- },
- {
- "name": "laravel.provider.load",
- "service": "my_service",
- "resource": "Illuminate\\Foundation\\ProviderRepository::load",
- "trace_id": 0,
- "span_id": 11,
- "parent_id": 1,
- "type": "web",
- "meta": {
- "component": "laravel"
- }
- },
- {
- "name": "laravel.event.handle",
- "service": "my_service",
- "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\RegisterProviders",
- "trace_id": 0,
- "span_id": 12,
- "parent_id": 1,
- "type": "web",
- "meta": {
- "component": "laravel"
- }
- },
- {
- "name": "laravel.event.handle",
- "service": "my_service",
- "resource": "bootstrapping: Illuminate\\Foundation\\Bootstrap\\BootProviders",
- "trace_id": 0,
- "span_id": 13,
- "parent_id": 1,
- "type": "web",
- "meta": {
- "component": "laravel"
- }
- },
- {
- "name": "laravel.event.handle",
- "service": "my_service",
- "resource": "bootstrapped: Illuminate\\Foundation\\Bootstrap\\BootProviders",
- "trace_id": 0,
- "span_id": 14,
- "parent_id": 1,
- "type": "web",
- "meta": {
- "component": "laravel"
- }
- },
- {
- "name": "laravel.event.handle",
- "service": "my_service",
- "resource": "Illuminate\\Routing\\Events\\Routing",
- "trace_id": 0,
- "span_id": 15,
- "parent_id": 1,
- "type": "web",
- "meta": {
- "component": "laravel"
- }
- },
- {
- "name": "laravel.event.handle",
- "service": "my_service",
- "resource": "Illuminate\\Routing\\Events\\RouteMatched",
- "trace_id": 0,
- "span_id": 16,
- "parent_id": 1,
- "type": "web",
- "meta": {
- "component": "laravel"
- }
- },
- {
- "name": "laravel.action",
- "service": "my_service",
- "resource": "error",
- "trace_id": 0,
- "span_id": 17,
- "parent_id": 1,
- "type": "web",
- "error": 1,
- "meta": {
- "component": "laravel",
- "error.message": "Thrown Exception (500): Controller error in /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/app/Http/Controllers/CommonSpecsController.php:19",
- "error.stack": "#0 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(46): App\\Http\\Controllers\\CommonSpecsController->error()\n#1 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Routing/Route.php(260): Illuminate\\Routing\\ControllerDispatcher->dispatch()\n#2 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Routing/Route.php(206): Illuminate\\Routing\\Route->runController()\n#3 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Routing/Router.php(808): Illuminate\\Routing\\Route->run()\n#4 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}()\n#5 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#6 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle()\n#7 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(88): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#8 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle()\n#9 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#10 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle()\n#11 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#12 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest()\n#13 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle()\n#14 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#15 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle()\n#16 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(75): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#17 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle()\n#18 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#19 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Routing/Router.php(807): Illuminate\\Pipeline\\Pipeline->then()\n#20 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Routing/Router.php(786): Illuminate\\Routing\\Router->runRouteWithinStack()\n#21 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Routing/Router.php(750): Illuminate\\Routing\\Router->runRoute()\n#22 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Routing/Router.php(739): Illuminate\\Routing\\Router->dispatchToRoute()\n#23 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(201): Illuminate\\Routing\\Router->dispatch()\n#24 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()\n#25 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#26 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()\n#27 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle()\n#28 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#29 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(51): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()\n#30 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle()\n#31 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#32 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\ValidatePostSize->handle()\n#33 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(110): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#34 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle()\n#35 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#36 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle()\n#37 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#38 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle()\n#39 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()\n#40 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(176): Illuminate\\Pipeline\\Pipeline->then()\n#41 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(145): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()\n#42 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1188): Illuminate\\Foundation\\Http\\Kernel->handle()\n#43 /home/circleci/app/tests/Frameworks/Laravel/Version_11_x/public/index.php(17): Illuminate\\Foundation\\Application->handleRequest()\n#44 {main}",
- "error.type": "Exception"
- }
- },
- {
- "name": "laravel.event.handle",
- "service": "my_service",
- "resource": "Illuminate\\Log\\Events\\MessageLogged",
- "trace_id": 0,
- "span_id": 18,
- "parent_id": 1,
- "type": "web",
- "meta": {
- "component": "laravel"
- }
- },
- {
- "name": "laravel.event.handle",
- "service": "my_service",
- "resource": "Illuminate\\Routing\\Events\\PreparingResponse",
- "trace_id": 0,
- "span_id": 19,
- "parent_id": 1,
- "type": "web",
- "meta": {
- "component": "laravel"
- }
- },
- {
- "name": "laravel.event.handle",
- "service": "my_service",
- "resource": "Illuminate\\Routing\\Events\\ResponsePrepared",
- "trace_id": 0,
- "span_id": 20,
- "parent_id": 1,
- "type": "web",
- "meta": {
- "component": "laravel"
- }
- },
- {
- "name": "laravel.event.handle",
- "service": "my_service",
- "resource": "Illuminate\\Foundation\\Http\\Events\\RequestHandled",
- "trace_id": 0,
- "span_id": 21,
- "parent_id": 1,
- "type": "web",
- "meta": {
- "component": "laravel"
- }
- },
- {
- "name": "laravel.event.handle",
- "service": "my_service",
- "resource": "Illuminate\\Foundation\\Events\\Terminating",
- "trace_id": 0,
- "span_id": 22,
- "parent_id": 1,
- "type": "web",
- "meta": {
- "component": "laravel"
- }
- }]]
diff --git a/tests/snapshots/tests.integrations.open_ai.open_ai_test.test_create_chat_completion_stream_with_error.json b/tests/snapshots/tests.integrations.open_ai.open_ai_test.test_create_chat_completion_stream_with_error.json
index dd561dfaa9..abc1b3a921 100644
--- a/tests/snapshots/tests.integrations.open_ai.open_ai_test.test_create_chat_completion_stream_with_error.json
+++ b/tests/snapshots/tests.integrations.open_ai.open_ai_test.test_create_chat_completion_stream_with_error.json
@@ -12,8 +12,8 @@
"_dd.p.dm": "0",
"_dd.p.tid": "6659d8a000000000",
"env": "test",
- "error.message": "Uncaught OpenAI\\Exceptions\\ErrorException: The server had an error while processing your request. Sorry about that! in /home/circleci/app/tests/Integrations/OpenAI/vendor/openai-php/client/src/Responses/StreamResponse.php:60",
- "error.stack": "#0 [internal function]: OpenAI\\Responses\\StreamResponse->getIterator()\n#1 /home/circleci/app/src/DDTrace/Integrations/OpenAI/OpenAIIntegration.php(1079): Generator->valid()\n#2 /home/circleci/app/src/DDTrace/Integrations/OpenAI/OpenAIIntegration.php(1033): DDTrace\\Integrations\\OpenAI\\OpenAIIntegration::readAndStoreStreamedResponse()\n#3 /home/circleci/app/src/DDTrace/Integrations/OpenAI/OpenAIIntegration.php(204): DDTrace\\Integrations\\OpenAI\\OpenAIIntegration::handleStreamedResponse()\n#4 /home/circleci/app/tests/Integrations/OpenAI/vendor/openai-php/client/src/Resources/Chat.php(54): OpenAI\\Resources\\Chat->DDTrace\\Integrations\\OpenAI\\{closure}()\n#5 /home/circleci/app/tests/Integrations/OpenAI/OpenAITest.php(100): OpenAI\\Resources\\Chat->createStreamed()\n#6 /home/circleci/app/tests/Common/SnapshotTestTrait.php(347): DDTrace\\Tests\\Integrations\\OpenAI\\OpenAITest->DDTrace\\Tests\\Integrations\\OpenAI\\{closure}()\n#7 /home/circleci/app/tests/Integrations/OpenAI/OpenAITest.php(93): DDTrace\\Tests\\Common\\IntegrationTestCase->isolateTracerSnapshot()\n#8 /home/circleci/app/tests/Integrations/OpenAI/OpenAITest.php(455): DDTrace\\Tests\\Integrations\\OpenAI\\OpenAITest->callStreamed()\n#9 /home/circleci/app/tests/vendor/phpunit/phpunit/src/Framework/TestCase.php(1617): DDTrace\\Tests\\Integrations\\OpenAI\\OpenAITest->testCreateChatCompletionStreamWithError()\n#10 /home/circleci/app/tests/vendor/phpunit/phpunit/src/Framework/TestCase.php(1223): PHPUnit\\Framework\\TestCase->runTest()\n#11 /home/circleci/app/tests/vendor/phpunit/phpunit/src/Framework/TestResult.php(729): PHPUnit\\Framework\\TestCase->runBare()\n#12 /home/circleci/app/tests/vendor/phpunit/phpunit/src/Framework/TestCase.php(973): PHPUnit\\Framework\\TestResult->run()\n#13 /home/circleci/app/tests/vendor/phpunit/phpunit/src/Framework/TestSuite.php(685): PHPUnit\\Framework\\TestCase->run()\n#14 /home/circleci/app/tests/vendor/phpunit/phpunit/src/Framework/TestSuite.php(685): PHPUnit\\Framework\\TestSuite->run()\n#15 /home/circleci/app/tests/vendor/phpunit/phpunit/src/TextUI/TestRunner.php(651): PHPUnit\\Framework\\TestSuite->run()\n#16 /home/circleci/app/tests/vendor/phpunit/phpunit/src/TextUI/Command.php(146): PHPUnit\\TextUI\\TestRunner->run()\n#17 /home/circleci/app/tests/vendor/phpunit/phpunit/src/TextUI/Command.php(99): PHPUnit\\TextUI\\Command->run()\n#18 /home/circleci/app/tests/vendor/phpunit/phpunit/phpunit(107): PHPUnit\\TextUI\\Command::main()\n#19 /home/circleci/app/tests/vendor/bin/phpunit(122): include()\n#20 {main}",
+ "error.message": "Uncaught OpenAI\\Exceptions\\ErrorException: The server had an error while processing your request. Sorry about that! in /home/circleci/app/tests/Integrations/OpenAI/Latest/vendor/openai-php/client/src/Responses/StreamResponse.php:60",
+ "error.stack": "#0 [internal function]: OpenAI\\Responses\\StreamResponse->getIterator()\n#1 /home/circleci/app/src/DDTrace/Integrations/OpenAI/OpenAIIntegration.php(1079): Generator->valid()\n#2 /home/circleci/app/src/DDTrace/Integrations/OpenAI/OpenAIIntegration.php(1033): DDTrace\\Integrations\\OpenAI\\OpenAIIntegration::readAndStoreStreamedResponse()\n#3 /home/circleci/app/src/DDTrace/Integrations/OpenAI/OpenAIIntegration.php(204): DDTrace\\Integrations\\OpenAI\\OpenAIIntegration::handleStreamedResponse()\n#4 /home/circleci/app/tests/Integrations/OpenAI/Latest/vendor/openai-php/client/src/Resources/Chat.php(54): OpenAI\\Resources\\Chat->DDTrace\\Integrations\\OpenAI\\{closure}()\n#5 /home/circleci/app/tests/Integrations/OpenAI/OpenAITest.php(100): OpenAI\\Resources\\Chat->createStreamed()\n#6 /home/circleci/app/tests/Common/SnapshotTestTrait.php(347): DDTrace\\Tests\\Integrations\\OpenAI\\OpenAITest->DDTrace\\Tests\\Integrations\\OpenAI\\{closure}()\n#7 /home/circleci/app/tests/Integrations/OpenAI/OpenAITest.php(93): DDTrace\\Tests\\Common\\IntegrationTestCase->isolateTracerSnapshot()\n#8 /home/circleci/app/tests/Integrations/OpenAI/OpenAITest.php(455): DDTrace\\Tests\\Integrations\\OpenAI\\OpenAITest->callStreamed()\n#9 /home/circleci/app/tests/vendor/phpunit/phpunit/src/Framework/TestCase.php(1617): DDTrace\\Tests\\Integrations\\OpenAI\\OpenAITest->testCreateChatCompletionStreamWithError()\n#10 /home/circleci/app/tests/vendor/phpunit/phpunit/src/Framework/TestCase.php(1223): PHPUnit\\Framework\\TestCase->runTest()\n#11 /home/circleci/app/tests/vendor/phpunit/phpunit/src/Framework/TestResult.php(729): PHPUnit\\Framework\\TestCase->runBare()\n#12 /home/circleci/app/tests/vendor/phpunit/phpunit/src/Framework/TestCase.php(973): PHPUnit\\Framework\\TestResult->run()\n#13 /home/circleci/app/tests/vendor/phpunit/phpunit/src/Framework/TestSuite.php(685): PHPUnit\\Framework\\TestCase->run()\n#14 /home/circleci/app/tests/vendor/phpunit/phpunit/src/Framework/TestSuite.php(685): PHPUnit\\Framework\\TestSuite->run()\n#15 /home/circleci/app/tests/vendor/phpunit/phpunit/src/TextUI/TestRunner.php(651): PHPUnit\\Framework\\TestSuite->run()\n#16 /home/circleci/app/tests/vendor/phpunit/phpunit/src/TextUI/Command.php(146): PHPUnit\\TextUI\\TestRunner->run()\n#17 /home/circleci/app/tests/vendor/phpunit/phpunit/src/TextUI/Command.php(99): PHPUnit\\TextUI\\Command->run()\n#18 /home/circleci/app/tests/vendor/phpunit/phpunit/phpunit(107): PHPUnit\\TextUI\\Command::main()\n#19 /home/circleci/app/tests/vendor/bin/phpunit(122): include()\n#20 {main}",
"error.type": "OpenAI\\Exceptions\\ErrorException",
"openai.api_base": "https://api.openai.com/v1/",
"openai.request.endpoint": "/v1/chat/completions",
diff --git a/tests/snapshots/tests.integrations.open_ai.open_ai_test.test_create_completions_with_multiple_error_messages.json b/tests/snapshots/tests.integrations.open_ai.open_ai_test.test_create_completions_with_multiple_error_messages.json
index 1dca032d97..39cb346117 100644
--- a/tests/snapshots/tests.integrations.open_ai.open_ai_test.test_create_completions_with_multiple_error_messages.json
+++ b/tests/snapshots/tests.integrations.open_ai.open_ai_test.test_create_completions_with_multiple_error_messages.json
@@ -12,8 +12,8 @@
"_dd.p.dm": "0",
"_dd.p.tid": "6659d74a00000000",
"env": "test",
- "error.message": "Uncaught OpenAI\\Exceptions\\ErrorException: Invalid schema for function 'get_current_weather':\nIn context=('properties', 'location'), array schema missing items in /home/circleci/app/tests/Integrations/OpenAI/vendor/openai-php/client/src/Transporters/HttpTransporter.php:133",
- "error.stack": "#0 /home/circleci/app/tests/Integrations/OpenAI/vendor/openai-php/client/src/Transporters/HttpTransporter.php(57): OpenAI\\Transporters\\HttpTransporter->throwIfJsonError()\n#1 /home/circleci/app/tests/Integrations/OpenAI/vendor/openai-php/client/src/Resources/Completions.php(33): OpenAI\\Transporters\\HttpTransporter->requestObject()\n#2 /home/circleci/app/tests/Integrations/OpenAI/OpenAITest.php(81): OpenAI\\Resources\\Completions->create()\n#3 /home/circleci/app/tests/Common/SnapshotTestTrait.php(347): DDTrace\\Tests\\Integrations\\OpenAI\\OpenAITest->DDTrace\\Tests\\Integrations\\OpenAI\\{closure}()\n#4 /home/circleci/app/tests/Integrations/OpenAI/OpenAITest.php(76): DDTrace\\Tests\\Common\\IntegrationTestCase->isolateTracerSnapshot()\n#5 /home/circleci/app/tests/Integrations/OpenAI/OpenAITest.php(468): DDTrace\\Tests\\Integrations\\OpenAI\\OpenAITest->call()\n#6 /home/circleci/app/tests/vendor/phpunit/phpunit/src/Framework/TestCase.php(1617): DDTrace\\Tests\\Integrations\\OpenAI\\OpenAITest->testCreateCompletionsWithMultipleErrorMessages()\n#7 /home/circleci/app/tests/vendor/phpunit/phpunit/src/Framework/TestCase.php(1223): PHPUnit\\Framework\\TestCase->runTest()\n#8 /home/circleci/app/tests/vendor/phpunit/phpunit/src/Framework/TestResult.php(729): PHPUnit\\Framework\\TestCase->runBare()\n#9 /home/circleci/app/tests/vendor/phpunit/phpunit/src/Framework/TestCase.php(973): PHPUnit\\Framework\\TestResult->run()\n#10 /home/circleci/app/tests/vendor/phpunit/phpunit/src/Framework/TestSuite.php(685): PHPUnit\\Framework\\TestCase->run()\n#11 /home/circleci/app/tests/vendor/phpunit/phpunit/src/Framework/TestSuite.php(685): PHPUnit\\Framework\\TestSuite->run()\n#12 /home/circleci/app/tests/vendor/phpunit/phpunit/src/TextUI/TestRunner.php(651): PHPUnit\\Framework\\TestSuite->run()\n#13 /home/circleci/app/tests/vendor/phpunit/phpunit/src/TextUI/Command.php(146): PHPUnit\\TextUI\\TestRunner->run()\n#14 /home/circleci/app/tests/vendor/phpunit/phpunit/src/TextUI/Command.php(99): PHPUnit\\TextUI\\Command->run()\n#15 /home/circleci/app/tests/vendor/phpunit/phpunit/phpunit(107): PHPUnit\\TextUI\\Command::main()\n#16 /home/circleci/app/tests/vendor/bin/phpunit(122): include()\n#17 {main}",
+ "error.message": "Uncaught OpenAI\\Exceptions\\ErrorException: Invalid schema for function 'get_current_weather':\nIn context=('properties', 'location'), array schema missing items in /home/circleci/app/tests/Integrations/OpenAI/Latest/vendor/openai-php/client/src/Transporters/HttpTransporter.php:133",
+ "error.stack": "#0 /home/circleci/app/tests/Integrations/OpenAI/Latest/vendor/openai-php/client/src/Transporters/HttpTransporter.php(57): OpenAI\\Transporters\\HttpTransporter->throwIfJsonError()\n#1 /home/circleci/app/tests/Integrations/OpenAI/Latest/vendor/openai-php/client/src/Resources/Completions.php(33): OpenAI\\Transporters\\HttpTransporter->requestObject()\n#2 /home/circleci/app/tests/Integrations/OpenAI/OpenAITest.php(81): OpenAI\\Resources\\Completions->create()\n#3 /home/circleci/app/tests/Common/SnapshotTestTrait.php(347): DDTrace\\Tests\\Integrations\\OpenAI\\OpenAITest->DDTrace\\Tests\\Integrations\\OpenAI\\{closure}()\n#4 /home/circleci/app/tests/Integrations/OpenAI/OpenAITest.php(76): DDTrace\\Tests\\Common\\IntegrationTestCase->isolateTracerSnapshot()\n#5 /home/circleci/app/tests/Integrations/OpenAI/OpenAITest.php(468): DDTrace\\Tests\\Integrations\\OpenAI\\OpenAITest->call()\n#6 /home/circleci/app/tests/vendor/phpunit/phpunit/src/Framework/TestCase.php(1617): DDTrace\\Tests\\Integrations\\OpenAI\\OpenAITest->testCreateCompletionsWithMultipleErrorMessages()\n#7 /home/circleci/app/tests/vendor/phpunit/phpunit/src/Framework/TestCase.php(1223): PHPUnit\\Framework\\TestCase->runTest()\n#8 /home/circleci/app/tests/vendor/phpunit/phpunit/src/Framework/TestResult.php(729): PHPUnit\\Framework\\TestCase->runBare()\n#9 /home/circleci/app/tests/vendor/phpunit/phpunit/src/Framework/TestCase.php(973): PHPUnit\\Framework\\TestResult->run()\n#10 /home/circleci/app/tests/vendor/phpunit/phpunit/src/Framework/TestSuite.php(685): PHPUnit\\Framework\\TestCase->run()\n#11 /home/circleci/app/tests/vendor/phpunit/phpunit/src/Framework/TestSuite.php(685): PHPUnit\\Framework\\TestSuite->run()\n#12 /home/circleci/app/tests/vendor/phpunit/phpunit/src/TextUI/TestRunner.php(651): PHPUnit\\Framework\\TestSuite->run()\n#13 /home/circleci/app/tests/vendor/phpunit/phpunit/src/TextUI/Command.php(146): PHPUnit\\TextUI\\TestRunner->run()\n#14 /home/circleci/app/tests/vendor/phpunit/phpunit/src/TextUI/Command.php(99): PHPUnit\\TextUI\\Command->run()\n#15 /home/circleci/app/tests/vendor/phpunit/phpunit/phpunit(107): PHPUnit\\TextUI\\Command::main()\n#16 /home/circleci/app/tests/vendor/bin/phpunit(122): include()\n#17 {main}",
"error.type": "OpenAI\\Exceptions\\ErrorException",
"openai.api_base": "https://api.openai.com/v1/",
"openai.request.endpoint": "/v1/completions",
diff --git a/tests/snapshots/tests.integrations.open_ai.open_ai_test.test_list_models_with_error.json b/tests/snapshots/tests.integrations.open_ai.open_ai_test.test_list_models_with_error.json
index aa59793a07..f2c6ab5f3d 100644
--- a/tests/snapshots/tests.integrations.open_ai.open_ai_test.test_list_models_with_error.json
+++ b/tests/snapshots/tests.integrations.open_ai.open_ai_test.test_list_models_with_error.json
@@ -12,8 +12,8 @@
"_dd.p.dm": "0",
"_dd.p.tid": "6659d8a500000000",
"env": "test",
- "error.message": "Uncaught OpenAI\\Exceptions\\ErrorException: Incorrect API key provided: foo. You can find your API key at https://platform.openai.com. in /home/circleci/app/tests/Integrations/OpenAI/vendor/openai-php/client/src/Transporters/HttpTransporter.php:133",
- "error.stack": "#0 /home/circleci/app/tests/Integrations/OpenAI/vendor/openai-php/client/src/Transporters/HttpTransporter.php(57): OpenAI\\Transporters\\HttpTransporter->throwIfJsonError()\n#1 /home/circleci/app/tests/Integrations/OpenAI/vendor/openai-php/client/src/Resources/Models.php(28): OpenAI\\Transporters\\HttpTransporter->requestObject()\n#2 /home/circleci/app/tests/Integrations/OpenAI/OpenAITest.php(83): OpenAI\\Resources\\Models->list()\n#3 /home/circleci/app/tests/Common/SnapshotTestTrait.php(347): DDTrace\\Tests\\Integrations\\OpenAI\\OpenAITest->DDTrace\\Tests\\Integrations\\OpenAI\\{closure}()\n#4 /home/circleci/app/tests/Integrations/OpenAI/OpenAITest.php(76): DDTrace\\Tests\\Common\\IntegrationTestCase->isolateTracerSnapshot()\n#5 /home/circleci/app/tests/Integrations/OpenAI/OpenAITest.php(463): DDTrace\\Tests\\Integrations\\OpenAI\\OpenAITest->call()\n#6 /home/circleci/app/tests/vendor/phpunit/phpunit/src/Framework/TestCase.php(1617): DDTrace\\Tests\\Integrations\\OpenAI\\OpenAITest->testListModelsWithError()\n#7 /home/circleci/app/tests/vendor/phpunit/phpunit/src/Framework/TestCase.php(1223): PHPUnit\\Framework\\TestCase->runTest()\n#8 /home/circleci/app/tests/vendor/phpunit/phpunit/src/Framework/TestResult.php(729): PHPUnit\\Framework\\TestCase->runBare()\n#9 /home/circleci/app/tests/vendor/phpunit/phpunit/src/Framework/TestCase.php(973): PHPUnit\\Framework\\TestResult->run()\n#10 /home/circleci/app/tests/vendor/phpunit/phpunit/src/Framework/TestSuite.php(685): PHPUnit\\Framework\\TestCase->run()\n#11 /home/circleci/app/tests/vendor/phpunit/phpunit/src/Framework/TestSuite.php(685): PHPUnit\\Framework\\TestSuite->run()\n#12 /home/circleci/app/tests/vendor/phpunit/phpunit/src/TextUI/TestRunner.php(651): PHPUnit\\Framework\\TestSuite->run()\n#13 /home/circleci/app/tests/vendor/phpunit/phpunit/src/TextUI/Command.php(146): PHPUnit\\TextUI\\TestRunner->run()\n#14 /home/circleci/app/tests/vendor/phpunit/phpunit/src/TextUI/Command.php(99): PHPUnit\\TextUI\\Command->run()\n#15 /home/circleci/app/tests/vendor/phpunit/phpunit/phpunit(107): PHPUnit\\TextUI\\Command::main()\n#16 /home/circleci/app/tests/vendor/bin/phpunit(122): include()\n#17 {main}",
+ "error.message": "Uncaught OpenAI\\Exceptions\\ErrorException: Incorrect API key provided: foo. You can find your API key at https://platform.openai.com. in /home/circleci/app/tests/Integrations/OpenAI/Latest/vendor/openai-php/client/src/Transporters/HttpTransporter.php:133",
+ "error.stack": "#0 /home/circleci/app/tests/Integrations/OpenAI/Latest/vendor/openai-php/client/src/Transporters/HttpTransporter.php(57): OpenAI\\Transporters\\HttpTransporter->throwIfJsonError()\n#1 /home/circleci/app/tests/Integrations/OpenAI/Latest/vendor/openai-php/client/src/Resources/Models.php(28): OpenAI\\Transporters\\HttpTransporter->requestObject()\n#2 /home/circleci/app/tests/Integrations/OpenAI/OpenAITest.php(83): OpenAI\\Resources\\Models->list()\n#3 /home/circleci/app/tests/Common/SnapshotTestTrait.php(347): DDTrace\\Tests\\Integrations\\OpenAI\\OpenAITest->DDTrace\\Tests\\Integrations\\OpenAI\\{closure}()\n#4 /home/circleci/app/tests/Integrations/OpenAI/OpenAITest.php(76): DDTrace\\Tests\\Common\\IntegrationTestCase->isolateTracerSnapshot()\n#5 /home/circleci/app/tests/Integrations/OpenAI/OpenAITest.php(463): DDTrace\\Tests\\Integrations\\OpenAI\\OpenAITest->call()\n#6 /home/circleci/app/tests/vendor/phpunit/phpunit/src/Framework/TestCase.php(1617): DDTrace\\Tests\\Integrations\\OpenAI\\OpenAITest->testListModelsWithError()\n#7 /home/circleci/app/tests/vendor/phpunit/phpunit/src/Framework/TestCase.php(1223): PHPUnit\\Framework\\TestCase->runTest()\n#8 /home/circleci/app/tests/vendor/phpunit/phpunit/src/Framework/TestResult.php(729): PHPUnit\\Framework\\TestCase->runBare()\n#9 /home/circleci/app/tests/vendor/phpunit/phpunit/src/Framework/TestCase.php(973): PHPUnit\\Framework\\TestResult->run()\n#10 /home/circleci/app/tests/vendor/phpunit/phpunit/src/Framework/TestSuite.php(685): PHPUnit\\Framework\\TestCase->run()\n#11 /home/circleci/app/tests/vendor/phpunit/phpunit/src/Framework/TestSuite.php(685): PHPUnit\\Framework\\TestSuite->run()\n#12 /home/circleci/app/tests/vendor/phpunit/phpunit/src/TextUI/TestRunner.php(651): PHPUnit\\Framework\\TestSuite->run()\n#13 /home/circleci/app/tests/vendor/phpunit/phpunit/src/TextUI/Command.php(146): PHPUnit\\TextUI\\TestRunner->run()\n#14 /home/circleci/app/tests/vendor/phpunit/phpunit/src/TextUI/Command.php(99): PHPUnit\\TextUI\\Command->run()\n#15 /home/circleci/app/tests/vendor/phpunit/phpunit/phpunit(107): PHPUnit\\TextUI\\Command::main()\n#16 /home/circleci/app/tests/vendor/bin/phpunit(122): include()\n#17 {main}",
"error.type": "OpenAI\\Exceptions\\ErrorException",
"openai.api_base": "https://api.openai.com/v1/",
"openai.request.endpoint": "/v1/models",
diff --git a/tests/snapshots/tests.integrations.open_ai.open_ai_test.test_list_models_with_null_error_type.json b/tests/snapshots/tests.integrations.open_ai.open_ai_test.test_list_models_with_null_error_type.json
index 9e4e4eabe7..406d9e64a9 100644
--- a/tests/snapshots/tests.integrations.open_ai.open_ai_test.test_list_models_with_null_error_type.json
+++ b/tests/snapshots/tests.integrations.open_ai.open_ai_test.test_list_models_with_null_error_type.json
@@ -12,8 +12,8 @@
"_dd.p.dm": "0",
"_dd.p.tid": "6659d8b000000000",
"env": "test",
- "error.message": "Uncaught OpenAI\\Exceptions\\ErrorException: You exceeded your current quota, please check in /home/circleci/app/tests/Integrations/OpenAI/vendor/openai-php/client/src/Transporters/HttpTransporter.php:133",
- "error.stack": "#0 /home/circleci/app/tests/Integrations/OpenAI/vendor/openai-php/client/src/Transporters/HttpTransporter.php(57): OpenAI\\Transporters\\HttpTransporter->throwIfJsonError()\n#1 /home/circleci/app/tests/Integrations/OpenAI/vendor/openai-php/client/src/Resources/Models.php(28): OpenAI\\Transporters\\HttpTransporter->requestObject()\n#2 /home/circleci/app/tests/Integrations/OpenAI/OpenAITest.php(83): OpenAI\\Resources\\Models->list()\n#3 /home/circleci/app/tests/Common/SnapshotTestTrait.php(347): DDTrace\\Tests\\Integrations\\OpenAI\\OpenAITest->DDTrace\\Tests\\Integrations\\OpenAI\\{closure}()\n#4 /home/circleci/app/tests/Integrations/OpenAI/OpenAITest.php(76): DDTrace\\Tests\\Common\\IntegrationTestCase->isolateTracerSnapshot()\n#5 /home/circleci/app/tests/Integrations/OpenAI/OpenAITest.php(473): DDTrace\\Tests\\Integrations\\OpenAI\\OpenAITest->call()\n#6 /home/circleci/app/tests/vendor/phpunit/phpunit/src/Framework/TestCase.php(1617): DDTrace\\Tests\\Integrations\\OpenAI\\OpenAITest->testListModelsWithNullErrorType()\n#7 /home/circleci/app/tests/vendor/phpunit/phpunit/src/Framework/TestCase.php(1223): PHPUnit\\Framework\\TestCase->runTest()\n#8 /home/circleci/app/tests/vendor/phpunit/phpunit/src/Framework/TestResult.php(729): PHPUnit\\Framework\\TestCase->runBare()\n#9 /home/circleci/app/tests/vendor/phpunit/phpunit/src/Framework/TestCase.php(973): PHPUnit\\Framework\\TestResult->run()\n#10 /home/circleci/app/tests/vendor/phpunit/phpunit/src/Framework/TestSuite.php(685): PHPUnit\\Framework\\TestCase->run()\n#11 /home/circleci/app/tests/vendor/phpunit/phpunit/src/Framework/TestSuite.php(685): PHPUnit\\Framework\\TestSuite->run()\n#12 /home/circleci/app/tests/vendor/phpunit/phpunit/src/TextUI/TestRunner.php(651): PHPUnit\\Framework\\TestSuite->run()\n#13 /home/circleci/app/tests/vendor/phpunit/phpunit/src/TextUI/Command.php(146): PHPUnit\\TextUI\\TestRunner->run()\n#14 /home/circleci/app/tests/vendor/phpunit/phpunit/src/TextUI/Command.php(99): PHPUnit\\TextUI\\Command->run()\n#15 /home/circleci/app/tests/vendor/phpunit/phpunit/phpunit(107): PHPUnit\\TextUI\\Command::main()\n#16 /home/circleci/app/tests/vendor/bin/phpunit(122): include()\n#17 {main}",
+ "error.message": "Uncaught OpenAI\\Exceptions\\ErrorException: You exceeded your current quota, please check in /home/circleci/app/tests/Integrations/OpenAI/Latest/vendor/openai-php/client/src/Transporters/HttpTransporter.php:133",
+ "error.stack": "#0 /home/circleci/app/tests/Integrations/OpenAI/Latest/vendor/openai-php/client/src/Transporters/HttpTransporter.php(57): OpenAI\\Transporters\\HttpTransporter->throwIfJsonError()\n#1 /home/circleci/app/tests/Integrations/OpenAI/Latest/vendor/openai-php/client/src/Resources/Models.php(28): OpenAI\\Transporters\\HttpTransporter->requestObject()\n#2 /home/circleci/app/tests/Integrations/OpenAI/OpenAITest.php(83): OpenAI\\Resources\\Models->list()\n#3 /home/circleci/app/tests/Common/SnapshotTestTrait.php(347): DDTrace\\Tests\\Integrations\\OpenAI\\OpenAITest->DDTrace\\Tests\\Integrations\\OpenAI\\{closure}()\n#4 /home/circleci/app/tests/Integrations/OpenAI/OpenAITest.php(76): DDTrace\\Tests\\Common\\IntegrationTestCase->isolateTracerSnapshot()\n#5 /home/circleci/app/tests/Integrations/OpenAI/OpenAITest.php(473): DDTrace\\Tests\\Integrations\\OpenAI\\OpenAITest->call()\n#6 /home/circleci/app/tests/vendor/phpunit/phpunit/src/Framework/TestCase.php(1617): DDTrace\\Tests\\Integrations\\OpenAI\\OpenAITest->testListModelsWithNullErrorType()\n#7 /home/circleci/app/tests/vendor/phpunit/phpunit/src/Framework/TestCase.php(1223): PHPUnit\\Framework\\TestCase->runTest()\n#8 /home/circleci/app/tests/vendor/phpunit/phpunit/src/Framework/TestResult.php(729): PHPUnit\\Framework\\TestCase->runBare()\n#9 /home/circleci/app/tests/vendor/phpunit/phpunit/src/Framework/TestCase.php(973): PHPUnit\\Framework\\TestResult->run()\n#10 /home/circleci/app/tests/vendor/phpunit/phpunit/src/Framework/TestSuite.php(685): PHPUnit\\Framework\\TestCase->run()\n#11 /home/circleci/app/tests/vendor/phpunit/phpunit/src/Framework/TestSuite.php(685): PHPUnit\\Framework\\TestSuite->run()\n#12 /home/circleci/app/tests/vendor/phpunit/phpunit/src/TextUI/TestRunner.php(651): PHPUnit\\Framework\\TestSuite->run()\n#13 /home/circleci/app/tests/vendor/phpunit/phpunit/src/TextUI/Command.php(146): PHPUnit\\TextUI\\TestRunner->run()\n#14 /home/circleci/app/tests/vendor/phpunit/phpunit/src/TextUI/Command.php(99): PHPUnit\\TextUI\\Command->run()\n#15 /home/circleci/app/tests/vendor/phpunit/phpunit/phpunit(107): PHPUnit\\TextUI\\Command::main()\n#16 /home/circleci/app/tests/vendor/bin/phpunit(122): include()\n#17 {main}",
"error.type": "OpenAI\\Exceptions\\ErrorException",
"openai.api_base": "https://api.openai.com/v1/",
"openai.request.endpoint": "/v1/models",
diff --git a/tests/snapshots/tests.integrations.symfony.v7_0.messenger_test.test_async_failure.json b/tests/snapshots/tests.integrations.symfony.latest.messenger_test.test_async_failure.json
similarity index 98%
rename from tests/snapshots/tests.integrations.symfony.v7_0.messenger_test.test_async_failure.json
rename to tests/snapshots/tests.integrations.symfony.latest.messenger_test.test_async_failure.json
index 01fc32da5f..fff643dffd 100644
--- a/tests/snapshots/tests.integrations.symfony.v7_0.messenger_test.test_async_failure.json
+++ b/tests/snapshots/tests.integrations.symfony.latest.messenger_test.test_async_failure.json
@@ -279,7 +279,7 @@
"component": "pdo",
"db.charset": "utf8mb4",
"db.engine": "mysql",
- "db.name": "symfony70",
+ "db.name": "symfonyLatest",
"db.system": "mysql",
"db.user": "test",
"out.host": "mysql_integration",
@@ -300,7 +300,7 @@
"component": "pdo",
"db.charset": "utf8mb4",
"db.engine": "mysql",
- "db.name": "symfony70",
+ "db.name": "symfonyLatest",
"db.system": "mysql",
"db.user": "test",
"out.host": "mysql_integration",
@@ -321,7 +321,7 @@
"component": "pdo",
"db.charset": "utf8mb4",
"db.engine": "mysql",
- "db.name": "symfony70",
+ "db.name": "symfonyLatest",
"db.system": "mysql",
"db.user": "test",
"out.host": "mysql_integration",
@@ -345,7 +345,7 @@
"component": "pdo",
"db.charset": "utf8mb4",
"db.engine": "mysql",
- "db.name": "symfony70",
+ "db.name": "symfonyLatest",
"db.system": "mysql",
"db.user": "test",
"out.host": "mysql_integration",
diff --git a/tests/snapshots/tests.integrations.symfony.latest.messenger_test.test_async_failure_consumer.json b/tests/snapshots/tests.integrations.symfony.latest.messenger_test.test_async_failure_consumer.json
new file mode 100644
index 0000000000..22ea8bbf7b
--- /dev/null
+++ b/tests/snapshots/tests.integrations.symfony.latest.messenger_test.test_async_failure_consumer.json
@@ -0,0 +1,415 @@
+[[
+ {
+ "name": "symfony.messenger.consume",
+ "service": "symfony_messenger_test",
+ "resource": "async -> App\\Message\\LuckyNumberNotification",
+ "trace_id": 0,
+ "span_id": 1,
+ "parent_id": 12914159128961471034,
+ "type": "queue",
+ "error": 1,
+ "meta": {
+ "_dd.p.dm": "0",
+ "_dd.p.tid": "67376d6700000000",
+ "component": "symfonymessenger",
+ "error.message": "Uncaught OutOfBoundsException: Number is out of bounds in /home/circleci/app/tests/Frameworks/Symfony/Latest/src/MessageHandler/LuckyNumberNotificationHandler.php:14",
+ "error.stack": "#0 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/HandleMessageMiddleware.php(152): App\\MessageHandler\\LuckyNumberNotificationHandler->__invoke()\n#1 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/HandleMessageMiddleware.php(91): Symfony\\Component\\Messenger\\Middleware\\HandleMessageMiddleware->callHandler()\n#2 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/SendMessageMiddleware.php(71): Symfony\\Component\\Messenger\\Middleware\\HandleMessageMiddleware->handle()\n#3 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/FailedMessageProcessingMiddleware.php(34): Symfony\\Component\\Messenger\\Middleware\\SendMessageMiddleware->handle()\n#4 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/DispatchAfterCurrentBusMiddleware.php(68): Symfony\\Component\\Messenger\\Middleware\\FailedMessageProcessingMiddleware->handle()\n#5 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/RejectRedeliveredMessageMiddleware.php(41): Symfony\\Component\\Messenger\\Middleware\\DispatchAfterCurrentBusMiddleware->handle()\n#6 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/AddBusNameStampMiddleware.php(35): Symfony\\Component\\Messenger\\Middleware\\RejectRedeliveredMessageMiddleware->handle()\n#7 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/TraceableMiddleware.php(36): Symfony\\Component\\Messenger\\Middleware\\AddBusNameStampMiddleware->handle()\n#8 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/MessageBus.php(70): Symfony\\Component\\Messenger\\Middleware\\TraceableMiddleware->handle()\n#9 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/RoutableMessageBus.php(54): Symfony\\Component\\Messenger\\MessageBus->dispatch()\n#10 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Worker.php(162): Symfony\\Component\\Messenger\\RoutableMessageBus->dispatch()\n#11 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Worker.php(109): Symfony\\Component\\Messenger\\Worker->handleMessage()\n#12 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Command/ConsumeMessagesCommand.php(244): Symfony\\Component\\Messenger\\Worker->run()\n#13 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/console/Command/Command.php(279): Symfony\\Component\\Messenger\\Command\\ConsumeMessagesCommand->execute()\n#14 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/console/Application.php(1049): Symfony\\Component\\Console\\Command\\Command->run()\n#15 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/framework-bundle/Console/Application.php(125): Symfony\\Component\\Console\\Application->doRunCommand()\n#16 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/console/Application.php(318): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRunCommand()\n#17 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/framework-bundle/Console/Application.php(79): Symfony\\Component\\Console\\Application->doRun()\n#18 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/console/Application.php(169): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRun()\n#19 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/runtime/Runner/Symfony/ConsoleApplicationRunner.php(49): Symfony\\Component\\Console\\Application->run()\n#20 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/autoload_runtime.php(29): Symfony\\Component\\Runtime\\Runner\\Symfony\\ConsoleApplicationRunner->run()\n#21 /home/circleci/app/tests/Frameworks/Symfony/Latest/bin/console(11): require_once()\n#22 {main}\n\nNext Symfony\\Component\\Messenger\\Exception\\HandlerFailedException: Handling \"App\\Message\\LuckyNumberNotification\" failed: Number is out of bounds in /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/HandleMessageMiddleware.php:124\nStack trace:\n#0 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/SendMessageMiddleware.php(71): Symfony\\Component\\Messenger\\Middleware\\HandleMessageMiddleware->handle()\n#1 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/FailedMessageProcessingMiddleware.php(34): Symfony\\Component\\Messenger\\Middleware\\SendMessageMiddleware->handle()\n#2 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/DispatchAfterCurrentBusMiddleware.php(68): Symfony\\Component\\Messenger\\Middleware\\FailedMessageProcessingMiddleware->handle()\n#3 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/RejectRedeliveredMessageMiddleware.php(41): Symfony\\Component\\Messenger\\Middleware\\DispatchAfterCurrentBusMiddleware->handle()\n#4 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/AddBusNameStampMiddleware.php(35): Symfony\\Component\\Messenger\\Middleware\\RejectRedeliveredMessageMiddleware->handle()\n#5 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/TraceableMiddleware.php(36): Symfony\\Component\\Messenger\\Middleware\\AddBusNameStampMiddleware->handle()\n#6 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/MessageBus.php(70): Symfony\\Component\\Messenger\\Middleware\\TraceableMiddleware->handle()\n#7 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/RoutableMessageBus.php(54): Symfony\\Component\\Messenger\\MessageBus->dispatch()\n#8 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Worker.php(162): Symfony\\Component\\Messenger\\RoutableMessageBus->dispatch()\n#9 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Worker.php(109): Symfony\\Component\\Messenger\\Worker->handleMessage()\n#10 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Command/ConsumeMessagesCommand.php(244): Symfony\\Component\\Messenger\\Worker->run()\n#11 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/console/Command/Command.php(279): Symfony\\Component\\Messenger\\Command\\ConsumeMessagesCommand->execute()\n#12 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/console/Application.php(1049): Symfony\\Component\\Console\\Command\\Command->run()\n#13 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/framework-bundle/Console/Application.php(125): Symfony\\Component\\Console\\Application->doRunCommand()\n#14 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/console/Application.php(318): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRunCommand()\n#15 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/framework-bundle/Console/Application.php(79): Symfony\\Component\\Console\\Application->doRun()\n#16 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/console/Application.php(169): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRun()\n#17 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/runtime/Runner/Symfony/ConsoleApplicationRunner.php(49): Symfony\\Component\\Console\\Application->run()\n#18 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/autoload_runtime.php(29): Symfony\\Component\\Runtime\\Runner\\Symfony\\ConsoleApplicationRunner->run()\n#19 /home/circleci/app/tests/Frameworks/Symfony/Latest/bin/console(11): require_once()\n#20 {main}",
+ "error.type": "OutOfBoundsException",
+ "messaging.destination": "async",
+ "messaging.destination_kind": "queue",
+ "messaging.message_id": "4",
+ "messaging.operation": "receive",
+ "messaging.symfony.bus": "messenger.bus.default",
+ "messaging.symfony.message": "App\\Message\\LuckyNumberNotification",
+ "messaging.system": "symfony",
+ "runtime-id": "ce0ae40e-e96c-43f6-89e2-0f7afe7fc178",
+ "span.kind": "consumer"
+ },
+ "metrics": {
+ "_sampling_priority_v1": 1
+ }
+ },
+ {
+ "name": "symfony.Symfony\\Component\\Messenger\\Event\\WorkerMessageReceivedEvent",
+ "service": "symfony_messenger_test",
+ "resource": "symfony.Symfony\\Component\\Messenger\\Event\\WorkerMessageReceivedEvent",
+ "trace_id": 0,
+ "span_id": 2,
+ "parent_id": 1,
+ "type": "queue",
+ "meta": {
+ "component": "symfony"
+ }
+ },
+ {
+ "name": "symfony.messenger.dispatch",
+ "service": "symfony_messenger_test",
+ "resource": "async -> App\\Message\\LuckyNumberNotification",
+ "trace_id": 0,
+ "span_id": 3,
+ "parent_id": 1,
+ "type": "queue",
+ "error": 1,
+ "meta": {
+ "component": "symfonymessenger",
+ "error.message": "Thrown Symfony\\Component\\Messenger\\Exception\\HandlerFailedException: Handling \"App\\Message\\LuckyNumberNotification\" failed: Number is out of bounds in /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/HandleMessageMiddleware.php:124",
+ "error.stack": "#0 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/SendMessageMiddleware.php(71): Symfony\\Component\\Messenger\\Middleware\\HandleMessageMiddleware->handle()\n#1 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/FailedMessageProcessingMiddleware.php(34): Symfony\\Component\\Messenger\\Middleware\\SendMessageMiddleware->handle()\n#2 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/DispatchAfterCurrentBusMiddleware.php(68): Symfony\\Component\\Messenger\\Middleware\\FailedMessageProcessingMiddleware->handle()\n#3 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/RejectRedeliveredMessageMiddleware.php(41): Symfony\\Component\\Messenger\\Middleware\\DispatchAfterCurrentBusMiddleware->handle()\n#4 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/AddBusNameStampMiddleware.php(35): Symfony\\Component\\Messenger\\Middleware\\RejectRedeliveredMessageMiddleware->handle()\n#5 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/TraceableMiddleware.php(36): Symfony\\Component\\Messenger\\Middleware\\AddBusNameStampMiddleware->handle()\n#6 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/MessageBus.php(70): Symfony\\Component\\Messenger\\Middleware\\TraceableMiddleware->handle()\n#7 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/RoutableMessageBus.php(54): Symfony\\Component\\Messenger\\MessageBus->dispatch()\n#8 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Worker.php(162): Symfony\\Component\\Messenger\\RoutableMessageBus->dispatch()\n#9 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Worker.php(109): Symfony\\Component\\Messenger\\Worker->handleMessage()\n#10 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Command/ConsumeMessagesCommand.php(244): Symfony\\Component\\Messenger\\Worker->run()\n#11 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/console/Command/Command.php(279): Symfony\\Component\\Messenger\\Command\\ConsumeMessagesCommand->execute()\n#12 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/console/Application.php(1049): Symfony\\Component\\Console\\Command\\Command->run()\n#13 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/framework-bundle/Console/Application.php(125): Symfony\\Component\\Console\\Application->doRunCommand()\n#14 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/console/Application.php(318): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRunCommand()\n#15 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/framework-bundle/Console/Application.php(79): Symfony\\Component\\Console\\Application->doRun()\n#16 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/console/Application.php(169): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRun()\n#17 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/runtime/Runner/Symfony/ConsoleApplicationRunner.php(49): Symfony\\Component\\Console\\Application->run()\n#18 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/autoload_runtime.php(29): Symfony\\Component\\Runtime\\Runner\\Symfony\\ConsoleApplicationRunner->run()\n#19 /home/circleci/app/tests/Frameworks/Symfony/Latest/bin/console(11): require_once()\n#20 {main}",
+ "error.type": "Symfony\\Component\\Messenger\\Exception\\HandlerFailedException",
+ "messaging.destination": "async",
+ "messaging.destination_kind": "queue",
+ "messaging.message_id": "4",
+ "messaging.operation": "process",
+ "messaging.symfony.bus": "messenger.bus.default",
+ "messaging.symfony.message": "App\\Message\\LuckyNumberNotification",
+ "messaging.system": "symfony"
+ },
+ "metrics": {
+ "messaging.symfony.stamps.Symfony\\Component\\Messenger\\Bridge\\Doctrine\\Transport\\DoctrineReceivedStamp": 1,
+ "messaging.symfony.stamps.Symfony\\Component\\Messenger\\Stamp\\AckStamp": 1,
+ "messaging.symfony.stamps.Symfony\\Component\\Messenger\\Stamp\\BusNameStamp": 1,
+ "messaging.symfony.stamps.Symfony\\Component\\Messenger\\Stamp\\ConsumedByWorkerStamp": 1,
+ "messaging.symfony.stamps.Symfony\\Component\\Messenger\\Stamp\\ReceivedStamp": 1,
+ "messaging.symfony.stamps.Symfony\\Component\\Messenger\\Stamp\\SerializedMessageStamp": 1,
+ "messaging.symfony.stamps.Symfony\\Component\\Messenger\\Stamp\\SerializerStamp": 2,
+ "messaging.symfony.stamps.Symfony\\Component\\Messenger\\Stamp\\TransportMessageIdStamp": 1
+ }
+ },
+ {
+ "name": "symfony.messenger.middleware",
+ "service": "symfony_messenger_test",
+ "resource": "Symfony\\Component\\Messenger\\Middleware\\TraceableMiddleware",
+ "trace_id": 0,
+ "span_id": 7,
+ "parent_id": 3,
+ "type": "queue",
+ "error": 1,
+ "meta": {
+ "component": "symfonymessenger",
+ "error.message": "Thrown Symfony\\Component\\Messenger\\Exception\\HandlerFailedException: Handling \"App\\Message\\LuckyNumberNotification\" failed: Number is out of bounds in /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/HandleMessageMiddleware.php:124",
+ "error.stack": "#0 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/SendMessageMiddleware.php(71): Symfony\\Component\\Messenger\\Middleware\\HandleMessageMiddleware->handle()\n#1 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/FailedMessageProcessingMiddleware.php(34): Symfony\\Component\\Messenger\\Middleware\\SendMessageMiddleware->handle()\n#2 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/DispatchAfterCurrentBusMiddleware.php(68): Symfony\\Component\\Messenger\\Middleware\\FailedMessageProcessingMiddleware->handle()\n#3 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/RejectRedeliveredMessageMiddleware.php(41): Symfony\\Component\\Messenger\\Middleware\\DispatchAfterCurrentBusMiddleware->handle()\n#4 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/AddBusNameStampMiddleware.php(35): Symfony\\Component\\Messenger\\Middleware\\RejectRedeliveredMessageMiddleware->handle()\n#5 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/TraceableMiddleware.php(36): Symfony\\Component\\Messenger\\Middleware\\AddBusNameStampMiddleware->handle()\n#6 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/MessageBus.php(70): Symfony\\Component\\Messenger\\Middleware\\TraceableMiddleware->handle()\n#7 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/RoutableMessageBus.php(54): Symfony\\Component\\Messenger\\MessageBus->dispatch()\n#8 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Worker.php(162): Symfony\\Component\\Messenger\\RoutableMessageBus->dispatch()\n#9 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Worker.php(109): Symfony\\Component\\Messenger\\Worker->handleMessage()\n#10 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Command/ConsumeMessagesCommand.php(244): Symfony\\Component\\Messenger\\Worker->run()\n#11 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/console/Command/Command.php(279): Symfony\\Component\\Messenger\\Command\\ConsumeMessagesCommand->execute()\n#12 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/console/Application.php(1049): Symfony\\Component\\Console\\Command\\Command->run()\n#13 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/framework-bundle/Console/Application.php(125): Symfony\\Component\\Console\\Application->doRunCommand()\n#14 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/console/Application.php(318): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRunCommand()\n#15 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/framework-bundle/Console/Application.php(79): Symfony\\Component\\Console\\Application->doRun()\n#16 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/console/Application.php(169): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRun()\n#17 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/runtime/Runner/Symfony/ConsoleApplicationRunner.php(49): Symfony\\Component\\Console\\Application->run()\n#18 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/autoload_runtime.php(29): Symfony\\Component\\Runtime\\Runner\\Symfony\\ConsoleApplicationRunner->run()\n#19 /home/circleci/app/tests/Frameworks/Symfony/Latest/bin/console(11): require_once()\n#20 {main}",
+ "error.type": "Symfony\\Component\\Messenger\\Exception\\HandlerFailedException",
+ "messaging.destination": "async",
+ "messaging.destination_kind": "queue",
+ "messaging.message_id": "4",
+ "messaging.operation": "process",
+ "messaging.symfony.bus": "messenger.bus.default",
+ "messaging.symfony.message": "App\\Message\\LuckyNumberNotification",
+ "messaging.system": "symfony"
+ }
+ },
+ {
+ "name": "symfony.messenger.middleware",
+ "service": "symfony_messenger_test",
+ "resource": "Symfony\\Component\\Messenger\\Middleware\\AddBusNameStampMiddleware",
+ "trace_id": 0,
+ "span_id": 9,
+ "parent_id": 7,
+ "type": "queue",
+ "error": 1,
+ "meta": {
+ "component": "symfonymessenger",
+ "error.message": "Thrown Symfony\\Component\\Messenger\\Exception\\HandlerFailedException: Handling \"App\\Message\\LuckyNumberNotification\" failed: Number is out of bounds in /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/HandleMessageMiddleware.php:124",
+ "error.stack": "#0 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/SendMessageMiddleware.php(71): Symfony\\Component\\Messenger\\Middleware\\HandleMessageMiddleware->handle()\n#1 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/FailedMessageProcessingMiddleware.php(34): Symfony\\Component\\Messenger\\Middleware\\SendMessageMiddleware->handle()\n#2 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/DispatchAfterCurrentBusMiddleware.php(68): Symfony\\Component\\Messenger\\Middleware\\FailedMessageProcessingMiddleware->handle()\n#3 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/RejectRedeliveredMessageMiddleware.php(41): Symfony\\Component\\Messenger\\Middleware\\DispatchAfterCurrentBusMiddleware->handle()\n#4 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/AddBusNameStampMiddleware.php(35): Symfony\\Component\\Messenger\\Middleware\\RejectRedeliveredMessageMiddleware->handle()\n#5 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/TraceableMiddleware.php(36): Symfony\\Component\\Messenger\\Middleware\\AddBusNameStampMiddleware->handle()\n#6 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/MessageBus.php(70): Symfony\\Component\\Messenger\\Middleware\\TraceableMiddleware->handle()\n#7 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/RoutableMessageBus.php(54): Symfony\\Component\\Messenger\\MessageBus->dispatch()\n#8 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Worker.php(162): Symfony\\Component\\Messenger\\RoutableMessageBus->dispatch()\n#9 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Worker.php(109): Symfony\\Component\\Messenger\\Worker->handleMessage()\n#10 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Command/ConsumeMessagesCommand.php(244): Symfony\\Component\\Messenger\\Worker->run()\n#11 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/console/Command/Command.php(279): Symfony\\Component\\Messenger\\Command\\ConsumeMessagesCommand->execute()\n#12 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/console/Application.php(1049): Symfony\\Component\\Console\\Command\\Command->run()\n#13 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/framework-bundle/Console/Application.php(125): Symfony\\Component\\Console\\Application->doRunCommand()\n#14 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/console/Application.php(318): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRunCommand()\n#15 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/framework-bundle/Console/Application.php(79): Symfony\\Component\\Console\\Application->doRun()\n#16 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/console/Application.php(169): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRun()\n#17 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/runtime/Runner/Symfony/ConsoleApplicationRunner.php(49): Symfony\\Component\\Console\\Application->run()\n#18 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/autoload_runtime.php(29): Symfony\\Component\\Runtime\\Runner\\Symfony\\ConsoleApplicationRunner->run()\n#19 /home/circleci/app/tests/Frameworks/Symfony/Latest/bin/console(11): require_once()\n#20 {main}",
+ "error.type": "Symfony\\Component\\Messenger\\Exception\\HandlerFailedException",
+ "messaging.destination": "async",
+ "messaging.destination_kind": "queue",
+ "messaging.message_id": "4",
+ "messaging.operation": "process",
+ "messaging.symfony.bus": "messenger.bus.default",
+ "messaging.symfony.message": "App\\Message\\LuckyNumberNotification",
+ "messaging.system": "symfony"
+ }
+ },
+ {
+ "name": "symfony.messenger.middleware",
+ "service": "symfony_messenger_test",
+ "resource": "Symfony\\Component\\Messenger\\Middleware\\RejectRedeliveredMessageMiddleware",
+ "trace_id": 0,
+ "span_id": 13,
+ "parent_id": 9,
+ "type": "queue",
+ "error": 1,
+ "meta": {
+ "component": "symfonymessenger",
+ "error.message": "Thrown Symfony\\Component\\Messenger\\Exception\\HandlerFailedException: Handling \"App\\Message\\LuckyNumberNotification\" failed: Number is out of bounds in /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/HandleMessageMiddleware.php:124",
+ "error.stack": "#0 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/SendMessageMiddleware.php(71): Symfony\\Component\\Messenger\\Middleware\\HandleMessageMiddleware->handle()\n#1 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/FailedMessageProcessingMiddleware.php(34): Symfony\\Component\\Messenger\\Middleware\\SendMessageMiddleware->handle()\n#2 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/DispatchAfterCurrentBusMiddleware.php(68): Symfony\\Component\\Messenger\\Middleware\\FailedMessageProcessingMiddleware->handle()\n#3 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/RejectRedeliveredMessageMiddleware.php(41): Symfony\\Component\\Messenger\\Middleware\\DispatchAfterCurrentBusMiddleware->handle()\n#4 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/AddBusNameStampMiddleware.php(35): Symfony\\Component\\Messenger\\Middleware\\RejectRedeliveredMessageMiddleware->handle()\n#5 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/TraceableMiddleware.php(36): Symfony\\Component\\Messenger\\Middleware\\AddBusNameStampMiddleware->handle()\n#6 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/MessageBus.php(70): Symfony\\Component\\Messenger\\Middleware\\TraceableMiddleware->handle()\n#7 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/RoutableMessageBus.php(54): Symfony\\Component\\Messenger\\MessageBus->dispatch()\n#8 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Worker.php(162): Symfony\\Component\\Messenger\\RoutableMessageBus->dispatch()\n#9 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Worker.php(109): Symfony\\Component\\Messenger\\Worker->handleMessage()\n#10 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Command/ConsumeMessagesCommand.php(244): Symfony\\Component\\Messenger\\Worker->run()\n#11 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/console/Command/Command.php(279): Symfony\\Component\\Messenger\\Command\\ConsumeMessagesCommand->execute()\n#12 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/console/Application.php(1049): Symfony\\Component\\Console\\Command\\Command->run()\n#13 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/framework-bundle/Console/Application.php(125): Symfony\\Component\\Console\\Application->doRunCommand()\n#14 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/console/Application.php(318): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRunCommand()\n#15 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/framework-bundle/Console/Application.php(79): Symfony\\Component\\Console\\Application->doRun()\n#16 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/console/Application.php(169): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRun()\n#17 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/runtime/Runner/Symfony/ConsoleApplicationRunner.php(49): Symfony\\Component\\Console\\Application->run()\n#18 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/autoload_runtime.php(29): Symfony\\Component\\Runtime\\Runner\\Symfony\\ConsoleApplicationRunner->run()\n#19 /home/circleci/app/tests/Frameworks/Symfony/Latest/bin/console(11): require_once()\n#20 {main}",
+ "error.type": "Symfony\\Component\\Messenger\\Exception\\HandlerFailedException",
+ "messaging.destination": "async",
+ "messaging.destination_kind": "queue",
+ "messaging.message_id": "4",
+ "messaging.operation": "process",
+ "messaging.symfony.bus": "messenger.bus.default",
+ "messaging.symfony.message": "App\\Message\\LuckyNumberNotification",
+ "messaging.system": "symfony"
+ }
+ },
+ {
+ "name": "symfony.messenger.middleware",
+ "service": "symfony_messenger_test",
+ "resource": "Symfony\\Component\\Messenger\\Middleware\\DispatchAfterCurrentBusMiddleware",
+ "trace_id": 0,
+ "span_id": 14,
+ "parent_id": 13,
+ "type": "queue",
+ "error": 1,
+ "meta": {
+ "component": "symfonymessenger",
+ "error.message": "Thrown Symfony\\Component\\Messenger\\Exception\\HandlerFailedException: Handling \"App\\Message\\LuckyNumberNotification\" failed: Number is out of bounds in /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/HandleMessageMiddleware.php:124",
+ "error.stack": "#0 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/SendMessageMiddleware.php(71): Symfony\\Component\\Messenger\\Middleware\\HandleMessageMiddleware->handle()\n#1 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/FailedMessageProcessingMiddleware.php(34): Symfony\\Component\\Messenger\\Middleware\\SendMessageMiddleware->handle()\n#2 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/DispatchAfterCurrentBusMiddleware.php(68): Symfony\\Component\\Messenger\\Middleware\\FailedMessageProcessingMiddleware->handle()\n#3 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/RejectRedeliveredMessageMiddleware.php(41): Symfony\\Component\\Messenger\\Middleware\\DispatchAfterCurrentBusMiddleware->handle()\n#4 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/AddBusNameStampMiddleware.php(35): Symfony\\Component\\Messenger\\Middleware\\RejectRedeliveredMessageMiddleware->handle()\n#5 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/TraceableMiddleware.php(36): Symfony\\Component\\Messenger\\Middleware\\AddBusNameStampMiddleware->handle()\n#6 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/MessageBus.php(70): Symfony\\Component\\Messenger\\Middleware\\TraceableMiddleware->handle()\n#7 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/RoutableMessageBus.php(54): Symfony\\Component\\Messenger\\MessageBus->dispatch()\n#8 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Worker.php(162): Symfony\\Component\\Messenger\\RoutableMessageBus->dispatch()\n#9 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Worker.php(109): Symfony\\Component\\Messenger\\Worker->handleMessage()\n#10 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Command/ConsumeMessagesCommand.php(244): Symfony\\Component\\Messenger\\Worker->run()\n#11 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/console/Command/Command.php(279): Symfony\\Component\\Messenger\\Command\\ConsumeMessagesCommand->execute()\n#12 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/console/Application.php(1049): Symfony\\Component\\Console\\Command\\Command->run()\n#13 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/framework-bundle/Console/Application.php(125): Symfony\\Component\\Console\\Application->doRunCommand()\n#14 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/console/Application.php(318): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRunCommand()\n#15 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/framework-bundle/Console/Application.php(79): Symfony\\Component\\Console\\Application->doRun()\n#16 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/console/Application.php(169): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRun()\n#17 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/runtime/Runner/Symfony/ConsoleApplicationRunner.php(49): Symfony\\Component\\Console\\Application->run()\n#18 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/autoload_runtime.php(29): Symfony\\Component\\Runtime\\Runner\\Symfony\\ConsoleApplicationRunner->run()\n#19 /home/circleci/app/tests/Frameworks/Symfony/Latest/bin/console(11): require_once()\n#20 {main}",
+ "error.type": "Symfony\\Component\\Messenger\\Exception\\HandlerFailedException",
+ "messaging.destination": "async",
+ "messaging.destination_kind": "queue",
+ "messaging.message_id": "4",
+ "messaging.operation": "process",
+ "messaging.symfony.bus": "messenger.bus.default",
+ "messaging.symfony.message": "App\\Message\\LuckyNumberNotification",
+ "messaging.system": "symfony"
+ }
+ },
+ {
+ "name": "symfony.messenger.middleware",
+ "service": "symfony_messenger_test",
+ "resource": "Symfony\\Component\\Messenger\\Middleware\\FailedMessageProcessingMiddleware",
+ "trace_id": 0,
+ "span_id": 15,
+ "parent_id": 14,
+ "type": "queue",
+ "error": 1,
+ "meta": {
+ "component": "symfonymessenger",
+ "error.message": "Thrown Symfony\\Component\\Messenger\\Exception\\HandlerFailedException: Handling \"App\\Message\\LuckyNumberNotification\" failed: Number is out of bounds in /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/HandleMessageMiddleware.php:124",
+ "error.stack": "#0 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/SendMessageMiddleware.php(71): Symfony\\Component\\Messenger\\Middleware\\HandleMessageMiddleware->handle()\n#1 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/FailedMessageProcessingMiddleware.php(34): Symfony\\Component\\Messenger\\Middleware\\SendMessageMiddleware->handle()\n#2 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/DispatchAfterCurrentBusMiddleware.php(68): Symfony\\Component\\Messenger\\Middleware\\FailedMessageProcessingMiddleware->handle()\n#3 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/RejectRedeliveredMessageMiddleware.php(41): Symfony\\Component\\Messenger\\Middleware\\DispatchAfterCurrentBusMiddleware->handle()\n#4 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/AddBusNameStampMiddleware.php(35): Symfony\\Component\\Messenger\\Middleware\\RejectRedeliveredMessageMiddleware->handle()\n#5 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/TraceableMiddleware.php(36): Symfony\\Component\\Messenger\\Middleware\\AddBusNameStampMiddleware->handle()\n#6 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/MessageBus.php(70): Symfony\\Component\\Messenger\\Middleware\\TraceableMiddleware->handle()\n#7 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/RoutableMessageBus.php(54): Symfony\\Component\\Messenger\\MessageBus->dispatch()\n#8 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Worker.php(162): Symfony\\Component\\Messenger\\RoutableMessageBus->dispatch()\n#9 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Worker.php(109): Symfony\\Component\\Messenger\\Worker->handleMessage()\n#10 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Command/ConsumeMessagesCommand.php(244): Symfony\\Component\\Messenger\\Worker->run()\n#11 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/console/Command/Command.php(279): Symfony\\Component\\Messenger\\Command\\ConsumeMessagesCommand->execute()\n#12 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/console/Application.php(1049): Symfony\\Component\\Console\\Command\\Command->run()\n#13 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/framework-bundle/Console/Application.php(125): Symfony\\Component\\Console\\Application->doRunCommand()\n#14 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/console/Application.php(318): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRunCommand()\n#15 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/framework-bundle/Console/Application.php(79): Symfony\\Component\\Console\\Application->doRun()\n#16 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/console/Application.php(169): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRun()\n#17 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/runtime/Runner/Symfony/ConsoleApplicationRunner.php(49): Symfony\\Component\\Console\\Application->run()\n#18 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/autoload_runtime.php(29): Symfony\\Component\\Runtime\\Runner\\Symfony\\ConsoleApplicationRunner->run()\n#19 /home/circleci/app/tests/Frameworks/Symfony/Latest/bin/console(11): require_once()\n#20 {main}",
+ "error.type": "Symfony\\Component\\Messenger\\Exception\\HandlerFailedException",
+ "messaging.destination": "async",
+ "messaging.destination_kind": "queue",
+ "messaging.message_id": "4",
+ "messaging.operation": "process",
+ "messaging.symfony.bus": "messenger.bus.default",
+ "messaging.symfony.message": "App\\Message\\LuckyNumberNotification",
+ "messaging.system": "symfony"
+ }
+ },
+ {
+ "name": "symfony.messenger.middleware",
+ "service": "symfony_messenger_test",
+ "resource": "Symfony\\Component\\Messenger\\Middleware\\SendMessageMiddleware",
+ "trace_id": 0,
+ "span_id": 16,
+ "parent_id": 15,
+ "type": "queue",
+ "error": 1,
+ "meta": {
+ "component": "symfonymessenger",
+ "error.message": "Thrown Symfony\\Component\\Messenger\\Exception\\HandlerFailedException: Handling \"App\\Message\\LuckyNumberNotification\" failed: Number is out of bounds in /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/HandleMessageMiddleware.php:124",
+ "error.stack": "#0 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/SendMessageMiddleware.php(71): Symfony\\Component\\Messenger\\Middleware\\HandleMessageMiddleware->handle()\n#1 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/FailedMessageProcessingMiddleware.php(34): Symfony\\Component\\Messenger\\Middleware\\SendMessageMiddleware->handle()\n#2 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/DispatchAfterCurrentBusMiddleware.php(68): Symfony\\Component\\Messenger\\Middleware\\FailedMessageProcessingMiddleware->handle()\n#3 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/RejectRedeliveredMessageMiddleware.php(41): Symfony\\Component\\Messenger\\Middleware\\DispatchAfterCurrentBusMiddleware->handle()\n#4 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/AddBusNameStampMiddleware.php(35): Symfony\\Component\\Messenger\\Middleware\\RejectRedeliveredMessageMiddleware->handle()\n#5 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/TraceableMiddleware.php(36): Symfony\\Component\\Messenger\\Middleware\\AddBusNameStampMiddleware->handle()\n#6 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/MessageBus.php(70): Symfony\\Component\\Messenger\\Middleware\\TraceableMiddleware->handle()\n#7 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/RoutableMessageBus.php(54): Symfony\\Component\\Messenger\\MessageBus->dispatch()\n#8 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Worker.php(162): Symfony\\Component\\Messenger\\RoutableMessageBus->dispatch()\n#9 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Worker.php(109): Symfony\\Component\\Messenger\\Worker->handleMessage()\n#10 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Command/ConsumeMessagesCommand.php(244): Symfony\\Component\\Messenger\\Worker->run()\n#11 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/console/Command/Command.php(279): Symfony\\Component\\Messenger\\Command\\ConsumeMessagesCommand->execute()\n#12 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/console/Application.php(1049): Symfony\\Component\\Console\\Command\\Command->run()\n#13 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/framework-bundle/Console/Application.php(125): Symfony\\Component\\Console\\Application->doRunCommand()\n#14 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/console/Application.php(318): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRunCommand()\n#15 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/framework-bundle/Console/Application.php(79): Symfony\\Component\\Console\\Application->doRun()\n#16 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/console/Application.php(169): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRun()\n#17 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/runtime/Runner/Symfony/ConsoleApplicationRunner.php(49): Symfony\\Component\\Console\\Application->run()\n#18 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/autoload_runtime.php(29): Symfony\\Component\\Runtime\\Runner\\Symfony\\ConsoleApplicationRunner->run()\n#19 /home/circleci/app/tests/Frameworks/Symfony/Latest/bin/console(11): require_once()\n#20 {main}",
+ "error.type": "Symfony\\Component\\Messenger\\Exception\\HandlerFailedException",
+ "messaging.destination": "async",
+ "messaging.destination_kind": "queue",
+ "messaging.message_id": "4",
+ "messaging.operation": "process",
+ "messaging.symfony.bus": "messenger.bus.default",
+ "messaging.symfony.message": "App\\Message\\LuckyNumberNotification",
+ "messaging.system": "symfony"
+ }
+ },
+ {
+ "name": "symfony.messenger.middleware",
+ "service": "symfony_messenger_test",
+ "resource": "Symfony\\Component\\Messenger\\Middleware\\HandleMessageMiddleware",
+ "trace_id": 0,
+ "span_id": 17,
+ "parent_id": 16,
+ "type": "queue",
+ "error": 1,
+ "meta": {
+ "component": "symfonymessenger",
+ "error.message": "Thrown Symfony\\Component\\Messenger\\Exception\\HandlerFailedException: Handling \"App\\Message\\LuckyNumberNotification\" failed: Number is out of bounds in /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/HandleMessageMiddleware.php:124",
+ "error.stack": "#0 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/SendMessageMiddleware.php(71): Symfony\\Component\\Messenger\\Middleware\\HandleMessageMiddleware->handle()\n#1 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/FailedMessageProcessingMiddleware.php(34): Symfony\\Component\\Messenger\\Middleware\\SendMessageMiddleware->handle()\n#2 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/DispatchAfterCurrentBusMiddleware.php(68): Symfony\\Component\\Messenger\\Middleware\\FailedMessageProcessingMiddleware->handle()\n#3 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/RejectRedeliveredMessageMiddleware.php(41): Symfony\\Component\\Messenger\\Middleware\\DispatchAfterCurrentBusMiddleware->handle()\n#4 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/AddBusNameStampMiddleware.php(35): Symfony\\Component\\Messenger\\Middleware\\RejectRedeliveredMessageMiddleware->handle()\n#5 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/TraceableMiddleware.php(36): Symfony\\Component\\Messenger\\Middleware\\AddBusNameStampMiddleware->handle()\n#6 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/MessageBus.php(70): Symfony\\Component\\Messenger\\Middleware\\TraceableMiddleware->handle()\n#7 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/RoutableMessageBus.php(54): Symfony\\Component\\Messenger\\MessageBus->dispatch()\n#8 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Worker.php(162): Symfony\\Component\\Messenger\\RoutableMessageBus->dispatch()\n#9 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Worker.php(109): Symfony\\Component\\Messenger\\Worker->handleMessage()\n#10 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Command/ConsumeMessagesCommand.php(244): Symfony\\Component\\Messenger\\Worker->run()\n#11 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/console/Command/Command.php(279): Symfony\\Component\\Messenger\\Command\\ConsumeMessagesCommand->execute()\n#12 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/console/Application.php(1049): Symfony\\Component\\Console\\Command\\Command->run()\n#13 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/framework-bundle/Console/Application.php(125): Symfony\\Component\\Console\\Application->doRunCommand()\n#14 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/console/Application.php(318): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRunCommand()\n#15 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/framework-bundle/Console/Application.php(79): Symfony\\Component\\Console\\Application->doRun()\n#16 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/console/Application.php(169): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRun()\n#17 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/runtime/Runner/Symfony/ConsoleApplicationRunner.php(49): Symfony\\Component\\Console\\Application->run()\n#18 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/autoload_runtime.php(29): Symfony\\Component\\Runtime\\Runner\\Symfony\\ConsoleApplicationRunner->run()\n#19 /home/circleci/app/tests/Frameworks/Symfony/Latest/bin/console(11): require_once()\n#20 {main}",
+ "error.type": "Symfony\\Component\\Messenger\\Exception\\HandlerFailedException",
+ "messaging.destination": "async",
+ "messaging.destination_kind": "queue",
+ "messaging.message_id": "4",
+ "messaging.operation": "process",
+ "messaging.symfony.bus": "messenger.bus.default",
+ "messaging.symfony.message": "App\\Message\\LuckyNumberNotification",
+ "messaging.system": "symfony"
+ }
+ },
+ {
+ "name": "symfony.messenger.handle",
+ "service": "symfony_messenger_test",
+ "resource": "App\\MessageHandler\\LuckyNumberNotificationHandler",
+ "trace_id": 0,
+ "span_id": 18,
+ "parent_id": 17,
+ "type": "queue",
+ "error": 1,
+ "meta": {
+ "component": "symfonymessenger",
+ "error.message": "Thrown OutOfBoundsException: Number is out of bounds in /home/circleci/app/tests/Frameworks/Symfony/Latest/src/MessageHandler/LuckyNumberNotificationHandler.php:14",
+ "error.stack": "#0 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/HandleMessageMiddleware.php(152): App\\MessageHandler\\LuckyNumberNotificationHandler->__invoke()\n#1 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/HandleMessageMiddleware.php(91): Symfony\\Component\\Messenger\\Middleware\\HandleMessageMiddleware->callHandler()\n#2 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/SendMessageMiddleware.php(71): Symfony\\Component\\Messenger\\Middleware\\HandleMessageMiddleware->handle()\n#3 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/FailedMessageProcessingMiddleware.php(34): Symfony\\Component\\Messenger\\Middleware\\SendMessageMiddleware->handle()\n#4 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/DispatchAfterCurrentBusMiddleware.php(68): Symfony\\Component\\Messenger\\Middleware\\FailedMessageProcessingMiddleware->handle()\n#5 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/RejectRedeliveredMessageMiddleware.php(41): Symfony\\Component\\Messenger\\Middleware\\DispatchAfterCurrentBusMiddleware->handle()\n#6 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/AddBusNameStampMiddleware.php(35): Symfony\\Component\\Messenger\\Middleware\\RejectRedeliveredMessageMiddleware->handle()\n#7 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Middleware/TraceableMiddleware.php(36): Symfony\\Component\\Messenger\\Middleware\\AddBusNameStampMiddleware->handle()\n#8 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/MessageBus.php(70): Symfony\\Component\\Messenger\\Middleware\\TraceableMiddleware->handle()\n#9 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/RoutableMessageBus.php(54): Symfony\\Component\\Messenger\\MessageBus->dispatch()\n#10 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Worker.php(162): Symfony\\Component\\Messenger\\RoutableMessageBus->dispatch()\n#11 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Worker.php(109): Symfony\\Component\\Messenger\\Worker->handleMessage()\n#12 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/messenger/Command/ConsumeMessagesCommand.php(244): Symfony\\Component\\Messenger\\Worker->run()\n#13 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/console/Command/Command.php(279): Symfony\\Component\\Messenger\\Command\\ConsumeMessagesCommand->execute()\n#14 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/console/Application.php(1049): Symfony\\Component\\Console\\Command\\Command->run()\n#15 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/framework-bundle/Console/Application.php(125): Symfony\\Component\\Console\\Application->doRunCommand()\n#16 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/console/Application.php(318): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRunCommand()\n#17 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/framework-bundle/Console/Application.php(79): Symfony\\Component\\Console\\Application->doRun()\n#18 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/console/Application.php(169): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRun()\n#19 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/symfony/runtime/Runner/Symfony/ConsoleApplicationRunner.php(49): Symfony\\Component\\Console\\Application->run()\n#20 /home/circleci/app/tests/Frameworks/Symfony/Latest/vendor/autoload_runtime.php(29): Symfony\\Component\\Runtime\\Runner\\Symfony\\ConsoleApplicationRunner->run()\n#21 /home/circleci/app/tests/Frameworks/Symfony/Latest/bin/console(11): require_once()\n#22 {main}",
+ "error.type": "OutOfBoundsException",
+ "messaging.destination_kind": "queue",
+ "messaging.operation": "process",
+ "messaging.symfony.message": "App\\Message\\LuckyNumberNotification",
+ "messaging.system": "symfony"
+ }
+ },
+ {
+ "name": "symfony.Symfony\\Component\\Messenger\\Event\\WorkerMessageFailedEvent",
+ "service": "symfony_messenger_test",
+ "resource": "symfony.Symfony\\Component\\Messenger\\Event\\WorkerMessageFailedEvent",
+ "trace_id": 0,
+ "span_id": 4,
+ "parent_id": 1,
+ "type": "queue",
+ "meta": {
+ "component": "symfony"
+ }
+ },
+ {
+ "name": "symfony.messenger.send",
+ "service": "symfony_messenger_test",
+ "resource": "App\\Message\\LuckyNumberNotification -> async",
+ "trace_id": 0,
+ "span_id": 8,
+ "parent_id": 4,
+ "type": "queue",
+ "meta": {
+ "component": "symfonymessenger",
+ "messaging.destination": "async",
+ "messaging.destination_kind": "queue",
+ "messaging.message_id": "5",
+ "messaging.operation": "send",
+ "messaging.symfony.bus": "messenger.bus.default",
+ "messaging.symfony.message": "App\\Message\\LuckyNumberNotification",
+ "messaging.symfony.redelivered_at": "2024-11-15T15:49:07+00:00",
+ "messaging.system": "symfony",
+ "span.kind": "producer"
+ },
+ "metrics": {
+ "messaging.symfony.stamps.Symfony\\Component\\Messenger\\Bridge\\Doctrine\\Transport\\DoctrineReceivedStamp": 1,
+ "messaging.symfony.stamps.Symfony\\Component\\Messenger\\Stamp\\AckStamp": 1,
+ "messaging.symfony.stamps.Symfony\\Component\\Messenger\\Stamp\\BusNameStamp": 1,
+ "messaging.symfony.stamps.Symfony\\Component\\Messenger\\Stamp\\ConsumedByWorkerStamp": 1,
+ "messaging.symfony.stamps.Symfony\\Component\\Messenger\\Stamp\\DelayStamp": 1,
+ "messaging.symfony.stamps.Symfony\\Component\\Messenger\\Stamp\\ErrorDetailsStamp": 1,
+ "messaging.symfony.stamps.Symfony\\Component\\Messenger\\Stamp\\ReceivedStamp": 1,
+ "messaging.symfony.stamps.Symfony\\Component\\Messenger\\Stamp\\RedeliveryStamp": 1,
+ "messaging.symfony.stamps.Symfony\\Component\\Messenger\\Stamp\\SentToFailureTransportStamp": 1,
+ "messaging.symfony.stamps.Symfony\\Component\\Messenger\\Stamp\\SerializedMessageStamp": 1,
+ "messaging.symfony.stamps.Symfony\\Component\\Messenger\\Stamp\\SerializerStamp": 4,
+ "messaging.symfony.stamps.Symfony\\Component\\Messenger\\Stamp\\TransportMessageIdStamp": 2
+ }
+ },
+ {
+ "name": "PDO.prepare",
+ "service": "pdo",
+ "resource": "INSERT INTO messenger_messages (body, headers, queue_name, created_at, available_at) VALUES(?, ?, ?, ?, ?)",
+ "trace_id": 0,
+ "span_id": 10,
+ "parent_id": 8,
+ "type": "sql",
+ "meta": {
+ "_dd.base_service": "symfony_messenger_test",
+ "component": "pdo",
+ "db.charset": "utf8mb4",
+ "db.engine": "mysql",
+ "db.name": "symfonyLatest",
+ "db.system": "mysql",
+ "db.user": "test",
+ "out.host": "mysql_integration",
+ "out.port": "3306",
+ "span.kind": "client"
+ }
+ },
+ {
+ "name": "PDOStatement.execute",
+ "service": "pdo",
+ "resource": "INSERT INTO messenger_messages (body, headers, queue_name, created_at, available_at) VALUES(?, ?, ?, ?, ?)",
+ "trace_id": 0,
+ "span_id": 11,
+ "parent_id": 8,
+ "type": "sql",
+ "meta": {
+ "_dd.base_service": "symfony_messenger_test",
+ "component": "pdo",
+ "db.charset": "utf8mb4",
+ "db.engine": "mysql",
+ "db.name": "symfonyLatest",
+ "db.system": "mysql",
+ "db.user": "test",
+ "out.host": "mysql_integration",
+ "out.port": "3306",
+ "span.kind": "client"
+ },
+ "metrics": {
+ "db.row_count": 1
+ }
+ },
+ {
+ "name": "PDO.commit",
+ "service": "pdo",
+ "resource": "PDO.commit",
+ "trace_id": 0,
+ "span_id": 12,
+ "parent_id": 8,
+ "type": "sql",
+ "meta": {
+ "_dd.base_service": "symfony_messenger_test",
+ "component": "pdo",
+ "db.charset": "utf8mb4",
+ "db.engine": "mysql",
+ "db.name": "symfonyLatest",
+ "db.system": "mysql",
+ "db.user": "test",
+ "out.host": "mysql_integration",
+ "out.port": "3306",
+ "span.kind": "client"
+ }
+ },
+ {
+ "name": "PDO.prepare",
+ "service": "pdo",
+ "resource": "UPDATE messenger_messages SET delivered_at = ? WHERE id = ?",
+ "trace_id": 0,
+ "span_id": 5,
+ "parent_id": 1,
+ "type": "sql",
+ "meta": {
+ "_dd.base_service": "symfony_messenger_test",
+ "component": "pdo",
+ "db.charset": "utf8mb4",
+ "db.engine": "mysql",
+ "db.name": "symfonyLatest",
+ "db.system": "mysql",
+ "db.user": "test",
+ "out.host": "mysql_integration",
+ "out.port": "3306",
+ "span.kind": "client"
+ }
+ },
+ {
+ "name": "PDOStatement.execute",
+ "service": "pdo",
+ "resource": "UPDATE messenger_messages SET delivered_at = ? WHERE id = ?",
+ "trace_id": 0,
+ "span_id": 6,
+ "parent_id": 1,
+ "type": "sql",
+ "meta": {
+ "_dd.base_service": "symfony_messenger_test",
+ "component": "pdo",
+ "db.charset": "utf8mb4",
+ "db.engine": "mysql",
+ "db.name": "symfonyLatest",
+ "db.system": "mysql",
+ "db.user": "test",
+ "out.host": "mysql_integration",
+ "out.port": "3306",
+ "span.kind": "client"
+ },
+ "metrics": {
+ "db.row_count": 1
+ }
+ }]]
diff --git a/tests/snapshots/tests.integrations.symfony.v7_0.messenger_test.test_async_success.json b/tests/snapshots/tests.integrations.symfony.latest.messenger_test.test_async_success.json
similarity index 98%
rename from tests/snapshots/tests.integrations.symfony.v7_0.messenger_test.test_async_success.json
rename to tests/snapshots/tests.integrations.symfony.latest.messenger_test.test_async_success.json
index 6871aa82b8..5130a2b166 100644
--- a/tests/snapshots/tests.integrations.symfony.v7_0.messenger_test.test_async_success.json
+++ b/tests/snapshots/tests.integrations.symfony.latest.messenger_test.test_async_success.json
@@ -279,7 +279,7 @@
"component": "pdo",
"db.charset": "utf8mb4",
"db.engine": "mysql",
- "db.name": "symfony70",
+ "db.name": "symfonyLatest",
"db.system": "mysql",
"db.user": "test",
"out.host": "mysql_integration",
@@ -300,7 +300,7 @@
"component": "pdo",
"db.charset": "utf8mb4",
"db.engine": "mysql",
- "db.name": "symfony70",
+ "db.name": "symfonyLatest",
"db.system": "mysql",
"db.user": "test",
"out.host": "mysql_integration",
@@ -321,7 +321,7 @@
"component": "pdo",
"db.charset": "utf8mb4",
"db.engine": "mysql",
- "db.name": "symfony70",
+ "db.name": "symfonyLatest",
"db.system": "mysql",
"db.user": "test",
"out.host": "mysql_integration",
@@ -345,7 +345,7 @@
"component": "pdo",
"db.charset": "utf8mb4",
"db.engine": "mysql",
- "db.name": "symfony70",
+ "db.name": "symfonyLatest",
"db.system": "mysql",
"db.user": "test",
"out.host": "mysql_integration",
diff --git a/tests/snapshots/tests.integrations.symfony.v7_0.messenger_test.test_async_success_consumer.json b/tests/snapshots/tests.integrations.symfony.latest.messenger_test.test_async_success_consumer.json
similarity index 99%
rename from tests/snapshots/tests.integrations.symfony.v7_0.messenger_test.test_async_success_consumer.json
rename to tests/snapshots/tests.integrations.symfony.latest.messenger_test.test_async_success_consumer.json
index cdc2d0514e..2bc1da809b 100644
--- a/tests/snapshots/tests.integrations.symfony.v7_0.messenger_test.test_async_success_consumer.json
+++ b/tests/snapshots/tests.integrations.symfony.latest.messenger_test.test_async_success_consumer.json
@@ -262,7 +262,7 @@
"component": "pdo",
"db.charset": "utf8mb4",
"db.engine": "mysql",
- "db.name": "symfony70",
+ "db.name": "symfonyLatest",
"db.system": "mysql",
"db.user": "test",
"out.host": "mysql_integration",
@@ -283,7 +283,7 @@
"component": "pdo",
"db.charset": "utf8mb4",
"db.engine": "mysql",
- "db.name": "symfony70",
+ "db.name": "symfonyLatest",
"db.system": "mysql",
"db.user": "test",
"out.host": "mysql_integration",
diff --git a/tests/snapshots/tests.integrations.symfony.v7_0.messenger_test.test_async_with_tracer_disabled_on_consume.json b/tests/snapshots/tests.integrations.symfony.latest.messenger_test.test_async_with_tracer_disabled_on_consume.json
similarity index 98%
rename from tests/snapshots/tests.integrations.symfony.v7_0.messenger_test.test_async_with_tracer_disabled_on_consume.json
rename to tests/snapshots/tests.integrations.symfony.latest.messenger_test.test_async_with_tracer_disabled_on_consume.json
index 0d636c332a..2b1f563e68 100644
--- a/tests/snapshots/tests.integrations.symfony.v7_0.messenger_test.test_async_with_tracer_disabled_on_consume.json
+++ b/tests/snapshots/tests.integrations.symfony.latest.messenger_test.test_async_with_tracer_disabled_on_consume.json
@@ -279,7 +279,7 @@
"component": "pdo",
"db.charset": "utf8mb4",
"db.engine": "mysql",
- "db.name": "symfony70",
+ "db.name": "symfonyLatest",
"db.system": "mysql",
"db.user": "test",
"out.host": "mysql_integration",
@@ -300,7 +300,7 @@
"component": "pdo",
"db.charset": "utf8mb4",
"db.engine": "mysql",
- "db.name": "symfony70",
+ "db.name": "symfonyLatest",
"db.system": "mysql",
"db.user": "test",
"out.host": "mysql_integration",
@@ -321,7 +321,7 @@
"component": "pdo",
"db.charset": "utf8mb4",
"db.engine": "mysql",
- "db.name": "symfony70",
+ "db.name": "symfonyLatest",
"db.system": "mysql",
"db.user": "test",
"out.host": "mysql_integration",
@@ -345,7 +345,7 @@
"component": "pdo",
"db.charset": "utf8mb4",
"db.engine": "mysql",
- "db.name": "symfony70",
+ "db.name": "symfonyLatest",
"db.system": "mysql",
"db.user": "test",
"out.host": "mysql_integration",
diff --git a/tests/snapshots/tests.integrations.symfony.v7_0.messenger_test.test_async_failure_consumer.json b/tests/snapshots/tests.integrations.symfony.v7_0.messenger_test.test_async_failure_consumer.json
deleted file mode 100644
index 54efd9edd7..0000000000
--- a/tests/snapshots/tests.integrations.symfony.v7_0.messenger_test.test_async_failure_consumer.json
+++ /dev/null
@@ -1,415 +0,0 @@
-[[
- {
- "name": "symfony.messenger.consume",
- "service": "symfony_messenger_test",
- "resource": "async -> App\\Message\\LuckyNumberNotification",
- "trace_id": 0,
- "span_id": 1,
- "parent_id": 12914159128961471034,
- "type": "queue",
- "error": 1,
- "meta": {
- "_dd.p.dm": "0",
- "_dd.p.tid": "67376d6700000000",
- "component": "symfonymessenger",
- "error.message": "Uncaught OutOfBoundsException: Number is out of bounds in /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/src/MessageHandler/LuckyNumberNotificationHandler.php:14",
- "error.stack": "#0 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/HandleMessageMiddleware.php(152): App\\MessageHandler\\LuckyNumberNotificationHandler->__invoke()\n#1 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/HandleMessageMiddleware.php(91): Symfony\\Component\\Messenger\\Middleware\\HandleMessageMiddleware->callHandler()\n#2 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/SendMessageMiddleware.php(71): Symfony\\Component\\Messenger\\Middleware\\HandleMessageMiddleware->handle()\n#3 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/FailedMessageProcessingMiddleware.php(34): Symfony\\Component\\Messenger\\Middleware\\SendMessageMiddleware->handle()\n#4 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/DispatchAfterCurrentBusMiddleware.php(68): Symfony\\Component\\Messenger\\Middleware\\FailedMessageProcessingMiddleware->handle()\n#5 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/RejectRedeliveredMessageMiddleware.php(41): Symfony\\Component\\Messenger\\Middleware\\DispatchAfterCurrentBusMiddleware->handle()\n#6 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/AddBusNameStampMiddleware.php(35): Symfony\\Component\\Messenger\\Middleware\\RejectRedeliveredMessageMiddleware->handle()\n#7 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/TraceableMiddleware.php(36): Symfony\\Component\\Messenger\\Middleware\\AddBusNameStampMiddleware->handle()\n#8 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/MessageBus.php(70): Symfony\\Component\\Messenger\\Middleware\\TraceableMiddleware->handle()\n#9 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/RoutableMessageBus.php(54): Symfony\\Component\\Messenger\\MessageBus->dispatch()\n#10 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Worker.php(162): Symfony\\Component\\Messenger\\RoutableMessageBus->dispatch()\n#11 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Worker.php(109): Symfony\\Component\\Messenger\\Worker->handleMessage()\n#12 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Command/ConsumeMessagesCommand.php(244): Symfony\\Component\\Messenger\\Worker->run()\n#13 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/console/Command/Command.php(279): Symfony\\Component\\Messenger\\Command\\ConsumeMessagesCommand->execute()\n#14 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/console/Application.php(1049): Symfony\\Component\\Console\\Command\\Command->run()\n#15 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/framework-bundle/Console/Application.php(125): Symfony\\Component\\Console\\Application->doRunCommand()\n#16 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/console/Application.php(318): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRunCommand()\n#17 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/framework-bundle/Console/Application.php(79): Symfony\\Component\\Console\\Application->doRun()\n#18 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/console/Application.php(169): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRun()\n#19 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/runtime/Runner/Symfony/ConsoleApplicationRunner.php(49): Symfony\\Component\\Console\\Application->run()\n#20 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/autoload_runtime.php(29): Symfony\\Component\\Runtime\\Runner\\Symfony\\ConsoleApplicationRunner->run()\n#21 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/bin/console(11): require_once()\n#22 {main}\n\nNext Symfony\\Component\\Messenger\\Exception\\HandlerFailedException: Handling \"App\\Message\\LuckyNumberNotification\" failed: Number is out of bounds in /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/HandleMessageMiddleware.php:124\nStack trace:\n#0 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/SendMessageMiddleware.php(71): Symfony\\Component\\Messenger\\Middleware\\HandleMessageMiddleware->handle()\n#1 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/FailedMessageProcessingMiddleware.php(34): Symfony\\Component\\Messenger\\Middleware\\SendMessageMiddleware->handle()\n#2 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/DispatchAfterCurrentBusMiddleware.php(68): Symfony\\Component\\Messenger\\Middleware\\FailedMessageProcessingMiddleware->handle()\n#3 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/RejectRedeliveredMessageMiddleware.php(41): Symfony\\Component\\Messenger\\Middleware\\DispatchAfterCurrentBusMiddleware->handle()\n#4 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/AddBusNameStampMiddleware.php(35): Symfony\\Component\\Messenger\\Middleware\\RejectRedeliveredMessageMiddleware->handle()\n#5 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/TraceableMiddleware.php(36): Symfony\\Component\\Messenger\\Middleware\\AddBusNameStampMiddleware->handle()\n#6 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/MessageBus.php(70): Symfony\\Component\\Messenger\\Middleware\\TraceableMiddleware->handle()\n#7 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/RoutableMessageBus.php(54): Symfony\\Component\\Messenger\\MessageBus->dispatch()\n#8 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Worker.php(162): Symfony\\Component\\Messenger\\RoutableMessageBus->dispatch()\n#9 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Worker.php(109): Symfony\\Component\\Messenger\\Worker->handleMessage()\n#10 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Command/ConsumeMessagesCommand.php(244): Symfony\\Component\\Messenger\\Worker->run()\n#11 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/console/Command/Command.php(279): Symfony\\Component\\Messenger\\Command\\ConsumeMessagesCommand->execute()\n#12 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/console/Application.php(1049): Symfony\\Component\\Console\\Command\\Command->run()\n#13 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/framework-bundle/Console/Application.php(125): Symfony\\Component\\Console\\Application->doRunCommand()\n#14 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/console/Application.php(318): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRunCommand()\n#15 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/framework-bundle/Console/Application.php(79): Symfony\\Component\\Console\\Application->doRun()\n#16 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/console/Application.php(169): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRun()\n#17 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/runtime/Runner/Symfony/ConsoleApplicationRunner.php(49): Symfony\\Component\\Console\\Application->run()\n#18 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/autoload_runtime.php(29): Symfony\\Component\\Runtime\\Runner\\Symfony\\ConsoleApplicationRunner->run()\n#19 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/bin/console(11): require_once()\n#20 {main}",
- "error.type": "OutOfBoundsException",
- "messaging.destination": "async",
- "messaging.destination_kind": "queue",
- "messaging.message_id": "4",
- "messaging.operation": "receive",
- "messaging.symfony.bus": "messenger.bus.default",
- "messaging.symfony.message": "App\\Message\\LuckyNumberNotification",
- "messaging.system": "symfony",
- "runtime-id": "ce0ae40e-e96c-43f6-89e2-0f7afe7fc178",
- "span.kind": "consumer"
- },
- "metrics": {
- "_sampling_priority_v1": 1
- }
- },
- {
- "name": "symfony.Symfony\\Component\\Messenger\\Event\\WorkerMessageReceivedEvent",
- "service": "symfony_messenger_test",
- "resource": "symfony.Symfony\\Component\\Messenger\\Event\\WorkerMessageReceivedEvent",
- "trace_id": 0,
- "span_id": 2,
- "parent_id": 1,
- "type": "queue",
- "meta": {
- "component": "symfony"
- }
- },
- {
- "name": "symfony.messenger.dispatch",
- "service": "symfony_messenger_test",
- "resource": "async -> App\\Message\\LuckyNumberNotification",
- "trace_id": 0,
- "span_id": 3,
- "parent_id": 1,
- "type": "queue",
- "error": 1,
- "meta": {
- "component": "symfonymessenger",
- "error.message": "Thrown Symfony\\Component\\Messenger\\Exception\\HandlerFailedException: Handling \"App\\Message\\LuckyNumberNotification\" failed: Number is out of bounds in /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/HandleMessageMiddleware.php:124",
- "error.stack": "#0 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/SendMessageMiddleware.php(71): Symfony\\Component\\Messenger\\Middleware\\HandleMessageMiddleware->handle()\n#1 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/FailedMessageProcessingMiddleware.php(34): Symfony\\Component\\Messenger\\Middleware\\SendMessageMiddleware->handle()\n#2 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/DispatchAfterCurrentBusMiddleware.php(68): Symfony\\Component\\Messenger\\Middleware\\FailedMessageProcessingMiddleware->handle()\n#3 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/RejectRedeliveredMessageMiddleware.php(41): Symfony\\Component\\Messenger\\Middleware\\DispatchAfterCurrentBusMiddleware->handle()\n#4 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/AddBusNameStampMiddleware.php(35): Symfony\\Component\\Messenger\\Middleware\\RejectRedeliveredMessageMiddleware->handle()\n#5 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/TraceableMiddleware.php(36): Symfony\\Component\\Messenger\\Middleware\\AddBusNameStampMiddleware->handle()\n#6 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/MessageBus.php(70): Symfony\\Component\\Messenger\\Middleware\\TraceableMiddleware->handle()\n#7 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/RoutableMessageBus.php(54): Symfony\\Component\\Messenger\\MessageBus->dispatch()\n#8 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Worker.php(162): Symfony\\Component\\Messenger\\RoutableMessageBus->dispatch()\n#9 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Worker.php(109): Symfony\\Component\\Messenger\\Worker->handleMessage()\n#10 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Command/ConsumeMessagesCommand.php(244): Symfony\\Component\\Messenger\\Worker->run()\n#11 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/console/Command/Command.php(279): Symfony\\Component\\Messenger\\Command\\ConsumeMessagesCommand->execute()\n#12 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/console/Application.php(1049): Symfony\\Component\\Console\\Command\\Command->run()\n#13 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/framework-bundle/Console/Application.php(125): Symfony\\Component\\Console\\Application->doRunCommand()\n#14 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/console/Application.php(318): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRunCommand()\n#15 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/framework-bundle/Console/Application.php(79): Symfony\\Component\\Console\\Application->doRun()\n#16 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/console/Application.php(169): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRun()\n#17 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/runtime/Runner/Symfony/ConsoleApplicationRunner.php(49): Symfony\\Component\\Console\\Application->run()\n#18 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/autoload_runtime.php(29): Symfony\\Component\\Runtime\\Runner\\Symfony\\ConsoleApplicationRunner->run()\n#19 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/bin/console(11): require_once()\n#20 {main}",
- "error.type": "Symfony\\Component\\Messenger\\Exception\\HandlerFailedException",
- "messaging.destination": "async",
- "messaging.destination_kind": "queue",
- "messaging.message_id": "4",
- "messaging.operation": "process",
- "messaging.symfony.bus": "messenger.bus.default",
- "messaging.symfony.message": "App\\Message\\LuckyNumberNotification",
- "messaging.system": "symfony"
- },
- "metrics": {
- "messaging.symfony.stamps.Symfony\\Component\\Messenger\\Bridge\\Doctrine\\Transport\\DoctrineReceivedStamp": 1,
- "messaging.symfony.stamps.Symfony\\Component\\Messenger\\Stamp\\AckStamp": 1,
- "messaging.symfony.stamps.Symfony\\Component\\Messenger\\Stamp\\BusNameStamp": 1,
- "messaging.symfony.stamps.Symfony\\Component\\Messenger\\Stamp\\ConsumedByWorkerStamp": 1,
- "messaging.symfony.stamps.Symfony\\Component\\Messenger\\Stamp\\ReceivedStamp": 1,
- "messaging.symfony.stamps.Symfony\\Component\\Messenger\\Stamp\\SerializedMessageStamp": 1,
- "messaging.symfony.stamps.Symfony\\Component\\Messenger\\Stamp\\SerializerStamp": 2,
- "messaging.symfony.stamps.Symfony\\Component\\Messenger\\Stamp\\TransportMessageIdStamp": 1
- }
- },
- {
- "name": "symfony.messenger.middleware",
- "service": "symfony_messenger_test",
- "resource": "Symfony\\Component\\Messenger\\Middleware\\TraceableMiddleware",
- "trace_id": 0,
- "span_id": 7,
- "parent_id": 3,
- "type": "queue",
- "error": 1,
- "meta": {
- "component": "symfonymessenger",
- "error.message": "Thrown Symfony\\Component\\Messenger\\Exception\\HandlerFailedException: Handling \"App\\Message\\LuckyNumberNotification\" failed: Number is out of bounds in /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/HandleMessageMiddleware.php:124",
- "error.stack": "#0 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/SendMessageMiddleware.php(71): Symfony\\Component\\Messenger\\Middleware\\HandleMessageMiddleware->handle()\n#1 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/FailedMessageProcessingMiddleware.php(34): Symfony\\Component\\Messenger\\Middleware\\SendMessageMiddleware->handle()\n#2 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/DispatchAfterCurrentBusMiddleware.php(68): Symfony\\Component\\Messenger\\Middleware\\FailedMessageProcessingMiddleware->handle()\n#3 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/RejectRedeliveredMessageMiddleware.php(41): Symfony\\Component\\Messenger\\Middleware\\DispatchAfterCurrentBusMiddleware->handle()\n#4 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/AddBusNameStampMiddleware.php(35): Symfony\\Component\\Messenger\\Middleware\\RejectRedeliveredMessageMiddleware->handle()\n#5 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/TraceableMiddleware.php(36): Symfony\\Component\\Messenger\\Middleware\\AddBusNameStampMiddleware->handle()\n#6 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/MessageBus.php(70): Symfony\\Component\\Messenger\\Middleware\\TraceableMiddleware->handle()\n#7 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/RoutableMessageBus.php(54): Symfony\\Component\\Messenger\\MessageBus->dispatch()\n#8 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Worker.php(162): Symfony\\Component\\Messenger\\RoutableMessageBus->dispatch()\n#9 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Worker.php(109): Symfony\\Component\\Messenger\\Worker->handleMessage()\n#10 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Command/ConsumeMessagesCommand.php(244): Symfony\\Component\\Messenger\\Worker->run()\n#11 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/console/Command/Command.php(279): Symfony\\Component\\Messenger\\Command\\ConsumeMessagesCommand->execute()\n#12 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/console/Application.php(1049): Symfony\\Component\\Console\\Command\\Command->run()\n#13 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/framework-bundle/Console/Application.php(125): Symfony\\Component\\Console\\Application->doRunCommand()\n#14 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/console/Application.php(318): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRunCommand()\n#15 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/framework-bundle/Console/Application.php(79): Symfony\\Component\\Console\\Application->doRun()\n#16 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/console/Application.php(169): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRun()\n#17 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/runtime/Runner/Symfony/ConsoleApplicationRunner.php(49): Symfony\\Component\\Console\\Application->run()\n#18 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/autoload_runtime.php(29): Symfony\\Component\\Runtime\\Runner\\Symfony\\ConsoleApplicationRunner->run()\n#19 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/bin/console(11): require_once()\n#20 {main}",
- "error.type": "Symfony\\Component\\Messenger\\Exception\\HandlerFailedException",
- "messaging.destination": "async",
- "messaging.destination_kind": "queue",
- "messaging.message_id": "4",
- "messaging.operation": "process",
- "messaging.symfony.bus": "messenger.bus.default",
- "messaging.symfony.message": "App\\Message\\LuckyNumberNotification",
- "messaging.system": "symfony"
- }
- },
- {
- "name": "symfony.messenger.middleware",
- "service": "symfony_messenger_test",
- "resource": "Symfony\\Component\\Messenger\\Middleware\\AddBusNameStampMiddleware",
- "trace_id": 0,
- "span_id": 9,
- "parent_id": 7,
- "type": "queue",
- "error": 1,
- "meta": {
- "component": "symfonymessenger",
- "error.message": "Thrown Symfony\\Component\\Messenger\\Exception\\HandlerFailedException: Handling \"App\\Message\\LuckyNumberNotification\" failed: Number is out of bounds in /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/HandleMessageMiddleware.php:124",
- "error.stack": "#0 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/SendMessageMiddleware.php(71): Symfony\\Component\\Messenger\\Middleware\\HandleMessageMiddleware->handle()\n#1 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/FailedMessageProcessingMiddleware.php(34): Symfony\\Component\\Messenger\\Middleware\\SendMessageMiddleware->handle()\n#2 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/DispatchAfterCurrentBusMiddleware.php(68): Symfony\\Component\\Messenger\\Middleware\\FailedMessageProcessingMiddleware->handle()\n#3 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/RejectRedeliveredMessageMiddleware.php(41): Symfony\\Component\\Messenger\\Middleware\\DispatchAfterCurrentBusMiddleware->handle()\n#4 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/AddBusNameStampMiddleware.php(35): Symfony\\Component\\Messenger\\Middleware\\RejectRedeliveredMessageMiddleware->handle()\n#5 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/TraceableMiddleware.php(36): Symfony\\Component\\Messenger\\Middleware\\AddBusNameStampMiddleware->handle()\n#6 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/MessageBus.php(70): Symfony\\Component\\Messenger\\Middleware\\TraceableMiddleware->handle()\n#7 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/RoutableMessageBus.php(54): Symfony\\Component\\Messenger\\MessageBus->dispatch()\n#8 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Worker.php(162): Symfony\\Component\\Messenger\\RoutableMessageBus->dispatch()\n#9 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Worker.php(109): Symfony\\Component\\Messenger\\Worker->handleMessage()\n#10 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Command/ConsumeMessagesCommand.php(244): Symfony\\Component\\Messenger\\Worker->run()\n#11 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/console/Command/Command.php(279): Symfony\\Component\\Messenger\\Command\\ConsumeMessagesCommand->execute()\n#12 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/console/Application.php(1049): Symfony\\Component\\Console\\Command\\Command->run()\n#13 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/framework-bundle/Console/Application.php(125): Symfony\\Component\\Console\\Application->doRunCommand()\n#14 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/console/Application.php(318): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRunCommand()\n#15 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/framework-bundle/Console/Application.php(79): Symfony\\Component\\Console\\Application->doRun()\n#16 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/console/Application.php(169): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRun()\n#17 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/runtime/Runner/Symfony/ConsoleApplicationRunner.php(49): Symfony\\Component\\Console\\Application->run()\n#18 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/autoload_runtime.php(29): Symfony\\Component\\Runtime\\Runner\\Symfony\\ConsoleApplicationRunner->run()\n#19 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/bin/console(11): require_once()\n#20 {main}",
- "error.type": "Symfony\\Component\\Messenger\\Exception\\HandlerFailedException",
- "messaging.destination": "async",
- "messaging.destination_kind": "queue",
- "messaging.message_id": "4",
- "messaging.operation": "process",
- "messaging.symfony.bus": "messenger.bus.default",
- "messaging.symfony.message": "App\\Message\\LuckyNumberNotification",
- "messaging.system": "symfony"
- }
- },
- {
- "name": "symfony.messenger.middleware",
- "service": "symfony_messenger_test",
- "resource": "Symfony\\Component\\Messenger\\Middleware\\RejectRedeliveredMessageMiddleware",
- "trace_id": 0,
- "span_id": 13,
- "parent_id": 9,
- "type": "queue",
- "error": 1,
- "meta": {
- "component": "symfonymessenger",
- "error.message": "Thrown Symfony\\Component\\Messenger\\Exception\\HandlerFailedException: Handling \"App\\Message\\LuckyNumberNotification\" failed: Number is out of bounds in /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/HandleMessageMiddleware.php:124",
- "error.stack": "#0 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/SendMessageMiddleware.php(71): Symfony\\Component\\Messenger\\Middleware\\HandleMessageMiddleware->handle()\n#1 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/FailedMessageProcessingMiddleware.php(34): Symfony\\Component\\Messenger\\Middleware\\SendMessageMiddleware->handle()\n#2 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/DispatchAfterCurrentBusMiddleware.php(68): Symfony\\Component\\Messenger\\Middleware\\FailedMessageProcessingMiddleware->handle()\n#3 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/RejectRedeliveredMessageMiddleware.php(41): Symfony\\Component\\Messenger\\Middleware\\DispatchAfterCurrentBusMiddleware->handle()\n#4 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/AddBusNameStampMiddleware.php(35): Symfony\\Component\\Messenger\\Middleware\\RejectRedeliveredMessageMiddleware->handle()\n#5 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/TraceableMiddleware.php(36): Symfony\\Component\\Messenger\\Middleware\\AddBusNameStampMiddleware->handle()\n#6 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/MessageBus.php(70): Symfony\\Component\\Messenger\\Middleware\\TraceableMiddleware->handle()\n#7 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/RoutableMessageBus.php(54): Symfony\\Component\\Messenger\\MessageBus->dispatch()\n#8 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Worker.php(162): Symfony\\Component\\Messenger\\RoutableMessageBus->dispatch()\n#9 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Worker.php(109): Symfony\\Component\\Messenger\\Worker->handleMessage()\n#10 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Command/ConsumeMessagesCommand.php(244): Symfony\\Component\\Messenger\\Worker->run()\n#11 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/console/Command/Command.php(279): Symfony\\Component\\Messenger\\Command\\ConsumeMessagesCommand->execute()\n#12 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/console/Application.php(1049): Symfony\\Component\\Console\\Command\\Command->run()\n#13 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/framework-bundle/Console/Application.php(125): Symfony\\Component\\Console\\Application->doRunCommand()\n#14 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/console/Application.php(318): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRunCommand()\n#15 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/framework-bundle/Console/Application.php(79): Symfony\\Component\\Console\\Application->doRun()\n#16 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/console/Application.php(169): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRun()\n#17 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/runtime/Runner/Symfony/ConsoleApplicationRunner.php(49): Symfony\\Component\\Console\\Application->run()\n#18 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/autoload_runtime.php(29): Symfony\\Component\\Runtime\\Runner\\Symfony\\ConsoleApplicationRunner->run()\n#19 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/bin/console(11): require_once()\n#20 {main}",
- "error.type": "Symfony\\Component\\Messenger\\Exception\\HandlerFailedException",
- "messaging.destination": "async",
- "messaging.destination_kind": "queue",
- "messaging.message_id": "4",
- "messaging.operation": "process",
- "messaging.symfony.bus": "messenger.bus.default",
- "messaging.symfony.message": "App\\Message\\LuckyNumberNotification",
- "messaging.system": "symfony"
- }
- },
- {
- "name": "symfony.messenger.middleware",
- "service": "symfony_messenger_test",
- "resource": "Symfony\\Component\\Messenger\\Middleware\\DispatchAfterCurrentBusMiddleware",
- "trace_id": 0,
- "span_id": 14,
- "parent_id": 13,
- "type": "queue",
- "error": 1,
- "meta": {
- "component": "symfonymessenger",
- "error.message": "Thrown Symfony\\Component\\Messenger\\Exception\\HandlerFailedException: Handling \"App\\Message\\LuckyNumberNotification\" failed: Number is out of bounds in /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/HandleMessageMiddleware.php:124",
- "error.stack": "#0 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/SendMessageMiddleware.php(71): Symfony\\Component\\Messenger\\Middleware\\HandleMessageMiddleware->handle()\n#1 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/FailedMessageProcessingMiddleware.php(34): Symfony\\Component\\Messenger\\Middleware\\SendMessageMiddleware->handle()\n#2 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/DispatchAfterCurrentBusMiddleware.php(68): Symfony\\Component\\Messenger\\Middleware\\FailedMessageProcessingMiddleware->handle()\n#3 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/RejectRedeliveredMessageMiddleware.php(41): Symfony\\Component\\Messenger\\Middleware\\DispatchAfterCurrentBusMiddleware->handle()\n#4 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/AddBusNameStampMiddleware.php(35): Symfony\\Component\\Messenger\\Middleware\\RejectRedeliveredMessageMiddleware->handle()\n#5 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/TraceableMiddleware.php(36): Symfony\\Component\\Messenger\\Middleware\\AddBusNameStampMiddleware->handle()\n#6 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/MessageBus.php(70): Symfony\\Component\\Messenger\\Middleware\\TraceableMiddleware->handle()\n#7 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/RoutableMessageBus.php(54): Symfony\\Component\\Messenger\\MessageBus->dispatch()\n#8 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Worker.php(162): Symfony\\Component\\Messenger\\RoutableMessageBus->dispatch()\n#9 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Worker.php(109): Symfony\\Component\\Messenger\\Worker->handleMessage()\n#10 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Command/ConsumeMessagesCommand.php(244): Symfony\\Component\\Messenger\\Worker->run()\n#11 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/console/Command/Command.php(279): Symfony\\Component\\Messenger\\Command\\ConsumeMessagesCommand->execute()\n#12 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/console/Application.php(1049): Symfony\\Component\\Console\\Command\\Command->run()\n#13 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/framework-bundle/Console/Application.php(125): Symfony\\Component\\Console\\Application->doRunCommand()\n#14 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/console/Application.php(318): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRunCommand()\n#15 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/framework-bundle/Console/Application.php(79): Symfony\\Component\\Console\\Application->doRun()\n#16 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/console/Application.php(169): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRun()\n#17 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/runtime/Runner/Symfony/ConsoleApplicationRunner.php(49): Symfony\\Component\\Console\\Application->run()\n#18 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/autoload_runtime.php(29): Symfony\\Component\\Runtime\\Runner\\Symfony\\ConsoleApplicationRunner->run()\n#19 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/bin/console(11): require_once()\n#20 {main}",
- "error.type": "Symfony\\Component\\Messenger\\Exception\\HandlerFailedException",
- "messaging.destination": "async",
- "messaging.destination_kind": "queue",
- "messaging.message_id": "4",
- "messaging.operation": "process",
- "messaging.symfony.bus": "messenger.bus.default",
- "messaging.symfony.message": "App\\Message\\LuckyNumberNotification",
- "messaging.system": "symfony"
- }
- },
- {
- "name": "symfony.messenger.middleware",
- "service": "symfony_messenger_test",
- "resource": "Symfony\\Component\\Messenger\\Middleware\\FailedMessageProcessingMiddleware",
- "trace_id": 0,
- "span_id": 15,
- "parent_id": 14,
- "type": "queue",
- "error": 1,
- "meta": {
- "component": "symfonymessenger",
- "error.message": "Thrown Symfony\\Component\\Messenger\\Exception\\HandlerFailedException: Handling \"App\\Message\\LuckyNumberNotification\" failed: Number is out of bounds in /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/HandleMessageMiddleware.php:124",
- "error.stack": "#0 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/SendMessageMiddleware.php(71): Symfony\\Component\\Messenger\\Middleware\\HandleMessageMiddleware->handle()\n#1 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/FailedMessageProcessingMiddleware.php(34): Symfony\\Component\\Messenger\\Middleware\\SendMessageMiddleware->handle()\n#2 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/DispatchAfterCurrentBusMiddleware.php(68): Symfony\\Component\\Messenger\\Middleware\\FailedMessageProcessingMiddleware->handle()\n#3 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/RejectRedeliveredMessageMiddleware.php(41): Symfony\\Component\\Messenger\\Middleware\\DispatchAfterCurrentBusMiddleware->handle()\n#4 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/AddBusNameStampMiddleware.php(35): Symfony\\Component\\Messenger\\Middleware\\RejectRedeliveredMessageMiddleware->handle()\n#5 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/TraceableMiddleware.php(36): Symfony\\Component\\Messenger\\Middleware\\AddBusNameStampMiddleware->handle()\n#6 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/MessageBus.php(70): Symfony\\Component\\Messenger\\Middleware\\TraceableMiddleware->handle()\n#7 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/RoutableMessageBus.php(54): Symfony\\Component\\Messenger\\MessageBus->dispatch()\n#8 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Worker.php(162): Symfony\\Component\\Messenger\\RoutableMessageBus->dispatch()\n#9 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Worker.php(109): Symfony\\Component\\Messenger\\Worker->handleMessage()\n#10 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Command/ConsumeMessagesCommand.php(244): Symfony\\Component\\Messenger\\Worker->run()\n#11 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/console/Command/Command.php(279): Symfony\\Component\\Messenger\\Command\\ConsumeMessagesCommand->execute()\n#12 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/console/Application.php(1049): Symfony\\Component\\Console\\Command\\Command->run()\n#13 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/framework-bundle/Console/Application.php(125): Symfony\\Component\\Console\\Application->doRunCommand()\n#14 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/console/Application.php(318): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRunCommand()\n#15 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/framework-bundle/Console/Application.php(79): Symfony\\Component\\Console\\Application->doRun()\n#16 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/console/Application.php(169): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRun()\n#17 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/runtime/Runner/Symfony/ConsoleApplicationRunner.php(49): Symfony\\Component\\Console\\Application->run()\n#18 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/autoload_runtime.php(29): Symfony\\Component\\Runtime\\Runner\\Symfony\\ConsoleApplicationRunner->run()\n#19 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/bin/console(11): require_once()\n#20 {main}",
- "error.type": "Symfony\\Component\\Messenger\\Exception\\HandlerFailedException",
- "messaging.destination": "async",
- "messaging.destination_kind": "queue",
- "messaging.message_id": "4",
- "messaging.operation": "process",
- "messaging.symfony.bus": "messenger.bus.default",
- "messaging.symfony.message": "App\\Message\\LuckyNumberNotification",
- "messaging.system": "symfony"
- }
- },
- {
- "name": "symfony.messenger.middleware",
- "service": "symfony_messenger_test",
- "resource": "Symfony\\Component\\Messenger\\Middleware\\SendMessageMiddleware",
- "trace_id": 0,
- "span_id": 16,
- "parent_id": 15,
- "type": "queue",
- "error": 1,
- "meta": {
- "component": "symfonymessenger",
- "error.message": "Thrown Symfony\\Component\\Messenger\\Exception\\HandlerFailedException: Handling \"App\\Message\\LuckyNumberNotification\" failed: Number is out of bounds in /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/HandleMessageMiddleware.php:124",
- "error.stack": "#0 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/SendMessageMiddleware.php(71): Symfony\\Component\\Messenger\\Middleware\\HandleMessageMiddleware->handle()\n#1 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/FailedMessageProcessingMiddleware.php(34): Symfony\\Component\\Messenger\\Middleware\\SendMessageMiddleware->handle()\n#2 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/DispatchAfterCurrentBusMiddleware.php(68): Symfony\\Component\\Messenger\\Middleware\\FailedMessageProcessingMiddleware->handle()\n#3 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/RejectRedeliveredMessageMiddleware.php(41): Symfony\\Component\\Messenger\\Middleware\\DispatchAfterCurrentBusMiddleware->handle()\n#4 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/AddBusNameStampMiddleware.php(35): Symfony\\Component\\Messenger\\Middleware\\RejectRedeliveredMessageMiddleware->handle()\n#5 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/TraceableMiddleware.php(36): Symfony\\Component\\Messenger\\Middleware\\AddBusNameStampMiddleware->handle()\n#6 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/MessageBus.php(70): Symfony\\Component\\Messenger\\Middleware\\TraceableMiddleware->handle()\n#7 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/RoutableMessageBus.php(54): Symfony\\Component\\Messenger\\MessageBus->dispatch()\n#8 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Worker.php(162): Symfony\\Component\\Messenger\\RoutableMessageBus->dispatch()\n#9 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Worker.php(109): Symfony\\Component\\Messenger\\Worker->handleMessage()\n#10 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Command/ConsumeMessagesCommand.php(244): Symfony\\Component\\Messenger\\Worker->run()\n#11 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/console/Command/Command.php(279): Symfony\\Component\\Messenger\\Command\\ConsumeMessagesCommand->execute()\n#12 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/console/Application.php(1049): Symfony\\Component\\Console\\Command\\Command->run()\n#13 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/framework-bundle/Console/Application.php(125): Symfony\\Component\\Console\\Application->doRunCommand()\n#14 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/console/Application.php(318): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRunCommand()\n#15 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/framework-bundle/Console/Application.php(79): Symfony\\Component\\Console\\Application->doRun()\n#16 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/console/Application.php(169): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRun()\n#17 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/runtime/Runner/Symfony/ConsoleApplicationRunner.php(49): Symfony\\Component\\Console\\Application->run()\n#18 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/autoload_runtime.php(29): Symfony\\Component\\Runtime\\Runner\\Symfony\\ConsoleApplicationRunner->run()\n#19 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/bin/console(11): require_once()\n#20 {main}",
- "error.type": "Symfony\\Component\\Messenger\\Exception\\HandlerFailedException",
- "messaging.destination": "async",
- "messaging.destination_kind": "queue",
- "messaging.message_id": "4",
- "messaging.operation": "process",
- "messaging.symfony.bus": "messenger.bus.default",
- "messaging.symfony.message": "App\\Message\\LuckyNumberNotification",
- "messaging.system": "symfony"
- }
- },
- {
- "name": "symfony.messenger.middleware",
- "service": "symfony_messenger_test",
- "resource": "Symfony\\Component\\Messenger\\Middleware\\HandleMessageMiddleware",
- "trace_id": 0,
- "span_id": 17,
- "parent_id": 16,
- "type": "queue",
- "error": 1,
- "meta": {
- "component": "symfonymessenger",
- "error.message": "Thrown Symfony\\Component\\Messenger\\Exception\\HandlerFailedException: Handling \"App\\Message\\LuckyNumberNotification\" failed: Number is out of bounds in /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/HandleMessageMiddleware.php:124",
- "error.stack": "#0 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/SendMessageMiddleware.php(71): Symfony\\Component\\Messenger\\Middleware\\HandleMessageMiddleware->handle()\n#1 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/FailedMessageProcessingMiddleware.php(34): Symfony\\Component\\Messenger\\Middleware\\SendMessageMiddleware->handle()\n#2 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/DispatchAfterCurrentBusMiddleware.php(68): Symfony\\Component\\Messenger\\Middleware\\FailedMessageProcessingMiddleware->handle()\n#3 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/RejectRedeliveredMessageMiddleware.php(41): Symfony\\Component\\Messenger\\Middleware\\DispatchAfterCurrentBusMiddleware->handle()\n#4 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/AddBusNameStampMiddleware.php(35): Symfony\\Component\\Messenger\\Middleware\\RejectRedeliveredMessageMiddleware->handle()\n#5 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/TraceableMiddleware.php(36): Symfony\\Component\\Messenger\\Middleware\\AddBusNameStampMiddleware->handle()\n#6 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/MessageBus.php(70): Symfony\\Component\\Messenger\\Middleware\\TraceableMiddleware->handle()\n#7 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/RoutableMessageBus.php(54): Symfony\\Component\\Messenger\\MessageBus->dispatch()\n#8 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Worker.php(162): Symfony\\Component\\Messenger\\RoutableMessageBus->dispatch()\n#9 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Worker.php(109): Symfony\\Component\\Messenger\\Worker->handleMessage()\n#10 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Command/ConsumeMessagesCommand.php(244): Symfony\\Component\\Messenger\\Worker->run()\n#11 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/console/Command/Command.php(279): Symfony\\Component\\Messenger\\Command\\ConsumeMessagesCommand->execute()\n#12 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/console/Application.php(1049): Symfony\\Component\\Console\\Command\\Command->run()\n#13 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/framework-bundle/Console/Application.php(125): Symfony\\Component\\Console\\Application->doRunCommand()\n#14 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/console/Application.php(318): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRunCommand()\n#15 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/framework-bundle/Console/Application.php(79): Symfony\\Component\\Console\\Application->doRun()\n#16 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/console/Application.php(169): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRun()\n#17 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/runtime/Runner/Symfony/ConsoleApplicationRunner.php(49): Symfony\\Component\\Console\\Application->run()\n#18 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/autoload_runtime.php(29): Symfony\\Component\\Runtime\\Runner\\Symfony\\ConsoleApplicationRunner->run()\n#19 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/bin/console(11): require_once()\n#20 {main}",
- "error.type": "Symfony\\Component\\Messenger\\Exception\\HandlerFailedException",
- "messaging.destination": "async",
- "messaging.destination_kind": "queue",
- "messaging.message_id": "4",
- "messaging.operation": "process",
- "messaging.symfony.bus": "messenger.bus.default",
- "messaging.symfony.message": "App\\Message\\LuckyNumberNotification",
- "messaging.system": "symfony"
- }
- },
- {
- "name": "symfony.messenger.handle",
- "service": "symfony_messenger_test",
- "resource": "App\\MessageHandler\\LuckyNumberNotificationHandler",
- "trace_id": 0,
- "span_id": 18,
- "parent_id": 17,
- "type": "queue",
- "error": 1,
- "meta": {
- "component": "symfonymessenger",
- "error.message": "Thrown OutOfBoundsException: Number is out of bounds in /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/src/MessageHandler/LuckyNumberNotificationHandler.php:14",
- "error.stack": "#0 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/HandleMessageMiddleware.php(152): App\\MessageHandler\\LuckyNumberNotificationHandler->__invoke()\n#1 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/HandleMessageMiddleware.php(91): Symfony\\Component\\Messenger\\Middleware\\HandleMessageMiddleware->callHandler()\n#2 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/SendMessageMiddleware.php(71): Symfony\\Component\\Messenger\\Middleware\\HandleMessageMiddleware->handle()\n#3 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/FailedMessageProcessingMiddleware.php(34): Symfony\\Component\\Messenger\\Middleware\\SendMessageMiddleware->handle()\n#4 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/DispatchAfterCurrentBusMiddleware.php(68): Symfony\\Component\\Messenger\\Middleware\\FailedMessageProcessingMiddleware->handle()\n#5 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/RejectRedeliveredMessageMiddleware.php(41): Symfony\\Component\\Messenger\\Middleware\\DispatchAfterCurrentBusMiddleware->handle()\n#6 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/AddBusNameStampMiddleware.php(35): Symfony\\Component\\Messenger\\Middleware\\RejectRedeliveredMessageMiddleware->handle()\n#7 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Middleware/TraceableMiddleware.php(36): Symfony\\Component\\Messenger\\Middleware\\AddBusNameStampMiddleware->handle()\n#8 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/MessageBus.php(70): Symfony\\Component\\Messenger\\Middleware\\TraceableMiddleware->handle()\n#9 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/RoutableMessageBus.php(54): Symfony\\Component\\Messenger\\MessageBus->dispatch()\n#10 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Worker.php(162): Symfony\\Component\\Messenger\\RoutableMessageBus->dispatch()\n#11 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Worker.php(109): Symfony\\Component\\Messenger\\Worker->handleMessage()\n#12 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/messenger/Command/ConsumeMessagesCommand.php(244): Symfony\\Component\\Messenger\\Worker->run()\n#13 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/console/Command/Command.php(279): Symfony\\Component\\Messenger\\Command\\ConsumeMessagesCommand->execute()\n#14 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/console/Application.php(1049): Symfony\\Component\\Console\\Command\\Command->run()\n#15 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/framework-bundle/Console/Application.php(125): Symfony\\Component\\Console\\Application->doRunCommand()\n#16 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/console/Application.php(318): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRunCommand()\n#17 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/framework-bundle/Console/Application.php(79): Symfony\\Component\\Console\\Application->doRun()\n#18 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/console/Application.php(169): Symfony\\Bundle\\FrameworkBundle\\Console\\Application->doRun()\n#19 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/symfony/runtime/Runner/Symfony/ConsoleApplicationRunner.php(49): Symfony\\Component\\Console\\Application->run()\n#20 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/vendor/autoload_runtime.php(29): Symfony\\Component\\Runtime\\Runner\\Symfony\\ConsoleApplicationRunner->run()\n#21 /home/circleci/app/tests/Frameworks/Symfony/Version_7_0/bin/console(11): require_once()\n#22 {main}",
- "error.type": "OutOfBoundsException",
- "messaging.destination_kind": "queue",
- "messaging.operation": "process",
- "messaging.symfony.message": "App\\Message\\LuckyNumberNotification",
- "messaging.system": "symfony"
- }
- },
- {
- "name": "symfony.Symfony\\Component\\Messenger\\Event\\WorkerMessageFailedEvent",
- "service": "symfony_messenger_test",
- "resource": "symfony.Symfony\\Component\\Messenger\\Event\\WorkerMessageFailedEvent",
- "trace_id": 0,
- "span_id": 4,
- "parent_id": 1,
- "type": "queue",
- "meta": {
- "component": "symfony"
- }
- },
- {
- "name": "symfony.messenger.send",
- "service": "symfony_messenger_test",
- "resource": "App\\Message\\LuckyNumberNotification -> async",
- "trace_id": 0,
- "span_id": 8,
- "parent_id": 4,
- "type": "queue",
- "meta": {
- "component": "symfonymessenger",
- "messaging.destination": "async",
- "messaging.destination_kind": "queue",
- "messaging.message_id": "5",
- "messaging.operation": "send",
- "messaging.symfony.bus": "messenger.bus.default",
- "messaging.symfony.message": "App\\Message\\LuckyNumberNotification",
- "messaging.symfony.redelivered_at": "2024-11-15T15:49:07+00:00",
- "messaging.system": "symfony",
- "span.kind": "producer"
- },
- "metrics": {
- "messaging.symfony.stamps.Symfony\\Component\\Messenger\\Bridge\\Doctrine\\Transport\\DoctrineReceivedStamp": 1,
- "messaging.symfony.stamps.Symfony\\Component\\Messenger\\Stamp\\AckStamp": 1,
- "messaging.symfony.stamps.Symfony\\Component\\Messenger\\Stamp\\BusNameStamp": 1,
- "messaging.symfony.stamps.Symfony\\Component\\Messenger\\Stamp\\ConsumedByWorkerStamp": 1,
- "messaging.symfony.stamps.Symfony\\Component\\Messenger\\Stamp\\DelayStamp": 1,
- "messaging.symfony.stamps.Symfony\\Component\\Messenger\\Stamp\\ErrorDetailsStamp": 1,
- "messaging.symfony.stamps.Symfony\\Component\\Messenger\\Stamp\\ReceivedStamp": 1,
- "messaging.symfony.stamps.Symfony\\Component\\Messenger\\Stamp\\RedeliveryStamp": 1,
- "messaging.symfony.stamps.Symfony\\Component\\Messenger\\Stamp\\SentToFailureTransportStamp": 1,
- "messaging.symfony.stamps.Symfony\\Component\\Messenger\\Stamp\\SerializedMessageStamp": 1,
- "messaging.symfony.stamps.Symfony\\Component\\Messenger\\Stamp\\SerializerStamp": 4,
- "messaging.symfony.stamps.Symfony\\Component\\Messenger\\Stamp\\TransportMessageIdStamp": 2
- }
- },
- {
- "name": "PDO.prepare",
- "service": "pdo",
- "resource": "INSERT INTO messenger_messages (body, headers, queue_name, created_at, available_at) VALUES(?, ?, ?, ?, ?)",
- "trace_id": 0,
- "span_id": 10,
- "parent_id": 8,
- "type": "sql",
- "meta": {
- "_dd.base_service": "symfony_messenger_test",
- "component": "pdo",
- "db.charset": "utf8mb4",
- "db.engine": "mysql",
- "db.name": "symfony70",
- "db.system": "mysql",
- "db.user": "test",
- "out.host": "mysql_integration",
- "out.port": "3306",
- "span.kind": "client"
- }
- },
- {
- "name": "PDOStatement.execute",
- "service": "pdo",
- "resource": "INSERT INTO messenger_messages (body, headers, queue_name, created_at, available_at) VALUES(?, ?, ?, ?, ?)",
- "trace_id": 0,
- "span_id": 11,
- "parent_id": 8,
- "type": "sql",
- "meta": {
- "_dd.base_service": "symfony_messenger_test",
- "component": "pdo",
- "db.charset": "utf8mb4",
- "db.engine": "mysql",
- "db.name": "symfony70",
- "db.system": "mysql",
- "db.user": "test",
- "out.host": "mysql_integration",
- "out.port": "3306",
- "span.kind": "client"
- },
- "metrics": {
- "db.row_count": 1
- }
- },
- {
- "name": "PDO.commit",
- "service": "pdo",
- "resource": "PDO.commit",
- "trace_id": 0,
- "span_id": 12,
- "parent_id": 8,
- "type": "sql",
- "meta": {
- "_dd.base_service": "symfony_messenger_test",
- "component": "pdo",
- "db.charset": "utf8mb4",
- "db.engine": "mysql",
- "db.name": "symfony70",
- "db.system": "mysql",
- "db.user": "test",
- "out.host": "mysql_integration",
- "out.port": "3306",
- "span.kind": "client"
- }
- },
- {
- "name": "PDO.prepare",
- "service": "pdo",
- "resource": "UPDATE messenger_messages SET delivered_at = ? WHERE id = ?",
- "trace_id": 0,
- "span_id": 5,
- "parent_id": 1,
- "type": "sql",
- "meta": {
- "_dd.base_service": "symfony_messenger_test",
- "component": "pdo",
- "db.charset": "utf8mb4",
- "db.engine": "mysql",
- "db.name": "symfony70",
- "db.system": "mysql",
- "db.user": "test",
- "out.host": "mysql_integration",
- "out.port": "3306",
- "span.kind": "client"
- }
- },
- {
- "name": "PDOStatement.execute",
- "service": "pdo",
- "resource": "UPDATE messenger_messages SET delivered_at = ? WHERE id = ?",
- "trace_id": 0,
- "span_id": 6,
- "parent_id": 1,
- "type": "sql",
- "meta": {
- "_dd.base_service": "symfony_messenger_test",
- "component": "pdo",
- "db.charset": "utf8mb4",
- "db.engine": "mysql",
- "db.name": "symfony70",
- "db.system": "mysql",
- "db.user": "test",
- "out.host": "mysql_integration",
- "out.port": "3306",
- "span.kind": "client"
- },
- "metrics": {
- "db.row_count": 1
- }
- }]]