diff --git a/.github/workflows/3x.yml b/.github/workflows/3x.yml index 2064155f4..1ca548644 100644 --- a/.github/workflows/3x.yml +++ b/.github/workflows/3x.yml @@ -1,5 +1,14 @@ name: Terminus 3.x -on: push +on: + push: + schedule: + - cron: '0 6 * * *' + workflow_dispatch: + inputs: + functional_tests_all: + description: Run all functional tests + required: true + default: '1' jobs: # Checkout in separate job because docker image is alpine based and checkout action doesn't work. checkout_build: @@ -37,7 +46,7 @@ jobs: strategy: matrix: operating-system: [ 'macos-latest' ] - php-versions: [ '7.4', '8.0' ] + php-versions: [ '7.4', '8.1' ] max-parallel: 1 env: TERMINUS_TOKEN: ${{ secrets.TERMINUS_TOKEN }} @@ -66,7 +75,11 @@ jobs: - name: Install Composer Dependencies run: composer install --no-interaction --prefer-dist - name: Functional Tests (short) + if: ${{ github.event_name == 'push' }} run: composer test:short + - name: Functional Tests (long) + if: ${{ github.event_name == 'schedule' || github.event.inputs.functional_tests_all == '1' }} + run: composer test:long - name: Coverage Report run: composer coverage - name: Save coverage as artifact diff --git a/bin/terminus b/bin/terminus index e1bb2ed6d..df35110c9 100755 --- a/bin/terminus +++ b/bin/terminus @@ -1,4 +1,4 @@ -#!/usr/bin/env php +#!/usr/bin/env php =') === true) { +} + +if (!getenv('TERMINUS_ALLOW_UNSUPPORTED_NEWER_PHP') && version_compare(PHP_VERSION, '8.2.0', '>=') === true) { echo "\n"; - echo 'PHP 8.1+ is not supported by this version of Terminus.' . "\n"; + echo 'PHP 8.2+ is not supported by this version of Terminus.' . "\n"; echo 'Check for new versions at https://github.com/pantheon-systems/terminus/releases' . "\n"; echo "\n"; - if (!getenv('TERMINUS_ALLOW_UNSUPPORTED_NEWER_PHP')) { - echo 'Set environment variable TERMINUS_ALLOW_UNSUPPORTED_NEWER_PHP to try continuing anyway.' . "\n"; - echo "Stopping.\n\n"; - exit(1); - } + echo 'Set environment variable TERMINUS_ALLOW_UNSUPPORTED_NEWER_PHP to try continuing anyway.' . "\n"; + echo "Stopping.\n\n"; + exit(1); } // This variable is automatically managed via updateDependenciesversion() in /RoboFile.php, diff --git a/composer.json b/composer.json index e9014e56b..9b6960192 100644 --- a/composer.json +++ b/composer.json @@ -98,10 +98,10 @@ "\\Terminus\\UpdateClassLists::update" ], "code:fix": [ - "vendor/bin/phpcbf --standard=phpcs_ruleset.xml src tests/Functional tests/unit_tests tests/Traits" + "vendor/bin/phpcbf --standard=phpcs_ruleset.xml src tests/Functional tests/unit_tests" ], "cs": [ - "vendor/bin/phpcs --standard=phpcs_ruleset.xml src tests/Functional tests/unit_tests tests/Traits" + "vendor/bin/phpcs --standard=phpcs_ruleset.xml src tests/Functional tests/unit_tests" ], "code:lint": [ "@cs" @@ -118,7 +118,7 @@ "SHELL_INTERACTIVE=true TERMINUS_TEST_MODE=1 behat --colors --config tests/config/behat.yml --stop-on-failure --suite=default" ], "test:short": [ - "XDEBUG_MODE=coverage vendor/bin/phpunit --colors=always -c ./phpunit.xml --debug --group=short --do-not-cache-result --verbose" + "XDEBUG_MODE=coverage vendor/bin/phpunit --colors=always -c ./phpunit.xml --debug --group=short --do-not-cache-result --verbose --stop-on-failure" ], "test:long": [ "XDEBUG_MODE=coverage vendor/bin/phpunit --colors=always -c ./phpunit.xml --debug --group=long --do-not-cache-result --verbose" diff --git a/composer.lock b/composer.lock index 440dbb912..1864449d9 100644 --- a/composer.lock +++ b/composer.lock @@ -84,21 +84,22 @@ }, { "name": "composer/composer", - "version": "2.1.14", + "version": "2.2.3", "source": { "type": "git", "url": "https://github.com/composer/composer.git", - "reference": "cd28fc05b0c9d3beaf58b57018725c4dc15a6446" + "reference": "3c92ba5cdc7d48b7db2dcd197e6fa0e8fa6d9f4a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/composer/zipball/cd28fc05b0c9d3beaf58b57018725c4dc15a6446", - "reference": "cd28fc05b0c9d3beaf58b57018725c4dc15a6446", + "url": "https://api.github.com/repos/composer/composer/zipball/3c92ba5cdc7d48b7db2dcd197e6fa0e8fa6d9f4a", + "reference": "3c92ba5cdc7d48b7db2dcd197e6fa0e8fa6d9f4a", "shasum": "" }, "require": { "composer/ca-bundle": "^1.0", "composer/metadata-minifier": "^1.0", + "composer/pcre": "^1.0", "composer/semver": "^3.0", "composer/spdx-licenses": "^1.2", "composer/xdebug-handler": "^2.0", @@ -128,7 +129,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "2.1-dev" + "dev-main": "2.2-dev" } }, "autoload": { @@ -162,7 +163,7 @@ "support": { "irc": "ircs://irc.libera.chat:6697/composer", "issues": "https://github.com/composer/composer/issues", - "source": "https://github.com/composer/composer/tree/2.1.14" + "source": "https://github.com/composer/composer/tree/2.2.3" }, "funding": [ { @@ -178,7 +179,7 @@ "type": "tidelift" } ], - "time": "2021-11-30T09:51:43+00:00" + "time": "2021-12-31T11:18:53+00:00" }, { "name": "composer/metadata-minifier", @@ -322,16 +323,16 @@ }, { "name": "composer/semver", - "version": "3.2.6", + "version": "3.2.7", "source": { "type": "git", "url": "https://github.com/composer/semver.git", - "reference": "83e511e247de329283478496f7a1e114c9517506" + "reference": "deac27056b57e46faf136fae7b449eeaa71661ee" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/semver/zipball/83e511e247de329283478496f7a1e114c9517506", - "reference": "83e511e247de329283478496f7a1e114c9517506", + "url": "https://api.github.com/repos/composer/semver/zipball/deac27056b57e46faf136fae7b449eeaa71661ee", + "reference": "deac27056b57e46faf136fae7b449eeaa71661ee", "shasum": "" }, "require": { @@ -383,7 +384,7 @@ "support": { "irc": "irc://irc.freenode.org/composer", "issues": "https://github.com/composer/semver/issues", - "source": "https://github.com/composer/semver/tree/3.2.6" + "source": "https://github.com/composer/semver/tree/3.2.7" }, "funding": [ { @@ -399,7 +400,7 @@ "type": "tidelift" } ], - "time": "2021-10-25T11:34:17+00:00" + "time": "2022-01-04T09:57:54+00:00" }, { "name": "composer/spdx-licenses", @@ -483,16 +484,16 @@ }, { "name": "composer/xdebug-handler", - "version": "2.0.3", + "version": "2.0.4", "source": { "type": "git", "url": "https://github.com/composer/xdebug-handler.git", - "reference": "6555461e76962fd0379c444c46fd558a0fcfb65e" + "reference": "0c1a3925ec58a4ec98e992b9c7d171e9e184be0a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/6555461e76962fd0379c444c46fd558a0fcfb65e", - "reference": "6555461e76962fd0379c444c46fd558a0fcfb65e", + "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/0c1a3925ec58a4ec98e992b9c7d171e9e184be0a", + "reference": "0c1a3925ec58a4ec98e992b9c7d171e9e184be0a", "shasum": "" }, "require": { @@ -529,7 +530,7 @@ "support": { "irc": "irc://irc.freenode.org/composer", "issues": "https://github.com/composer/xdebug-handler/issues", - "source": "https://github.com/composer/xdebug-handler/tree/2.0.3" + "source": "https://github.com/composer/xdebug-handler/tree/2.0.4" }, "funding": [ { @@ -545,31 +546,32 @@ "type": "tidelift" } ], - "time": "2021-12-08T13:07:32+00:00" + "time": "2022-01-04T17:06:45+00:00" }, { "name": "consolidation/annotated-command", - "version": "4.4.0", + "version": "4.5.1", "source": { "type": "git", "url": "https://github.com/consolidation/annotated-command.git", - "reference": "308f6ac178566a1ce9aa90ed908dac90a2c1e707" + "reference": "701a7abe8505abe89520837be798e15a3953a367" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/consolidation/annotated-command/zipball/308f6ac178566a1ce9aa90ed908dac90a2c1e707", - "reference": "308f6ac178566a1ce9aa90ed908dac90a2c1e707", + "url": "https://api.github.com/repos/consolidation/annotated-command/zipball/701a7abe8505abe89520837be798e15a3953a367", + "reference": "701a7abe8505abe89520837be798e15a3953a367", "shasum": "" }, "require": { "consolidation/output-formatters": "^4.1.1", "php": ">=7.1.3", "psr/log": "^1|^2", - "symfony/console": "^4.4.8|~5.1.0", - "symfony/event-dispatcher": "^4.4.8|^5", - "symfony/finder": "^4.4.8|^5" + "symfony/console": "^4.4.8|^5|^6", + "symfony/event-dispatcher": "^4.4.8|^5|^6", + "symfony/finder": "^4.4.8|^5|^6" }, "require-dev": { + "composer-runtime-api": "^2.0", "phpunit/phpunit": "^7.5.20 || ^8 || ^9", "squizlabs/php_codesniffer": "^3", "yoast/phpunit-polyfills": "^0.2.0" @@ -598,9 +600,9 @@ "description": "Initialize Symfony Console commands from annotated command class methods.", "support": { "issues": "https://github.com/consolidation/annotated-command/issues", - "source": "https://github.com/consolidation/annotated-command/tree/4.4.0" + "source": "https://github.com/consolidation/annotated-command/tree/4.5.1" }, - "time": "2021-09-30T01:08:15+00:00" + "time": "2021-12-30T04:00:37+00:00" }, { "name": "consolidation/comments", @@ -656,16 +658,16 @@ }, { "name": "consolidation/config", - "version": "2.0.1", + "version": "2.0.2", "source": { "type": "git", "url": "https://github.com/consolidation/config.git", - "reference": "9a2c2a7b2aea1b3525984a4378743a8b74c14e1c" + "reference": "ce6a96fe858df4cc4252e2f48503151dc20a1559" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/consolidation/config/zipball/9a2c2a7b2aea1b3525984a4378743a8b74c14e1c", - "reference": "9a2c2a7b2aea1b3525984a4378743a8b74c14e1c", + "url": "https://api.github.com/repos/consolidation/config/zipball/ce6a96fe858df4cc4252e2f48503151dc20a1559", + "reference": "ce6a96fe858df4cc4252e2f48503151dc20a1559", "shasum": "" }, "require": { @@ -710,26 +712,26 @@ "description": "Provide configuration services for a commandline tool.", "support": { "issues": "https://github.com/consolidation/config/issues", - "source": "https://github.com/consolidation/config/tree/2.0.1" + "source": "https://github.com/consolidation/config/tree/2.0.2" }, - "time": "2020-12-06T00:03:30+00:00" + "time": "2021-12-30T03:53:15+00:00" }, { "name": "consolidation/filter-via-dot-access-data", - "version": "2.0.1", + "version": "2.0.2", "source": { "type": "git", "url": "https://github.com/consolidation/filter-via-dot-access-data.git", - "reference": "87b324c6451435742d9ef76fef45dffed3b02347" + "reference": "cb2eeba41f8e2e3c61698a5cf70ef048ff6c9d5b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/consolidation/filter-via-dot-access-data/zipball/87b324c6451435742d9ef76fef45dffed3b02347", - "reference": "87b324c6451435742d9ef76fef45dffed3b02347", + "url": "https://api.github.com/repos/consolidation/filter-via-dot-access-data/zipball/cb2eeba41f8e2e3c61698a5cf70ef048ff6c9d5b", + "reference": "cb2eeba41f8e2e3c61698a5cf70ef048ff6c9d5b", "shasum": "" }, "require": { - "dflydev/dot-access-data": "^1.1.0", + "dflydev/dot-access-data": "^1.1.0 || ^2.0.0 || ^3.0.0", "php": ">=7.1.3" }, "require-dev": { @@ -760,28 +762,28 @@ ], "description": "This project uses dflydev/dot-access-data to provide simple output filtering for applications built with annotated-command / Robo.", "support": { - "source": "https://github.com/consolidation/filter-via-dot-access-data/tree/2.0.1" + "source": "https://github.com/consolidation/filter-via-dot-access-data/tree/2.0.2" }, - "time": "2021-03-11T03:25:35+00:00" + "time": "2021-12-30T03:56:08+00:00" }, { "name": "consolidation/log", - "version": "2.0.2", + "version": "2.0.4", "source": { "type": "git", "url": "https://github.com/consolidation/log.git", - "reference": "82a2aaaa621a7b976e50a745a8d249d5085ee2b1" + "reference": "fc9ec5476ba13a31778695bd2d4f2fa0b0684356" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/consolidation/log/zipball/82a2aaaa621a7b976e50a745a8d249d5085ee2b1", - "reference": "82a2aaaa621a7b976e50a745a8d249d5085ee2b1", + "url": "https://api.github.com/repos/consolidation/log/zipball/fc9ec5476ba13a31778695bd2d4f2fa0b0684356", + "reference": "fc9ec5476ba13a31778695bd2d4f2fa0b0684356", "shasum": "" }, "require": { "php": ">=7.1.3", "psr/log": "^1.0", - "symfony/console": "^4|^5" + "symfony/console": "^4 || ^5 || ^6" }, "require-dev": { "phpunit/phpunit": ">=7.5.20", @@ -812,36 +814,36 @@ "description": "Improved Psr-3 / Psr\\Log logger based on Symfony Console components.", "support": { "issues": "https://github.com/consolidation/log/issues", - "source": "https://github.com/consolidation/log/tree/2.0.2" + "source": "https://github.com/consolidation/log/tree/2.0.4" }, - "time": "2020-12-10T16:26:23+00:00" + "time": "2021-12-30T19:05:18+00:00" }, { "name": "consolidation/output-formatters", - "version": "4.1.2", + "version": "4.2.1", "source": { "type": "git", "url": "https://github.com/consolidation/output-formatters.git", - "reference": "5821e6ae076bf690058a4de6c94dce97398a69c9" + "reference": "4413d7c732afb5d7bdac565c41aa9c8c49c48888" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/consolidation/output-formatters/zipball/5821e6ae076bf690058a4de6c94dce97398a69c9", - "reference": "5821e6ae076bf690058a4de6c94dce97398a69c9", + "url": "https://api.github.com/repos/consolidation/output-formatters/zipball/4413d7c732afb5d7bdac565c41aa9c8c49c48888", + "reference": "4413d7c732afb5d7bdac565c41aa9c8c49c48888", "shasum": "" }, "require": { "dflydev/dot-access-data": "^1.1.0", "php": ">=7.1.3", - "symfony/console": "^4|^5", - "symfony/finder": "^4|^5" + "symfony/console": "^4|^5|^6", + "symfony/finder": "^4|^5|^6" }, "require-dev": { "php-coveralls/php-coveralls": "^2.4.2", "phpunit/phpunit": ">=7", "squizlabs/php_codesniffer": "^3", - "symfony/var-dumper": "^4", - "symfony/yaml": "^4", + "symfony/var-dumper": "^4|^5|^6", + "symfony/yaml": "^4|^5|^6", "yoast/phpunit-polyfills": "^0.2.0" }, "suggest": { @@ -871,38 +873,38 @@ "description": "Format text by applying transformations provided by plug-in formatters.", "support": { "issues": "https://github.com/consolidation/output-formatters/issues", - "source": "https://github.com/consolidation/output-formatters/tree/4.1.2" + "source": "https://github.com/consolidation/output-formatters/tree/4.2.1" }, - "time": "2020-12-12T19:04:59+00:00" + "time": "2021-12-30T03:58:00+00:00" }, { "name": "consolidation/robo", - "version": "3.0.6", + "version": "3.0.7", "source": { "type": "git", - "url": "https://github.com/consolidation/Robo.git", - "reference": "36dce2965a67abe5cf91f2bc36d2582a64a11258" + "url": "https://github.com/consolidation/robo.git", + "reference": "57012db2a93c904ed0a7b9d8676c0325c0366bc8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/consolidation/Robo/zipball/36dce2965a67abe5cf91f2bc36d2582a64a11258", - "reference": "36dce2965a67abe5cf91f2bc36d2582a64a11258", + "url": "https://api.github.com/repos/consolidation/robo/zipball/57012db2a93c904ed0a7b9d8676c0325c0366bc8", + "reference": "57012db2a93c904ed0a7b9d8676c0325c0366bc8", "shasum": "" }, "require": { "consolidation/annotated-command": "^4.3", - "consolidation/config": "^1.2.1|^2.0.1", - "consolidation/log": "^1.1.1|^2.0.2", + "consolidation/config": "^1.2.1 || ^2.0.1", + "consolidation/log": "^1.1.1 || ^2.0.2", "consolidation/output-formatters": "^4.1.2", "consolidation/self-update": "^2.0", "league/container": "^3.3.1", "php": ">=7.1.3", - "symfony/console": "^4.4.19 || ^5", - "symfony/event-dispatcher": "^4.4.19 || ^5", - "symfony/filesystem": "^4.4.9 || ^5", - "symfony/finder": "^4.4.9 || ^5", + "symfony/console": "^4.4.19 || ^5 || ^6", + "symfony/event-dispatcher": "^4.4.19 || ^5 || ^6", + "symfony/filesystem": "^4.4.9 || ^5 || ^6", + "symfony/finder": "^4.4.9 || ^5 || ^6", "symfony/process": "^4.4.9 || ^5", - "symfony/yaml": "^4.4 || ^5" + "symfony/yaml": "^4.4 || ^5 || ^6" }, "conflict": { "codegyre/robo": "*" @@ -911,7 +913,7 @@ "natxet/cssmin": "3.0.4", "patchwork/jsqueeze": "^2", "pear/archive_tar": "^1.4.4", - "phpunit/phpunit": "^7.5.20 | ^8", + "phpunit/phpunit": "^7.5.20 || ^8", "squizlabs/php_codesniffer": "^3.6", "yoast/phpunit-polyfills": "^0.2.0" }, @@ -969,30 +971,30 @@ ], "description": "Modern task runner", "support": { - "issues": "https://github.com/consolidation/Robo/issues", - "source": "https://github.com/consolidation/Robo/tree/3.0.6" + "issues": "https://github.com/consolidation/robo/issues", + "source": "https://github.com/consolidation/robo/tree/3.0.7" }, - "time": "2021-10-05T23:56:45+00:00" + "time": "2021-12-31T01:01:31+00:00" }, { "name": "consolidation/self-update", - "version": "2.0.2", + "version": "2.0.3", "source": { "type": "git", "url": "https://github.com/consolidation/self-update.git", - "reference": "74289cf9b37d5cf84321ebea47deeea21678b940" + "reference": "117dcc9494dc970a6ae307103c41d654e6253bc4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/consolidation/self-update/zipball/74289cf9b37d5cf84321ebea47deeea21678b940", - "reference": "74289cf9b37d5cf84321ebea47deeea21678b940", + "url": "https://api.github.com/repos/consolidation/self-update/zipball/117dcc9494dc970a6ae307103c41d654e6253bc4", + "reference": "117dcc9494dc970a6ae307103c41d654e6253bc4", "shasum": "" }, "require": { "composer/semver": "^3.2", "php": ">=5.5.0", - "symfony/console": "^2.8|^3|^4|^5", - "symfony/filesystem": "^2.5|^3|^4|^5" + "symfony/console": "^2.8 || ^3 || ^4 || ^5 || ^6", + "symfony/filesystem": "^2.5 || ^3 || ^4 || ^5 || ^6" }, "bin": [ "scripts/release" @@ -1025,22 +1027,22 @@ "description": "Provides a self:update command for Symfony Console applications.", "support": { "issues": "https://github.com/consolidation/self-update/issues", - "source": "https://github.com/consolidation/self-update/tree/2.0.2" + "source": "https://github.com/consolidation/self-update/tree/2.0.3" }, - "time": "2021-12-17T16:45:58+00:00" + "time": "2021-12-30T19:08:32+00:00" }, { "name": "consolidation/site-alias", - "version": "3.1.1", + "version": "3.1.3", "source": { "type": "git", "url": "https://github.com/consolidation/site-alias.git", - "reference": "e824b57253d9174f4a500f87e6d0e1e497c2a50a" + "reference": "e2784362e98f315c996fb2b9ed80a9118a0ba8b7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/consolidation/site-alias/zipball/e824b57253d9174f4a500f87e6d0e1e497c2a50a", - "reference": "e824b57253d9174f4a500f87e6d0e1e497c2a50a", + "url": "https://api.github.com/repos/consolidation/site-alias/zipball/e2784362e98f315c996fb2b9ed80a9118a0ba8b7", + "reference": "e2784362e98f315c996fb2b9ed80a9118a0ba8b7", "shasum": "" }, "require": { @@ -1083,9 +1085,9 @@ "description": "Manage alias records for local and remote sites.", "support": { "issues": "https://github.com/consolidation/site-alias/issues", - "source": "https://github.com/consolidation/site-alias/tree/3.1.1" + "source": "https://github.com/consolidation/site-alias/tree/3.1.3" }, - "time": "2021-09-21T00:30:48+00:00" + "time": "2022-01-03T19:00:28+00:00" }, { "name": "czproject/git-php", @@ -2382,27 +2384,29 @@ }, { "name": "symfony/console", - "version": "v5.1.11", + "version": "v5.4.2", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "d9a267b621c5082e0a6c659d73633b6fd28a8a08" + "reference": "a2c6b7ced2eb7799a35375fb9022519282b5405e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/d9a267b621c5082e0a6c659d73633b6fd28a8a08", - "reference": "d9a267b621c5082e0a6c659d73633b6fd28a8a08", + "url": "https://api.github.com/repos/symfony/console/zipball/a2c6b7ced2eb7799a35375fb9022519282b5405e", + "reference": "a2c6b7ced2eb7799a35375fb9022519282b5405e", "shasum": "" }, "require": { "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php73": "^1.8", - "symfony/polyfill-php80": "^1.15", - "symfony/service-contracts": "^1.1|^2", - "symfony/string": "^5.1" + "symfony/polyfill-php73": "^1.9", + "symfony/polyfill-php80": "^1.16", + "symfony/service-contracts": "^1.1|^2|^3", + "symfony/string": "^5.1|^6.0" }, "conflict": { + "psr/log": ">=3", "symfony/dependency-injection": "<4.4", "symfony/dotenv": "<5.1", "symfony/event-dispatcher": "<4.4", @@ -2410,16 +2414,16 @@ "symfony/process": "<4.4" }, "provide": { - "psr/log-implementation": "1.0" + "psr/log-implementation": "1.0|2.0" }, "require-dev": { - "psr/log": "~1.0", - "symfony/config": "^4.4|^5.0", - "symfony/dependency-injection": "^4.4|^5.0", - "symfony/event-dispatcher": "^4.4|^5.0", - "symfony/lock": "^4.4|^5.0", - "symfony/process": "^4.4|^5.0", - "symfony/var-dumper": "^4.4|^5.0" + "psr/log": "^1|^2", + "symfony/config": "^4.4|^5.0|^6.0", + "symfony/dependency-injection": "^4.4|^5.0|^6.0", + "symfony/event-dispatcher": "^4.4|^5.0|^6.0", + "symfony/lock": "^4.4|^5.0|^6.0", + "symfony/process": "^4.4|^5.0|^6.0", + "symfony/var-dumper": "^4.4|^5.0|^6.0" }, "suggest": { "psr/log": "For using the console logger", @@ -2452,8 +2456,14 @@ ], "description": "Eases the creation of beautiful and testable command line interfaces", "homepage": "https://symfony.com", + "keywords": [ + "cli", + "command line", + "console", + "terminal" + ], "support": { - "source": "https://github.com/symfony/console/tree/v5.1.11" + "source": "https://github.com/symfony/console/tree/v5.4.2" }, "funding": [ { @@ -2469,7 +2479,7 @@ "type": "tidelift" } ], - "time": "2021-01-27T10:01:46+00:00" + "time": "2021-12-20T16:11:12+00:00" }, { "name": "symfony/deprecation-contracts", @@ -2768,16 +2778,16 @@ }, { "name": "symfony/finder", - "version": "v5.4.0", + "version": "v5.4.2", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "d2f29dac98e96a98be467627bd49c2efb1bc2590" + "reference": "e77046c252be48c48a40816187ed527703c8f76c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/d2f29dac98e96a98be467627bd49c2efb1bc2590", - "reference": "d2f29dac98e96a98be467627bd49c2efb1bc2590", + "url": "https://api.github.com/repos/symfony/finder/zipball/e77046c252be48c48a40816187ed527703c8f76c", + "reference": "e77046c252be48c48a40816187ed527703c8f76c", "shasum": "" }, "require": { @@ -2811,7 +2821,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v5.4.0" + "source": "https://github.com/symfony/finder/tree/v5.4.2" }, "funding": [ { @@ -2827,25 +2837,28 @@ "type": "tidelift" } ], - "time": "2021-11-28T15:25:38+00:00" + "time": "2021-12-15T11:06:13+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.23.0", + "version": "v1.24.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "46cd95797e9df938fdd2b03693b5fca5e64b01ce" + "reference": "30885182c981ab175d4d034db0f6f469898070ab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/46cd95797e9df938fdd2b03693b5fca5e64b01ce", - "reference": "46cd95797e9df938fdd2b03693b5fca5e64b01ce", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/30885182c981ab175d4d034db0f6f469898070ab", + "reference": "30885182c981ab175d4d034db0f6f469898070ab", "shasum": "" }, "require": { "php": ">=7.1" }, + "provide": { + "ext-ctype": "*" + }, "suggest": { "ext-ctype": "For best performance" }, @@ -2890,7 +2903,7 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.23.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.24.0" }, "funding": [ { @@ -2906,20 +2919,20 @@ "type": "tidelift" } ], - "time": "2021-02-19T12:13:01+00:00" + "time": "2021-10-20T20:35:02+00:00" }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.23.1", + "version": "v1.24.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "16880ba9c5ebe3642d1995ab866db29270b36535" + "reference": "81b86b50cf841a64252b439e738e97f4a34e2783" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/16880ba9c5ebe3642d1995ab866db29270b36535", - "reference": "16880ba9c5ebe3642d1995ab866db29270b36535", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/81b86b50cf841a64252b439e738e97f4a34e2783", + "reference": "81b86b50cf841a64252b439e738e97f4a34e2783", "shasum": "" }, "require": { @@ -2971,7 +2984,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.23.1" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.24.0" }, "funding": [ { @@ -2987,11 +3000,11 @@ "type": "tidelift" } ], - "time": "2021-05-27T12:26:48+00:00" + "time": "2021-11-23T21:10:46+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.23.0", + "version": "v1.24.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", @@ -3055,7 +3068,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.23.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.24.0" }, "funding": [ { @@ -3075,21 +3088,24 @@ }, { "name": "symfony/polyfill-mbstring", - "version": "v1.23.1", + "version": "v1.24.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6" + "reference": "0abb51d2f102e00a4eefcf46ba7fec406d245825" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9174a3d80210dca8daa7f31fec659150bbeabfc6", - "reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/0abb51d2f102e00a4eefcf46ba7fec406d245825", + "reference": "0abb51d2f102e00a4eefcf46ba7fec406d245825", "shasum": "" }, "require": { "php": ">=7.1" }, + "provide": { + "ext-mbstring": "*" + }, "suggest": { "ext-mbstring": "For best performance" }, @@ -3135,7 +3151,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.23.1" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.24.0" }, "funding": [ { @@ -3151,20 +3167,20 @@ "type": "tidelift" } ], - "time": "2021-05-27T12:26:48+00:00" + "time": "2021-11-30T18:21:41+00:00" }, { "name": "symfony/polyfill-php73", - "version": "v1.23.0", + "version": "v1.24.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "fba8933c384d6476ab14fb7b8526e5287ca7e010" + "reference": "cc5db0e22b3cb4111010e48785a97f670b350ca5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fba8933c384d6476ab14fb7b8526e5287ca7e010", - "reference": "fba8933c384d6476ab14fb7b8526e5287ca7e010", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/cc5db0e22b3cb4111010e48785a97f670b350ca5", + "reference": "cc5db0e22b3cb4111010e48785a97f670b350ca5", "shasum": "" }, "require": { @@ -3214,7 +3230,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php73/tree/v1.23.0" + "source": "https://github.com/symfony/polyfill-php73/tree/v1.24.0" }, "funding": [ { @@ -3230,20 +3246,20 @@ "type": "tidelift" } ], - "time": "2021-02-19T12:13:01+00:00" + "time": "2021-06-05T21:20:04+00:00" }, { "name": "symfony/polyfill-php80", - "version": "v1.23.1", + "version": "v1.24.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be" + "reference": "57b712b08eddb97c762a8caa32c84e037892d2e9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/1100343ed1a92e3a38f9ae122fc0eb21602547be", - "reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/57b712b08eddb97c762a8caa32c84e037892d2e9", + "reference": "57b712b08eddb97c762a8caa32c84e037892d2e9", "shasum": "" }, "require": { @@ -3297,7 +3313,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.23.1" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.24.0" }, "funding": [ { @@ -3313,20 +3329,20 @@ "type": "tidelift" } ], - "time": "2021-07-28T13:41:28+00:00" + "time": "2021-09-13T13:58:33+00:00" }, { "name": "symfony/process", - "version": "v5.4.0", + "version": "v5.4.2", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "5be20b3830f726e019162b26223110c8f47cf274" + "reference": "2b3ba8722c4aaf3e88011be5e7f48710088fb5e4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/5be20b3830f726e019162b26223110c8f47cf274", - "reference": "5be20b3830f726e019162b26223110c8f47cf274", + "url": "https://api.github.com/repos/symfony/process/zipball/2b3ba8722c4aaf3e88011be5e7f48710088fb5e4", + "reference": "2b3ba8722c4aaf3e88011be5e7f48710088fb5e4", "shasum": "" }, "require": { @@ -3359,7 +3375,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v5.4.0" + "source": "https://github.com/symfony/process/tree/v5.4.2" }, "funding": [ { @@ -3375,7 +3391,7 @@ "type": "tidelift" } ], - "time": "2021-11-28T15:25:38+00:00" + "time": "2021-12-27T21:01:00+00:00" }, { "name": "symfony/service-contracts", @@ -3462,16 +3478,16 @@ }, { "name": "symfony/string", - "version": "v5.4.0", + "version": "v5.4.2", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "9ffaaba53c61ba75a3c7a3a779051d1e9ec4fd2d" + "reference": "e6a5d5ecf6589c5247d18e0e74e30b11dfd51a3d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/9ffaaba53c61ba75a3c7a3a779051d1e9ec4fd2d", - "reference": "9ffaaba53c61ba75a3c7a3a779051d1e9ec4fd2d", + "url": "https://api.github.com/repos/symfony/string/zipball/e6a5d5ecf6589c5247d18e0e74e30b11dfd51a3d", + "reference": "e6a5d5ecf6589c5247d18e0e74e30b11dfd51a3d", "shasum": "" }, "require": { @@ -3528,7 +3544,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v5.4.0" + "source": "https://github.com/symfony/string/tree/v5.4.2" }, "funding": [ { @@ -3544,32 +3560,32 @@ "type": "tidelift" } ], - "time": "2021-11-24T10:02:00+00:00" + "time": "2021-12-16T21:52:00+00:00" }, { "name": "symfony/yaml", - "version": "v5.3.11", + "version": "v5.4.2", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "226638aa877bc4104e619a15f27d8141cd6b4e4a" + "reference": "b9eb163846a61bb32dfc147f7859e274fab38b58" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/226638aa877bc4104e619a15f27d8141cd6b4e4a", - "reference": "226638aa877bc4104e619a15f27d8141cd6b4e4a", + "url": "https://api.github.com/repos/symfony/yaml/zipball/b9eb163846a61bb32dfc147f7859e274fab38b58", + "reference": "b9eb163846a61bb32dfc147f7859e274fab38b58", "shasum": "" }, "require": { "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1", - "symfony/polyfill-ctype": "~1.8" + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-ctype": "^1.8" }, "conflict": { - "symfony/console": "<4.4" + "symfony/console": "<5.3" }, "require-dev": { - "symfony/console": "^4.4|^5.0" + "symfony/console": "^5.3|^6.0" }, "suggest": { "symfony/console": "For validating YAML files using the lint command" @@ -3603,7 +3619,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v5.3.11" + "source": "https://github.com/symfony/yaml/tree/v5.4.2" }, "funding": [ { @@ -3619,7 +3635,7 @@ "type": "tidelift" } ], - "time": "2021-11-20T16:42:42+00:00" + "time": "2021-12-16T21:58:21+00:00" }, { "name": "tm/tooly-composer-script", @@ -3707,16 +3723,16 @@ }, { "name": "twig/twig", - "version": "v3.3.4", + "version": "v3.3.7", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "65cb6f0b956485e1664f13d023c55298a4bb59ca" + "reference": "8f168c6ffa3ce76d1786b3cd52275424a3fc675b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/65cb6f0b956485e1664f13d023c55298a4bb59ca", - "reference": "65cb6f0b956485e1664f13d023c55298a4bb59ca", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/8f168c6ffa3ce76d1786b3cd52275424a3fc675b", + "reference": "8f168c6ffa3ce76d1786b3cd52275424a3fc675b", "shasum": "" }, "require": { @@ -3767,7 +3783,7 @@ ], "support": { "issues": "https://github.com/twigphp/Twig/issues", - "source": "https://github.com/twigphp/Twig/tree/v3.3.4" + "source": "https://github.com/twigphp/Twig/tree/v3.3.7" }, "funding": [ { @@ -3779,7 +3795,7 @@ "type": "tidelift" } ], - "time": "2021-11-25T13:46:55+00:00" + "time": "2022-01-03T21:15:37+00:00" } ], "packages-dev": [ @@ -4259,9 +4275,6 @@ "require": { "php": "^7.1 || ^8.0" }, - "replace": { - "myclabs/deep-copy": "self.version" - }, "require-dev": { "doctrine/collections": "^1.0", "doctrine/common": "^2.6", @@ -4749,16 +4762,16 @@ }, { "name": "phpdocumentor/type-resolver", - "version": "1.5.1", + "version": "1.6.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "a12f7e301eb7258bb68acd89d4aefa05c2906cae" + "reference": "93ebd0014cab80c4ea9f5e297ea48672f1b87706" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/a12f7e301eb7258bb68acd89d4aefa05c2906cae", - "reference": "a12f7e301eb7258bb68acd89d4aefa05c2906cae", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/93ebd0014cab80c4ea9f5e297ea48672f1b87706", + "reference": "93ebd0014cab80c4ea9f5e297ea48672f1b87706", "shasum": "" }, "require": { @@ -4793,9 +4806,9 @@ "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", "support": { "issues": "https://github.com/phpDocumentor/TypeResolver/issues", - "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.5.1" + "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.6.0" }, - "time": "2021-10-02T14:08:47+00:00" + "time": "2022-01-04T19:58:01+00:00" }, { "name": "phpspec/prophecy", @@ -5246,16 +5259,16 @@ }, { "name": "phpunit/phpunit", - "version": "9.5.10", + "version": "9.5.11", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "c814a05837f2edb0d1471d6e3f4ab3501ca3899a" + "reference": "2406855036db1102126125537adb1406f7242fdd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/c814a05837f2edb0d1471d6e3f4ab3501ca3899a", - "reference": "c814a05837f2edb0d1471d6e3f4ab3501ca3899a", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/2406855036db1102126125537adb1406f7242fdd", + "reference": "2406855036db1102126125537adb1406f7242fdd", "shasum": "" }, "require": { @@ -5333,11 +5346,11 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.10" + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.11" }, "funding": [ { - "url": "https://phpunit.de/donate.html", + "url": "https://phpunit.de/sponsors.html", "type": "custom" }, { @@ -5345,7 +5358,7 @@ "type": "github" } ], - "time": "2021-09-25T07:38:51+00:00" + "time": "2021-12-25T07:07:57+00:00" }, { "name": "psy/psysh", @@ -6444,16 +6457,16 @@ }, { "name": "symfony/config", - "version": "v5.4.0", + "version": "v5.4.2", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "e39cf688c80fd79ab0a6a2d05a9facac9b2d534b" + "reference": "2e082dae50da563c639119b7b52347a2a3db4ba5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/e39cf688c80fd79ab0a6a2d05a9facac9b2d534b", - "reference": "e39cf688c80fd79ab0a6a2d05a9facac9b2d534b", + "url": "https://api.github.com/repos/symfony/config/zipball/2e082dae50da563c639119b7b52347a2a3db4ba5", + "reference": "2e082dae50da563c639119b7b52347a2a3db4ba5", "shasum": "" }, "require": { @@ -6503,7 +6516,7 @@ "description": "Helps you find, load, combine, autofill and validate configuration values of any kind", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/config/tree/v5.4.0" + "source": "https://github.com/symfony/config/tree/v5.4.2" }, "funding": [ { @@ -6519,20 +6532,20 @@ "type": "tidelift" } ], - "time": "2021-11-28T15:25:38+00:00" + "time": "2021-12-15T11:06:13+00:00" }, { "name": "symfony/dependency-injection", - "version": "v5.4.1", + "version": "v5.4.2", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "9bd1ef389a2fe05fea7306b6155403e8a960d73d" + "reference": "ba94559be9738d77cd29e24b5d81cf3b89b7d628" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/9bd1ef389a2fe05fea7306b6155403e8a960d73d", - "reference": "9bd1ef389a2fe05fea7306b6155403e8a960d73d", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/ba94559be9738d77cd29e24b5d81cf3b89b7d628", + "reference": "ba94559be9738d77cd29e24b5d81cf3b89b7d628", "shasum": "" }, "require": { @@ -6592,7 +6605,7 @@ "description": "Allows you to standardize and centralize the way objects are constructed in your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/dependency-injection/tree/v5.4.1" + "source": "https://github.com/symfony/dependency-injection/tree/v5.4.2" }, "funding": [ { @@ -6608,20 +6621,20 @@ "type": "tidelift" } ], - "time": "2021-12-01T16:25:34+00:00" + "time": "2021-12-29T10:10:35+00:00" }, { "name": "symfony/polyfill-php81", - "version": "v1.23.0", + "version": "v1.24.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php81.git", - "reference": "e66119f3de95efc359483f810c4c3e6436279436" + "reference": "5de4ba2d41b15f9bd0e19b2ab9674135813ec98f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/e66119f3de95efc359483f810c4c3e6436279436", - "reference": "e66119f3de95efc359483f810c4c3e6436279436", + "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/5de4ba2d41b15f9bd0e19b2ab9674135813ec98f", + "reference": "5de4ba2d41b15f9bd0e19b2ab9674135813ec98f", "shasum": "" }, "require": { @@ -6671,7 +6684,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php81/tree/v1.23.0" + "source": "https://github.com/symfony/polyfill-php81/tree/v1.24.0" }, "funding": [ { @@ -6687,7 +6700,7 @@ "type": "tidelift" } ], - "time": "2021-05-21T13:25:03+00:00" + "time": "2021-09-13T13:58:11+00:00" }, { "name": "symfony/stopwatch", @@ -6753,27 +6766,28 @@ }, { "name": "symfony/translation", - "version": "v5.3.11", + "version": "v5.4.2", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "17a965c8f3b1b348cf15d903ac53942984561f8a" + "reference": "ff8bb2107b6a549dc3c5dd9c498dcc82c9c098ca" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/17a965c8f3b1b348cf15d903ac53942984561f8a", - "reference": "17a965c8f3b1b348cf15d903ac53942984561f8a", + "url": "https://api.github.com/repos/symfony/translation/zipball/ff8bb2107b6a549dc3c5dd9c498dcc82c9c098ca", + "reference": "ff8bb2107b6a549dc3c5dd9c498dcc82c9c098ca", "shasum": "" }, "require": { "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1", + "symfony/deprecation-contracts": "^2.1|^3", "symfony/polyfill-mbstring": "~1.0", "symfony/polyfill-php80": "^1.16", "symfony/translation-contracts": "^2.3" }, "conflict": { "symfony/config": "<4.4", + "symfony/console": "<5.3", "symfony/dependency-injection": "<5.0", "symfony/http-kernel": "<5.0", "symfony/twig-bundle": "<5.0", @@ -6784,15 +6798,16 @@ }, "require-dev": { "psr/log": "^1|^2|^3", - "symfony/config": "^4.4|^5.0", - "symfony/console": "^4.4|^5.0", - "symfony/dependency-injection": "^5.0", - "symfony/finder": "^4.4|^5.0", - "symfony/http-kernel": "^5.0", - "symfony/intl": "^4.4|^5.0", + "symfony/config": "^4.4|^5.0|^6.0", + "symfony/console": "^5.4|^6.0", + "symfony/dependency-injection": "^5.0|^6.0", + "symfony/finder": "^4.4|^5.0|^6.0", + "symfony/http-client-contracts": "^1.1|^2.0|^3.0", + "symfony/http-kernel": "^5.0|^6.0", + "symfony/intl": "^4.4|^5.0|^6.0", "symfony/polyfill-intl-icu": "^1.21", - "symfony/service-contracts": "^1.1.2|^2", - "symfony/yaml": "^4.4|^5.0" + "symfony/service-contracts": "^1.1.2|^2|^3", + "symfony/yaml": "^4.4|^5.0|^6.0" }, "suggest": { "psr/log-implementation": "To use logging capability in translator", @@ -6828,7 +6843,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v5.3.11" + "source": "https://github.com/symfony/translation/tree/v5.4.2" }, "funding": [ { @@ -6844,7 +6859,7 @@ "type": "tidelift" } ], - "time": "2021-11-04T16:37:19+00:00" + "time": "2021-12-25T19:45:36+00:00" }, { "name": "symfony/translation-contracts", @@ -6926,16 +6941,16 @@ }, { "name": "symfony/var-dumper", - "version": "v5.4.1", + "version": "v5.4.2", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "2366ac8d8abe0c077844613c1a4f0c0a9f522dcc" + "reference": "1b56c32c3679002b3a42384a580e16e2600f41c1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/2366ac8d8abe0c077844613c1a4f0c0a9f522dcc", - "reference": "2366ac8d8abe0c077844613c1a4f0c0a9f522dcc", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/1b56c32c3679002b3a42384a580e16e2600f41c1", + "reference": "1b56c32c3679002b3a42384a580e16e2600f41c1", "shasum": "" }, "require": { @@ -6995,7 +7010,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v5.4.1" + "source": "https://github.com/symfony/var-dumper/tree/v5.4.2" }, "funding": [ { @@ -7011,7 +7026,7 @@ "type": "tidelift" } ], - "time": "2021-12-01T15:04:08+00:00" + "time": "2021-12-29T10:10:35+00:00" }, { "name": "theseer/tokenizer", @@ -7194,5 +7209,5 @@ "platform-overrides": { "php": "7.4" }, - "plugin-api-version": "2.1.0" + "plugin-api-version": "2.2.0" } diff --git a/scripts/CreateTestSiteArchive.php b/scripts/CreateTestSiteArchive.php index 42f88472e..ddc571775 100644 --- a/scripts/CreateTestSiteArchive.php +++ b/scripts/CreateTestSiteArchive.php @@ -7,17 +7,15 @@ require_once 'tests/config/bootstrap.php'; use Composer\Script\Event; -use Pantheon\Terminus\Tests\Traits\TerminusTestTrait; +use Pantheon\Terminus\Tests\Functional\TerminusTestBase; /** * Class CreateTestSiteArchive. * * @see \Pantheon\Terminus\Tests\Functional\ImportCommandsTest::testImportSiteCommand() */ -class CreateTestSiteArchive +class CreateTestSiteArchive extends TerminusTestBase { - use TerminusTestTrait; - private const SITE_NAME = 'site-archive-d7'; private const TEST_FILE_NAME = 'terminus-functional-test-file-site-archive.txt'; private const SITE_ARCHIVE_FILE_NAME = 'site-archive-d7.tar.gz'; diff --git a/src/Collections/OrganizationOwnedCollection.php b/src/Collections/OrganizationOwnedCollection.php index 01ad5a060..b51d6ae4d 100644 --- a/src/Collections/OrganizationOwnedCollection.php +++ b/src/Collections/OrganizationOwnedCollection.php @@ -28,6 +28,6 @@ public function __construct($options = []) public function getUrl() { // Replace the {organization_id} token with the actual organization id. - return str_replace('{organization_id}', $this->getOrganization()->id, parent::getUrl()); + return str_replace('{organization_id}', $this->getOrganization()->id ?? '', parent::getUrl()); } } diff --git a/src/Collections/SiteOwnedCollection.php b/src/Collections/SiteOwnedCollection.php index 6967e597f..e97d28fff 100644 --- a/src/Collections/SiteOwnedCollection.php +++ b/src/Collections/SiteOwnedCollection.php @@ -34,6 +34,6 @@ public function __construct($options = []) */ public function getUrl() { - return str_replace('{site_id}', $this->getSite()->id, parent::getUrl()); + return str_replace('{site_id}', $this->getSite()->id ?? '', parent::getUrl()); } } diff --git a/src/Collections/UserOwnedCollection.php b/src/Collections/UserOwnedCollection.php index eff7c4ec5..add8a5b51 100644 --- a/src/Collections/UserOwnedCollection.php +++ b/src/Collections/UserOwnedCollection.php @@ -28,6 +28,6 @@ public function __construct($options = []) public function getUrl() { // Replace the {user_id} token with the actual user id. - return str_replace('{user_id}', $this->getUser()->id, parent::getUrl()); + return str_replace('{user_id}', $this->getUser()->id ?? '', parent::getUrl()); } } diff --git a/src/Friends/SiteTrait.php b/src/Friends/SiteTrait.php index 9ec4ab954..1ba63ddd5 100644 --- a/src/Friends/SiteTrait.php +++ b/src/Friends/SiteTrait.php @@ -42,7 +42,7 @@ public function getSite() */ public function getUrl() { - return str_replace('{site_id}', $this->getSite()->id, parent::getUrl()); + return str_replace('{site_id}', $this->getSite()->id ?? '', parent::getUrl()); } /** diff --git a/src/Helpers/LocalMachineHelper.php b/src/Helpers/LocalMachineHelper.php index 23a8250ab..cbe5b6099 100644 --- a/src/Helpers/LocalMachineHelper.php +++ b/src/Helpers/LocalMachineHelper.php @@ -29,7 +29,7 @@ class LocalMachineHelper implements ConfigAwareInterface, ContainerAwareInterfac use ContainerAwareTrait; use IO; use CommandExecutorTrait { - execute as executeUnbuffered; + CommandExecutorTrait::execute as executeUnbuffered; } /** @@ -165,7 +165,7 @@ public function writeFile($filename, $content) protected function fixFilename($filename) { $config = $this->getConfig(); - return $config->fixDirectorySeparators(str_replace('~', $config->get('user_home'), $filename)); + return $config->fixDirectorySeparators(str_replace('~', $config->get('user_home') ?? '', $filename)); } /** diff --git a/src/Models/TerminusModel.php b/src/Models/TerminusModel.php index 9e5f80365..65b31dfaf 100644 --- a/src/Models/TerminusModel.php +++ b/src/Models/TerminusModel.php @@ -106,7 +106,7 @@ public function getReferences() */ public function getUrl() { - return str_replace('{id}', $this->id, $this->url); + return str_replace('{id}', $this->id ?? '', $this->url); } /** diff --git a/src/Plugins/PluginInfo.php b/src/Plugins/PluginInfo.php index 6015def7a..b42cf159c 100644 --- a/src/Plugins/PluginInfo.php +++ b/src/Plugins/PluginInfo.php @@ -151,7 +151,7 @@ public function getLatestVersion() { $command = str_replace( '{package}', - $this->getName(), + $this->getName() ?? '', self::GET_LATEST_AVAILABLE_VERSION ); $results = $this->runCommand($command); @@ -223,7 +223,7 @@ public static function checkWhetherPackagistProject($project_name, LocalMachineH // Search for the Packagist project. $command = str_replace( '{project}', - $project_name, + $project_name ?? '', self::VALIDATION_COMMAND ); $results = $local_machine_helper->exec($command); diff --git a/src/Request/RequestOperationResult.php b/src/Request/RequestOperationResult.php index c1f9a38ab..52ec253b4 100644 --- a/src/Request/RequestOperationResult.php +++ b/src/Request/RequestOperationResult.php @@ -68,6 +68,7 @@ public function setStatusCodeReason(string $status_code_reason): void * @param mixed $offset * @return bool */ + #[\ReturnTypeWillChange] public function offsetExists($offset) { return isset($this->{$offset}); @@ -77,6 +78,7 @@ public function offsetExists($offset) * @param mixed $offset * @return mixed|null */ + #[\ReturnTypeWillChange] public function offsetGet($offset) { return $this->{$offset} ?? null; @@ -86,6 +88,7 @@ public function offsetGet($offset) * @param mixed $offset * @param mixed $value */ + #[\ReturnTypeWillChange] public function offsetSet($offset, $value) { $this->{$offset} = $value; @@ -94,6 +97,7 @@ public function offsetSet($offset, $value) /** * @param mixed $offset */ + #[\ReturnTypeWillChange] public function offsetUnset($offset) { unset($this->{$offset}); diff --git a/tests/Functional/AliasesCommandTest.php b/tests/Functional/AliasesCommandTest.php index d673c791a..1af81ce64 100644 --- a/tests/Functional/AliasesCommandTest.php +++ b/tests/Functional/AliasesCommandTest.php @@ -3,18 +3,14 @@ namespace Pantheon\Terminus\Tests\Functional; use Pantheon\Terminus\Config\DefaultsConfig; -use Pantheon\Terminus\Tests\Traits\TerminusTestTrait; -use PHPUnit\Framework\TestCase; /** * Class AliasesCommandTest * * @package Pantheon\Terminus\Tests\Functional */ -class AliasesCommandTest extends TestCase +class AliasesCommandTest extends TerminusTestBase { - use TerminusTestTrait; - /** * @inheritdoc * diff --git a/tests/Functional/AuthCommandsTest.php b/tests/Functional/AuthCommandsTest.php index ebfec842d..324c1626b 100644 --- a/tests/Functional/AuthCommandsTest.php +++ b/tests/Functional/AuthCommandsTest.php @@ -2,18 +2,13 @@ namespace Pantheon\Terminus\Tests\Functional; -use Pantheon\Terminus\Tests\Traits\TerminusTestTrait; -use PHPUnit\Framework\TestCase; - /** * Class AuthCommandsTest * * @package Pantheon\Terminus\Tests\Functional */ -class AuthCommandsTest extends TestCase +class AuthCommandsTest extends TerminusTestBase { - use TerminusTestTrait; - /** * @test * @covers \Pantheon\Terminus\Commands\Auth\LoginCommand diff --git a/tests/Functional/BackupCommandsTest.php b/tests/Functional/BackupCommandsTest.php index 5c40ab750..05fc607c3 100644 --- a/tests/Functional/BackupCommandsTest.php +++ b/tests/Functional/BackupCommandsTest.php @@ -3,18 +3,14 @@ namespace Pantheon\Terminus\Tests\Functional; use GuzzleHttp\Client; -use Pantheon\Terminus\Tests\Traits\TerminusTestTrait; -use PHPUnit\Framework\TestCase; /** * Class BackupCommandsTest. * * @package Pantheon\Terminus\Tests\Functional */ -class BackupCommandsTest extends TestCase +class BackupCommandsTest extends TerminusTestBase { - use TerminusTestTrait; - /** * @var Client */ diff --git a/tests/Functional/BranchCommandsTest.php b/tests/Functional/BranchCommandsTest.php index 77e849986..92570649d 100644 --- a/tests/Functional/BranchCommandsTest.php +++ b/tests/Functional/BranchCommandsTest.php @@ -2,18 +2,13 @@ namespace Pantheon\Terminus\Tests\Functional; -use Pantheon\Terminus\Tests\Traits\TerminusTestTrait; -use PHPUnit\Framework\TestCase; - /** * Class BranchCommandsTest * * @package Pantheon\Terminus\Tests\Functional */ -class BranchCommandsTest extends TestCase +class BranchCommandsTest extends TerminusTestBase { - use TerminusTestTrait; - /** * @test * @covers \Pantheon\Terminus\Commands\Branch\ListCommand diff --git a/tests/Functional/ConnectionCommandsTest.php b/tests/Functional/ConnectionCommandsTest.php index 86ce72b25..f7df72ea9 100644 --- a/tests/Functional/ConnectionCommandsTest.php +++ b/tests/Functional/ConnectionCommandsTest.php @@ -2,18 +2,13 @@ namespace Pantheon\Terminus\Tests\Functional; -use Pantheon\Terminus\Tests\Traits\TerminusTestTrait; -use PHPUnit\Framework\TestCase; - /** * Class ConnectionCommandsTest. * * @package Pantheon\Terminus\Tests\Functional */ -class ConnectionCommandsTest extends TestCase +class ConnectionCommandsTest extends TerminusTestBase { - use TerminusTestTrait; - /** * @test * @covers \Pantheon\Terminus\Commands\Connection\InfoCommand diff --git a/tests/Functional/DashboardCommandsTest.php b/tests/Functional/DashboardCommandsTest.php index bf711645e..43676a295 100644 --- a/tests/Functional/DashboardCommandsTest.php +++ b/tests/Functional/DashboardCommandsTest.php @@ -2,18 +2,13 @@ namespace Pantheon\Terminus\Tests\Functional; -use Pantheon\Terminus\Tests\Traits\TerminusTestTrait; -use PHPUnit\Framework\TestCase; - /** * Class DashboardCommandsTest. * * @package Pantheon\Terminus\Tests\Functional */ -class DashboardCommandsTest extends TestCase +class DashboardCommandsTest extends TerminusTestBase { - use TerminusTestTrait; - /** * @test * @covers \Pantheon\Terminus\Commands\Dashboard\ViewCommand diff --git a/tests/Functional/DomainCommandsTest.php b/tests/Functional/DomainCommandsTest.php index 6b972aef2..ba41f384b 100644 --- a/tests/Functional/DomainCommandsTest.php +++ b/tests/Functional/DomainCommandsTest.php @@ -2,18 +2,13 @@ namespace Pantheon\Terminus\Tests\Functional; -use Pantheon\Terminus\Tests\Traits\TerminusTestTrait; -use PHPUnit\Framework\TestCase; - /** * Class DomainCommandsTest. * * @package Pantheon\Terminus\Tests\Functional */ -class DomainCommandsTest extends TestCase +class DomainCommandsTest extends TerminusTestBase { - use TerminusTestTrait; - /** * @test * @covers \Pantheon\Terminus\Commands\Domain\AddCommand diff --git a/tests/Functional/EnvCommandsTest.php b/tests/Functional/EnvCommandsTest.php index eb5c74db7..5d688b22c 100644 --- a/tests/Functional/EnvCommandsTest.php +++ b/tests/Functional/EnvCommandsTest.php @@ -2,18 +2,13 @@ namespace Pantheon\Terminus\Tests\Functional; -use Pantheon\Terminus\Tests\Traits\TerminusTestTrait; -use PHPUnit\Framework\TestCase; - /** * Class EnvCommandsTest. * * @package Pantheon\Terminus\Tests\Functional */ -class EnvCommandsTest extends TestCase +class EnvCommandsTest extends TerminusTestBase { - use TerminusTestTrait; - /** * @test * @covers \Pantheon\Terminus\Commands\Env\ClearCacheCommand diff --git a/tests/Functional/HTTPSCommandsTest.php b/tests/Functional/HTTPSCommandsTest.php index c56d7f39b..2c0729583 100644 --- a/tests/Functional/HTTPSCommandsTest.php +++ b/tests/Functional/HTTPSCommandsTest.php @@ -2,18 +2,13 @@ namespace Pantheon\Terminus\Tests\Functional; -use Pantheon\Terminus\Tests\Traits\TerminusTestTrait; -use PHPUnit\Framework\TestCase; - /** * Class HTTPSCommandsTest. * * @package Pantheon\Terminus\Tests\Functional */ -class HTTPSCommandsTest extends TestCase +class HTTPSCommandsTest extends TerminusTestBase { - use TerminusTestTrait; - /** * @test * @covers \Pantheon\Terminus\Commands\HTTPS\InfoCommand diff --git a/tests/Functional/ImportCommandsTest.php b/tests/Functional/ImportCommandsTest.php index c7e272027..f112aa40e 100644 --- a/tests/Functional/ImportCommandsTest.php +++ b/tests/Functional/ImportCommandsTest.php @@ -3,18 +3,14 @@ namespace Pantheon\Terminus\Tests\Functional; use GuzzleHttp\Client; -use Pantheon\Terminus\Tests\Traits\TerminusTestTrait; -use PHPUnit\Framework\TestCase; /** * Class ImportCommandsTest. * * @package Pantheon\Terminus\Tests\Functional */ -class ImportCommandsTest extends TestCase +class ImportCommandsTest extends TerminusTestBase { - use TerminusTestTrait; - /** * @var Client */ diff --git a/tests/Functional/LocalCommandsTest.php b/tests/Functional/LocalCommandsTest.php index 06cd92cca..32fa06605 100644 --- a/tests/Functional/LocalCommandsTest.php +++ b/tests/Functional/LocalCommandsTest.php @@ -2,18 +2,13 @@ namespace Pantheon\Terminus\Tests\Functional; -use Pantheon\Terminus\Tests\Traits\TerminusTestTrait; -use PHPUnit\Framework\TestCase; - /** * Class LocalCommandsTest. * * @package Pantheon\Terminus\Tests\Functional */ -class LocalCommandsTest extends TestCase +class LocalCommandsTest extends TerminusTestBase { - use TerminusTestTrait; - /** * @inheritdoc */ diff --git a/tests/Functional/LockCommandsTest.php b/tests/Functional/LockCommandsTest.php index c07b3a482..b0414d1f4 100644 --- a/tests/Functional/LockCommandsTest.php +++ b/tests/Functional/LockCommandsTest.php @@ -2,18 +2,13 @@ namespace Pantheon\Terminus\Tests\Functional; -use Pantheon\Terminus\Tests\Traits\TerminusTestTrait; -use PHPUnit\Framework\TestCase; - /** * Class LockCommandsTest. * * @package Pantheon\Terminus\Tests\Functional */ -class LockCommandsTest extends TestCase +class LockCommandsTest extends TerminusTestBase { - use TerminusTestTrait; - /** * @test * @covers \Pantheon\Terminus\Commands\Lock\DisableCommand diff --git a/tests/Functional/MultiDevTest.php b/tests/Functional/MultiDevTest.php index 3f57b0d8a..cad60ee81 100644 --- a/tests/Functional/MultiDevTest.php +++ b/tests/Functional/MultiDevTest.php @@ -2,9 +2,6 @@ namespace Pantheon\Terminus\Tests\Functional; -use Pantheon\Terminus\Tests\Traits\TerminusTestTrait; -use PHPUnit\Framework\TestCase; - /** * Class ConnectionCommandsTest. * @@ -15,10 +12,8 @@ * @covers \Pantheon\Terminus\Commands\Multidev\DeleteCommand * Indirectly by deleting a testing runtime multidev env in /tests/config/bootstrap.php */ -class MultiDevTest extends TestCase +class MultiDevTest extends TerminusTestBase { - use TerminusTestTrait; - /** * @test * @covers \Pantheon\Terminus\Commands\Multidev\ListCommand diff --git a/tests/Functional/NewRelicCommandsTest.php b/tests/Functional/NewRelicCommandsTest.php index 9834dda5c..cb77c0a86 100644 --- a/tests/Functional/NewRelicCommandsTest.php +++ b/tests/Functional/NewRelicCommandsTest.php @@ -2,18 +2,13 @@ namespace Pantheon\Terminus\Tests\Functional; -use Pantheon\Terminus\Tests\Traits\TerminusTestTrait; -use PHPUnit\Framework\TestCase; - /** * Class NewRelicCommandsTest. * * @package Pantheon\Terminus\Tests\Functional */ -class NewRelicCommandsTest extends TestCase +class NewRelicCommandsTest extends TerminusTestBase { - use TerminusTestTrait; - /** * @test * @covers \Pantheon\Terminus\Commands\NewRelic\EnableCommand diff --git a/tests/Functional/OrgCommandsTest.php b/tests/Functional/OrgCommandsTest.php index c57b6f495..e61f4457f 100644 --- a/tests/Functional/OrgCommandsTest.php +++ b/tests/Functional/OrgCommandsTest.php @@ -2,13 +2,8 @@ namespace Pantheon\Terminus\Tests\Functional; -use Pantheon\Terminus\Tests\Traits\TerminusTestTrait; -use PHPUnit\Framework\TestCase; - -class OrgCommandsTest extends TestCase +class OrgCommandsTest extends TerminusTestBase { - use TerminusTestTrait; - /** * @test * @covers \Pantheon\Terminus\Commands\Org\ListCommand diff --git a/tests/Functional/OwnerCommandsTest.php b/tests/Functional/OwnerCommandsTest.php index c4d42bd46..ec63d30e1 100644 --- a/tests/Functional/OwnerCommandsTest.php +++ b/tests/Functional/OwnerCommandsTest.php @@ -2,18 +2,13 @@ namespace Pantheon\Terminus\Tests\Functional; -use Pantheon\Terminus\Tests\Traits\TerminusTestTrait; -use PHPUnit\Framework\TestCase; - /** * Class OwnerCommandsTest * * @package Pantheon\Terminus\Tests\Functional */ -class OwnerCommandsTest extends TestCase +class OwnerCommandsTest extends TerminusTestBase { - use TerminusTestTrait; - /** * @test * @covers \Pantheon\Terminus\Commands\Owner\SetCommand diff --git a/tests/Functional/PaymentMethodCommandsTest.php b/tests/Functional/PaymentMethodCommandsTest.php index 428723486..e6e0f634c 100644 --- a/tests/Functional/PaymentMethodCommandsTest.php +++ b/tests/Functional/PaymentMethodCommandsTest.php @@ -2,14 +2,12 @@ namespace Pantheon\Terminus\Tests\Functional; -use PHPUnit\Framework\TestCase; - /** * Class PaymentMethodCommandsTest * * @package Pantheon\Terminus\Tests\Functional */ -class PaymentMethodCommandsTest extends TestCase +class PaymentMethodCommandsTest extends TerminusTestBase { /** * @test diff --git a/tests/Functional/PlanCommandsTest.php b/tests/Functional/PlanCommandsTest.php index 0d4634e37..52e20aa56 100644 --- a/tests/Functional/PlanCommandsTest.php +++ b/tests/Functional/PlanCommandsTest.php @@ -2,18 +2,13 @@ namespace Pantheon\Terminus\Tests\Functional; -use Pantheon\Terminus\Tests\Traits\TerminusTestTrait; -use PHPUnit\Framework\TestCase; - /** * Class PlanCommandsTest. * * @package Pantheon\Terminus\Tests\Functional */ -class PlanCommandsTest extends TestCase +class PlanCommandsTest extends TerminusTestBase { - use TerminusTestTrait; - /** * @test * @covers \Pantheon\Terminus\Commands\Plan\ListCommand diff --git a/tests/Functional/PluginManagerCommandsTest.php b/tests/Functional/PluginManagerCommandsTest.php index 3207e05f3..9fd4d9026 100644 --- a/tests/Functional/PluginManagerCommandsTest.php +++ b/tests/Functional/PluginManagerCommandsTest.php @@ -2,9 +2,6 @@ namespace Pantheon\Terminus\Tests\Functional; -use Pantheon\Terminus\Tests\Traits\TerminusTestTrait; -use Pantheon\Terminus\Tests\Traits\TerminusUtilsTrait; -use PHPUnit\Framework\TestCase; use Symfony\Component\Filesystem\Filesystem; /** @@ -12,11 +9,8 @@ * * @package Pantheon\Terminus\Tests\Functional */ -class PluginManagerCommandsTest extends TestCase +class PluginManagerCommandsTest extends TerminusTestBase { - use TerminusTestTrait; - use TerminusUtilsTrait; - protected const HELLO_COMMAND = 'hello'; protected const TEST_PLUGIN_NAME = 'terminus-plugin-example'; protected const TEST_PLUGIN_NAMES = [ diff --git a/tests/Functional/RedisCommandsTest.php b/tests/Functional/RedisCommandsTest.php index b19192e29..6d31bd615 100644 --- a/tests/Functional/RedisCommandsTest.php +++ b/tests/Functional/RedisCommandsTest.php @@ -2,18 +2,13 @@ namespace Pantheon\Terminus\Tests\Functional; -use Pantheon\Terminus\Tests\Traits\TerminusTestTrait; -use PHPUnit\Framework\TestCase; - /** * Class RedisCommandsTest * * @package Pantheon\Terminus\Tests\Functional */ -class RedisCommandsTest extends TestCase +class RedisCommandsTest extends TerminusTestBase { - use TerminusTestTrait; - /** * @test * @covers \Pantheon\Terminus\Commands\Redis\EnableCommand diff --git a/tests/Functional/RemoteCommandsTest.php b/tests/Functional/RemoteCommandsTest.php index 96dc734eb..e029ba3ba 100644 --- a/tests/Functional/RemoteCommandsTest.php +++ b/tests/Functional/RemoteCommandsTest.php @@ -2,18 +2,13 @@ namespace Pantheon\Terminus\Tests\Functional; -use Pantheon\Terminus\Tests\Traits\TerminusTestTrait; -use PHPUnit\Framework\TestCase; - /** * Class RemoteCommandsTest. * * @package Pantheon\Terminus\Tests\Functional */ -class RemoteCommandsTest extends TestCase +class RemoteCommandsTest extends TerminusTestBase { - use TerminusTestTrait; - /** * @inheritdoc * diff --git a/tests/Functional/SSHKeyCommandsTest.php b/tests/Functional/SSHKeyCommandsTest.php index bf6107417..861efd4c7 100644 --- a/tests/Functional/SSHKeyCommandsTest.php +++ b/tests/Functional/SSHKeyCommandsTest.php @@ -2,18 +2,13 @@ namespace Pantheon\Terminus\Tests\Functional; -use Pantheon\Terminus\Tests\Traits\TerminusTestTrait; -use PHPUnit\Framework\TestCase; - /** * Class SSHKeyCommandsTest. * * @package Pantheon\Terminus\Tests\Functional */ -class SSHKeyCommandsTest extends TestCase +class SSHKeyCommandsTest extends TerminusTestBase { - use TerminusTestTrait; - private const TEST_SSH_KEY_DESCRIPTION = 'DevUser@pantheon.io'; /** diff --git a/tests/Functional/SelfCommandsTest.php b/tests/Functional/SelfCommandsTest.php index 64f1429a9..7a9ac794f 100644 --- a/tests/Functional/SelfCommandsTest.php +++ b/tests/Functional/SelfCommandsTest.php @@ -2,20 +2,13 @@ namespace Pantheon\Terminus\Tests\Functional; -use Pantheon\Terminus\Tests\Traits\TerminusTestTrait; -use Pantheon\Terminus\Tests\Traits\TerminusUtilsTrait; -use PHPUnit\Framework\TestCase; - /** * Class SelfCommandsTest. * * @package Pantheon\Terminus\Tests\Functional */ -class SelfCommandsTest extends TestCase +class SelfCommandsTest extends TerminusTestBase { - use TerminusTestTrait; - use TerminusUtilsTrait; - protected const SELF_UPDATE_COMMAND = 'self:update'; /** diff --git a/tests/Functional/ServiceLevelCommandsTest.php b/tests/Functional/ServiceLevelCommandsTest.php index 1a82fe67c..4f5bcb391 100644 --- a/tests/Functional/ServiceLevelCommandsTest.php +++ b/tests/Functional/ServiceLevelCommandsTest.php @@ -2,18 +2,13 @@ namespace Pantheon\Terminus\Tests\Functional; -use Pantheon\Terminus\Tests\Traits\TerminusTestTrait; -use PHPUnit\Framework\TestCase; - /** * Class ServiceLevelCommandsTest * * @package Pantheon\Terminus\Tests\Functional */ -class ServiceLevelCommandsTest extends TestCase +class ServiceLevelCommandsTest extends TerminusTestBase { - use TerminusTestTrait; - /** * @test * @covers \Pantheon\Terminus\Commands\ServiceLevel\SetCommand diff --git a/tests/Functional/SiteCommandsTest.php b/tests/Functional/SiteCommandsTest.php index 81358b15a..2b0beeaec 100644 --- a/tests/Functional/SiteCommandsTest.php +++ b/tests/Functional/SiteCommandsTest.php @@ -2,18 +2,13 @@ namespace Pantheon\Terminus\Tests\Functional; -use Pantheon\Terminus\Tests\Traits\TerminusTestTrait; -use PHPUnit\Framework\TestCase; - /** * Class SiteCommandsTest. * * @package Pantheon\Terminus\Tests\Functional */ -class SiteCommandsTest extends TestCase +class SiteCommandsTest extends TerminusTestBase { - use TerminusTestTrait; - /** * @var string */ diff --git a/tests/Functional/SolrCommandsTest.php b/tests/Functional/SolrCommandsTest.php index 4b5329fd4..144d039ef 100644 --- a/tests/Functional/SolrCommandsTest.php +++ b/tests/Functional/SolrCommandsTest.php @@ -2,18 +2,13 @@ namespace Pantheon\Terminus\Tests\Functional; -use Pantheon\Terminus\Tests\Traits\TerminusTestTrait; -use PHPUnit\Framework\TestCase; - /** * Class SolrCommandsTest. * * @package Pantheon\Terminus\Tests\Functional */ -class SolrCommandsTest extends TestCase +class SolrCommandsTest extends TerminusTestBase { - use TerminusTestTrait; - /** * @test * @covers \Pantheon\Terminus\Commands\Solr\EnableCommand diff --git a/tests/Functional/TagCommandsTest.php b/tests/Functional/TagCommandsTest.php index b8832db59..629504057 100644 --- a/tests/Functional/TagCommandsTest.php +++ b/tests/Functional/TagCommandsTest.php @@ -2,18 +2,13 @@ namespace Pantheon\Terminus\Tests\Functional; -use Pantheon\Terminus\Tests\Traits\TerminusTestTrait; -use PHPUnit\Framework\TestCase; - /** * Class TagCommandsTest * * @package Pantheon\Terminus\Tests\Functional */ -class TagCommandsTest extends TestCase +class TagCommandsTest extends TerminusTestBase { - use TerminusTestTrait; - /** * @test * @covers \Pantheon\Terminus\Commands\Tag\AddCommand diff --git a/tests/Traits/TerminusTestTrait.php b/tests/Functional/TerminusTestBase.php similarity index 92% rename from tests/Traits/TerminusTestTrait.php rename to tests/Functional/TerminusTestBase.php index fb665e4d7..7d850e49c 100644 --- a/tests/Traits/TerminusTestTrait.php +++ b/tests/Functional/TerminusTestBase.php @@ -1,15 +1,17 @@ terminus('list'); + $this->assertStringContainsString($commandName, $commandList); + } + + /** + * Asserts the command does not exist. + * + * @param string $commandName + * The command name to assert. + */ + protected function assertCommandDoesNotExist(string $commandName) + { + $commandList = $this->terminus('list'); + $this->assertStringNotContainsString($commandName, $commandList); + } } diff --git a/tests/Functional/UpstreamCommandsTest.php b/tests/Functional/UpstreamCommandsTest.php index bbc6e798f..67af25d34 100644 --- a/tests/Functional/UpstreamCommandsTest.php +++ b/tests/Functional/UpstreamCommandsTest.php @@ -2,18 +2,13 @@ namespace Pantheon\Terminus\Tests\Functional; -use Pantheon\Terminus\Tests\Traits\TerminusTestTrait; -use PHPUnit\Framework\TestCase; - /** * Class UpstreamCommandsTest. * * @package Pantheon\Terminus\Tests\Functional */ -class UpstreamCommandsTest extends TestCase +class UpstreamCommandsTest extends TerminusTestBase { - use TerminusTestTrait; - /** * Test UpstreamListCommand * diff --git a/tests/Functional/WorkflowCommandsTest.php b/tests/Functional/WorkflowCommandsTest.php index ec58d0317..1fe8dd500 100644 --- a/tests/Functional/WorkflowCommandsTest.php +++ b/tests/Functional/WorkflowCommandsTest.php @@ -2,18 +2,13 @@ namespace Pantheon\Terminus\Tests\Functional; -use Pantheon\Terminus\Tests\Traits\TerminusTestTrait; -use PHPUnit\Framework\TestCase; - /** * Class WorkflowCommandsTest. * * @package Pantheon\Terminus\Tests\Functional */ -class WorkflowCommandsTest extends TestCase +class WorkflowCommandsTest extends TerminusTestBase { - use TerminusTestTrait; - /** * @test * @covers \Pantheon\Terminus\Commands\Workflow\ListCommand diff --git a/tests/Traits/TerminusUtilsTrait.php b/tests/Traits/TerminusUtilsTrait.php deleted file mode 100644 index ea7c7c616..000000000 --- a/tests/Traits/TerminusUtilsTrait.php +++ /dev/null @@ -1,35 +0,0 @@ -terminus('list'); - $this->assertStringContainsString($commandName, $commandList); - } - - /** - * Asserts the command does not exist. - * - * @param string $commandName - * The command name to assert. - */ - protected function assertCommandDoesNotExist(string $commandName) - { - $commandList = $this->terminus('list'); - $this->assertStringNotContainsString($commandName, $commandList); - } -} diff --git a/tests/config/bootstrap.php b/tests/config/bootstrap.php index c8199762f..ec15c6a39 100644 --- a/tests/config/bootstrap.php +++ b/tests/config/bootstrap.php @@ -4,7 +4,7 @@ * Bootstrap file for functional tests. */ -use Pantheon\Terminus\Tests\Traits\TerminusTestTrait; +use Pantheon\Terminus\Tests\Functional\TerminusTestBase; $tokens_dir = implode(DIRECTORY_SEPARATOR, [$_SERVER['HOME'], '.terminus', 'cache' , 'tokens']); if (!is_dir($tokens_dir)) { @@ -63,7 +63,8 @@ if (!getenv('TERMINUS_TESTING_RUNTIME_ENV')) { // Create a testing runtime multidev environment. - $sitename = TerminusTestTrait::getSiteName(); + $sitename = TerminusTestBase::getSiteName(); + $multidev = sprintf('test-%s', substr(uniqid(), -6, 6)); $createMdCommand = sprintf('multidev:create %s.dev %s', $sitename, $multidev); exec( @@ -76,7 +77,7 @@ throw new Exception(sprintf('Command "%s" exited with non-zero code (%d)', $createMdCommand, $code)); } - TerminusTestTrait::setMdEnv($multidev); + TerminusTestBase::setMdEnv($multidev); register_shutdown_function(function () use ($sitename, $multidev) { // Delete a testing runtime multidev environment.