diff --git a/composer.json b/composer.json index f0ba693b0..53c3ffda3 100644 --- a/composer.json +++ b/composer.json @@ -30,7 +30,7 @@ "maennchen/zipstream-php": "^3.1", "monero-integrations/monerophp": "dev-master#25d4c5838b35cbf1fb55170b831e895681a7410a", "orpheusnet/bencode-torrent": "^1.3.0", - "orpheusnet/logchecker": "^0.13.0", + "orpheusnet/logchecker": "^0.14.0", "protonlabs/bitcoin": "^1.0", "robmorgan/phinx": "^0.12.13", "robthree/twofactorauth": "^1.8.2", diff --git a/composer.lock b/composer.lock index d9d966bae..e74c88d0f 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "101a0f0b3cb9e61396e271f4cf7581cf", + "content-hash": "32ec401af29b09dd5db0fdfa75ca9fe3", "packages": [ { "name": "bacon/bacon-qr-code", @@ -1032,30 +1032,29 @@ }, { "name": "orpheusnet/logchecker", - "version": "0.13.0", + "version": "0.14.0", "source": { "type": "git", "url": "https://github.com/OPSnet/Logchecker.git", - "reference": "4d910a29a8919485abbfea5fd45f811b073496ff" + "reference": "7408bcced6417e0149243a481c072272b968d280" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/OPSnet/Logchecker/zipball/4d910a29a8919485abbfea5fd45f811b073496ff", - "reference": "4d910a29a8919485abbfea5fd45f811b073496ff", + "url": "https://api.github.com/repos/OPSnet/Logchecker/zipball/7408bcced6417e0149243a481c072272b968d280", + "reference": "7408bcced6417e0149243a481c072272b968d280", "shasum": "" }, "require": { "ext-mbstring": "*", - "php": "^8.0", - "symfony/console": "^3.4 | ^4.0 | ^5.0", - "symfony/process": "^3.4 | ^4.0 | ^5.0", - "symfony/yaml": "^3.4 | ^4.0 | ^5.0" + "php": "^8.1", + "symfony/console": "^6.0|^7.0", + "symfony/process": "^6.0|^7.0", + "symfony/yaml": "^6.0|^7.0" }, "require-dev": { - "brainmaestro/composer-git-hooks": "^2.8", "phpstan/phpstan": "^1.10", - "phpunit/phpunit": "^9.6", - "squizlabs/php_codesniffer": "^3.8.0" + "phpunit/phpunit": "^10.5", + "squizlabs/php_codesniffer": "^3.8" }, "bin": [ "bin/logchecker" @@ -1087,9 +1086,9 @@ "description": "Logchecker for validating logs generated from supported ripping programs (like EAC and XLD)", "support": { "issues": "https://github.com/OPSnet/Logchecker/issues", - "source": "https://github.com/OPSnet/Logchecker/tree/0.13.0" + "source": "https://github.com/OPSnet/Logchecker/tree/0.14.0" }, - "time": "2023-12-31T23:44:43+00:00" + "time": "2024-02-01T16:40:44+00:00" }, { "name": "pleonasm/merkle-tree", @@ -1692,16 +1691,16 @@ }, { "name": "symfony/config", - "version": "v6.4.8", + "version": "v6.4.14", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "12e7e52515ce37191b193cf3365903c4f3951e35" + "reference": "4e55e7e4ffddd343671ea972216d4509f46c22ef" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/12e7e52515ce37191b193cf3365903c4f3951e35", - "reference": "12e7e52515ce37191b193cf3365903c4f3951e35", + "url": "https://api.github.com/repos/symfony/config/zipball/4e55e7e4ffddd343671ea972216d4509f46c22ef", + "reference": "4e55e7e4ffddd343671ea972216d4509f46c22ef", "shasum": "" }, "require": { @@ -1747,7 +1746,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/v6.4.8" + "source": "https://github.com/symfony/config/tree/v6.4.14" }, "funding": [ { @@ -1763,56 +1762,51 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:49:08+00:00" + "time": "2024-11-04T11:33:53+00:00" }, { "name": "symfony/console", - "version": "v5.4.44", + "version": "v6.4.14", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "5b5a0aa66e3296e303e22490f90f521551835a83" + "reference": "897c2441ed4eec8a8a2c37b943427d24dba3f26b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/5b5a0aa66e3296e303e22490f90f521551835a83", - "reference": "5b5a0aa66e3296e303e22490f90f521551835a83", + "url": "https://api.github.com/repos/symfony/console/zipball/897c2441ed4eec8a8a2c37b943427d24dba3f26b", + "reference": "897c2441ed4eec8a8a2c37b943427d24dba3f26b", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php73": "^1.9", - "symfony/polyfill-php80": "^1.16", - "symfony/service-contracts": "^1.1|^2|^3", - "symfony/string": "^5.1|^6.0" + "symfony/service-contracts": "^2.5|^3", + "symfony/string": "^5.4|^6.0|^7.0" }, "conflict": { - "psr/log": ">=3", - "symfony/dependency-injection": "<4.4", - "symfony/dotenv": "<5.1", - "symfony/event-dispatcher": "<4.4", - "symfony/lock": "<4.4", - "symfony/process": "<4.4" + "symfony/dependency-injection": "<5.4", + "symfony/dotenv": "<5.4", + "symfony/event-dispatcher": "<5.4", + "symfony/lock": "<5.4", + "symfony/process": "<5.4" }, "provide": { - "psr/log-implementation": "1.0|2.0" + "psr/log-implementation": "1.0|2.0|3.0" }, "require-dev": { - "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", - "symfony/event-dispatcher": "", - "symfony/lock": "", - "symfony/process": "" + "psr/log": "^1|^2|^3", + "symfony/config": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/event-dispatcher": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^6.4|^7.0", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/lock": "^5.4|^6.0|^7.0", + "symfony/messenger": "^5.4|^6.0|^7.0", + "symfony/process": "^5.4|^6.0|^7.0", + "symfony/stopwatch": "^5.4|^6.0|^7.0", + "symfony/var-dumper": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { @@ -1846,7 +1840,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v5.4.44" + "source": "https://github.com/symfony/console/tree/v6.4.14" }, "funding": [ { @@ -1862,7 +1856,7 @@ "type": "tidelift" } ], - "time": "2024-09-20T07:56:40+00:00" + "time": "2024-11-05T15:34:40+00:00" }, { "name": "symfony/deprecation-contracts", @@ -1933,16 +1927,16 @@ }, { "name": "symfony/filesystem", - "version": "v7.1.5", + "version": "v7.1.6", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "61fe0566189bf32e8cfee78335d8776f64a66f5a" + "reference": "c835867b3c62bb05c7fe3d637c871c7ae52024d4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/61fe0566189bf32e8cfee78335d8776f64a66f5a", - "reference": "61fe0566189bf32e8cfee78335d8776f64a66f5a", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/c835867b3c62bb05c7fe3d637c871c7ae52024d4", + "reference": "c835867b3c62bb05c7fe3d637c871c7ae52024d4", "shasum": "" }, "require": { @@ -1979,7 +1973,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v7.1.5" + "source": "https://github.com/symfony/filesystem/tree/v7.1.6" }, "funding": [ { @@ -1995,7 +1989,7 @@ "type": "tidelift" } ], - "time": "2024-09-17T09:16:35+00:00" + "time": "2024-10-25T15:11:02+00:00" }, { "name": "symfony/polyfill-ctype", @@ -2315,162 +2309,6 @@ ], "time": "2024-09-09T11:45:10+00:00" }, - { - "name": "symfony/polyfill-php73", - "version": "v1.31.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "0f68c03565dcaaf25a890667542e8bd75fe7e5bb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/0f68c03565dcaaf25a890667542e8bd75fe7e5bb", - "reference": "0f68c03565dcaaf25a890667542e8bd75fe7e5bb", - "shasum": "" - }, - "require": { - "php": ">=7.2" - }, - "type": "library", - "extra": { - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php73\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php73/tree/v1.31.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-09-09T11:45:10+00:00" - }, - { - "name": "symfony/polyfill-php80", - "version": "v1.31.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/60328e362d4c2c802a54fcbf04f9d3fb892b4cf8", - "reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8", - "shasum": "" - }, - "require": { - "php": ">=7.2" - }, - "type": "library", - "extra": { - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php80\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ion Bazan", - "email": "ion.bazan@gmail.com" - }, - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.31.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-09-09T11:45:10+00:00" - }, { "name": "symfony/polyfill-php81", "version": "v1.31.0", @@ -2549,21 +2387,20 @@ }, { "name": "symfony/process", - "version": "v5.4.44", + "version": "v7.1.7", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "1b9fa82b5c62cd49da8c9e3952dd8531ada65096" + "reference": "9b8a40b7289767aa7117e957573c2a535efe6585" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/1b9fa82b5c62cd49da8c9e3952dd8531ada65096", - "reference": "1b9fa82b5c62cd49da8c9e3952dd8531ada65096", + "url": "https://api.github.com/repos/symfony/process/zipball/9b8a40b7289767aa7117e957573c2a535efe6585", + "reference": "9b8a40b7289767aa7117e957573c2a535efe6585", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/polyfill-php80": "^1.16" + "php": ">=8.2" }, "type": "library", "autoload": { @@ -2591,7 +2428,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v5.4.44" + "source": "https://github.com/symfony/process/tree/v7.1.7" }, "funding": [ { @@ -2607,7 +2444,7 @@ "type": "tidelift" } ], - "time": "2024-09-17T12:46:43+00:00" + "time": "2024-11-06T09:25:12+00:00" }, { "name": "symfony/service-contracts", @@ -2694,20 +2531,20 @@ }, { "name": "symfony/string", - "version": "v6.4.12", + "version": "v7.1.6", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "f8a1ccebd0997e16112dfecfd74220b78e5b284b" + "reference": "61b72d66bf96c360a727ae6232df5ac83c71f626" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/f8a1ccebd0997e16112dfecfd74220b78e5b284b", - "reference": "f8a1ccebd0997e16112dfecfd74220b78e5b284b", + "url": "https://api.github.com/repos/symfony/string/zipball/61b72d66bf96c360a727ae6232df5ac83c71f626", + "reference": "61b72d66bf96c360a727ae6232df5ac83c71f626", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/polyfill-ctype": "~1.8", "symfony/polyfill-intl-grapheme": "~1.0", "symfony/polyfill-intl-normalizer": "~1.0", @@ -2717,11 +2554,12 @@ "symfony/translation-contracts": "<2.5" }, "require-dev": { - "symfony/error-handler": "^5.4|^6.0|^7.0", - "symfony/http-client": "^5.4|^6.0|^7.0", - "symfony/intl": "^6.2|^7.0", + "symfony/emoji": "^7.1", + "symfony/error-handler": "^6.4|^7.0", + "symfony/http-client": "^6.4|^7.0", + "symfony/intl": "^6.4|^7.0", "symfony/translation-contracts": "^2.5|^3.0", - "symfony/var-exporter": "^5.4|^6.0|^7.0" + "symfony/var-exporter": "^6.4|^7.0" }, "type": "library", "autoload": { @@ -2760,7 +2598,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v6.4.12" + "source": "https://github.com/symfony/string/tree/v7.1.6" }, "funding": [ { @@ -2776,35 +2614,31 @@ "type": "tidelift" } ], - "time": "2024-09-20T08:15:52+00:00" + "time": "2024-09-25T14:20:29+00:00" }, { "name": "symfony/yaml", - "version": "v5.4.44", + "version": "v7.1.6", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "7025b964f123bbf1896d7563db6ec7f1f63e918a" + "reference": "3ced3f29e4f0d6bce2170ff26719f1fe9aacc671" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/7025b964f123bbf1896d7563db6ec7f1f63e918a", - "reference": "7025b964f123bbf1896d7563db6ec7f1f63e918a", + "url": "https://api.github.com/repos/symfony/yaml/zipball/3ced3f29e4f0d6bce2170ff26719f1fe9aacc671", + "reference": "3ced3f29e4f0d6bce2170ff26719f1fe9aacc671", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", + "php": ">=8.2", "symfony/polyfill-ctype": "^1.8" }, "conflict": { - "symfony/console": "<5.3" + "symfony/console": "<6.4" }, "require-dev": { - "symfony/console": "^5.3|^6.0" - }, - "suggest": { - "symfony/console": "For validating YAML files using the lint command" + "symfony/console": "^6.4|^7.0" }, "bin": [ "Resources/bin/yaml-lint" @@ -2835,7 +2669,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v5.4.44" + "source": "https://github.com/symfony/yaml/tree/v7.1.6" }, "funding": [ { @@ -2851,20 +2685,20 @@ "type": "tidelift" } ], - "time": "2024-09-16T14:36:56+00:00" + "time": "2024-09-25T14:20:29+00:00" }, { "name": "twig/twig", - "version": "v3.14.0", + "version": "v3.14.2", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "126b2c97818dbff0cdf3fbfc881aedb3d40aae72" + "reference": "0b6f9d8370bb3b7f1ce5313ed8feb0fafd6e399a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/126b2c97818dbff0cdf3fbfc881aedb3d40aae72", - "reference": "126b2c97818dbff0cdf3fbfc881aedb3d40aae72", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/0b6f9d8370bb3b7f1ce5313ed8feb0fafd6e399a", + "reference": "0b6f9d8370bb3b7f1ce5313ed8feb0fafd6e399a", "shasum": "" }, "require": { @@ -2918,7 +2752,7 @@ ], "support": { "issues": "https://github.com/twigphp/Twig/issues", - "source": "https://github.com/twigphp/Twig/tree/v3.14.0" + "source": "https://github.com/twigphp/Twig/tree/v3.14.2" }, "funding": [ { @@ -2930,7 +2764,7 @@ "type": "tidelift" } ], - "time": "2024-09-09T17:55:12+00:00" + "time": "2024-11-07T12:36:22+00:00" }, { "name": "whichbrowser/parser", @@ -3144,16 +2978,16 @@ }, { "name": "myclabs/deep-copy", - "version": "1.12.0", + "version": "1.12.1", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c" + "reference": "123267b2c49fbf30d78a7b2d333f6be754b94845" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c", - "reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/123267b2c49fbf30d78a7b2d333f6be754b94845", + "reference": "123267b2c49fbf30d78a7b2d333f6be754b94845", "shasum": "" }, "require": { @@ -3192,7 +3026,7 @@ ], "support": { "issues": "https://github.com/myclabs/DeepCopy/issues", - "source": "https://github.com/myclabs/DeepCopy/tree/1.12.0" + "source": "https://github.com/myclabs/DeepCopy/tree/1.12.1" }, "funding": [ { @@ -3200,7 +3034,7 @@ "type": "tidelift" } ], - "time": "2024-06-12T14:39:25+00:00" + "time": "2024-11-08T17:47:46+00:00" }, { "name": "nikic/php-parser", @@ -3526,16 +3360,16 @@ }, { "name": "phpstan/phpstan", - "version": "1.12.6", + "version": "1.12.10", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "dc4d2f145a88ea7141ae698effd64d9df46527ae" + "reference": "fc463b5d0fe906dcf19689be692c65c50406a071" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/dc4d2f145a88ea7141ae698effd64d9df46527ae", - "reference": "dc4d2f145a88ea7141ae698effd64d9df46527ae", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/fc463b5d0fe906dcf19689be692c65c50406a071", + "reference": "fc463b5d0fe906dcf19689be692c65c50406a071", "shasum": "" }, "require": { @@ -3580,7 +3414,7 @@ "type": "github" } ], - "time": "2024-10-06T15:03:59+00:00" + "time": "2024-11-11T15:37:09+00:00" }, { "name": "phpunit/php-code-coverage", @@ -3969,16 +3803,16 @@ }, { "name": "phpunit/phpunit", - "version": "11.4.1", + "version": "11.4.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "7875627f15f4da7e7f0823d1f323f7295a77334e" + "reference": "e8e8ed1854de5d36c088ec1833beae40d2dedd76" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/7875627f15f4da7e7f0823d1f323f7295a77334e", - "reference": "7875627f15f4da7e7f0823d1f323f7295a77334e", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/e8e8ed1854de5d36c088ec1833beae40d2dedd76", + "reference": "e8e8ed1854de5d36c088ec1833beae40d2dedd76", "shasum": "" }, "require": { @@ -3992,21 +3826,21 @@ "phar-io/manifest": "^2.0.4", "phar-io/version": "^3.2.1", "php": ">=8.2", - "phpunit/php-code-coverage": "^11.0.6", + "phpunit/php-code-coverage": "^11.0.7", "phpunit/php-file-iterator": "^5.1.0", "phpunit/php-invoker": "^5.0.1", "phpunit/php-text-template": "^4.0.1", "phpunit/php-timer": "^7.0.1", "sebastian/cli-parser": "^3.0.2", "sebastian/code-unit": "^3.0.1", - "sebastian/comparator": "^6.1.0", + "sebastian/comparator": "^6.1.1", "sebastian/diff": "^6.0.2", "sebastian/environment": "^7.2.0", "sebastian/exporter": "^6.1.3", "sebastian/global-state": "^7.0.2", "sebastian/object-enumerator": "^6.0.1", "sebastian/type": "^5.1.0", - "sebastian/version": "^5.0.1" + "sebastian/version": "^5.0.2" }, "suggest": { "ext-soap": "To be able to generate mocks based on WSDL files" @@ -4049,7 +3883,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/11.4.1" + "source": "https://github.com/sebastianbergmann/phpunit/tree/11.4.3" }, "funding": [ { @@ -4065,20 +3899,20 @@ "type": "tidelift" } ], - "time": "2024-10-08T15:38:37+00:00" + "time": "2024-10-28T13:07:50+00:00" }, { "name": "rector/rector", - "version": "1.2.7", + "version": "1.2.10", "source": { "type": "git", "url": "https://github.com/rectorphp/rector.git", - "reference": "5b33bdd871895276e2c18e5410a4a57df9233ee0" + "reference": "40f9cf38c05296bd32f444121336a521a293fa61" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/rectorphp/rector/zipball/5b33bdd871895276e2c18e5410a4a57df9233ee0", - "reference": "5b33bdd871895276e2c18e5410a4a57df9233ee0", + "url": "https://api.github.com/repos/rectorphp/rector/zipball/40f9cf38c05296bd32f444121336a521a293fa61", + "reference": "40f9cf38c05296bd32f444121336a521a293fa61", "shasum": "" }, "require": { @@ -4116,7 +3950,7 @@ ], "support": { "issues": "https://github.com/rectorphp/rector/issues", - "source": "https://github.com/rectorphp/rector/tree/1.2.7" + "source": "https://github.com/rectorphp/rector/tree/1.2.10" }, "funding": [ { @@ -4124,7 +3958,7 @@ "type": "github" } ], - "time": "2024-10-12T11:12:46+00:00" + "time": "2024-11-08T13:59:10+00:00" }, { "name": "sebastian/cli-parser", @@ -4298,16 +4132,16 @@ }, { "name": "sebastian/comparator", - "version": "6.1.0", + "version": "6.2.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "fa37b9e2ca618cb051d71b60120952ee8ca8b03d" + "reference": "43d129d6a0f81c78bee378b46688293eb7ea3739" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/fa37b9e2ca618cb051d71b60120952ee8ca8b03d", - "reference": "fa37b9e2ca618cb051d71b60120952ee8ca8b03d", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/43d129d6a0f81c78bee378b46688293eb7ea3739", + "reference": "43d129d6a0f81c78bee378b46688293eb7ea3739", "shasum": "" }, "require": { @@ -4318,12 +4152,12 @@ "sebastian/exporter": "^6.0" }, "require-dev": { - "phpunit/phpunit": "^11.3" + "phpunit/phpunit": "^11.4" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "6.1-dev" + "dev-main": "6.2-dev" } }, "autoload": { @@ -4363,7 +4197,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/comparator/issues", "security": "https://github.com/sebastianbergmann/comparator/security/policy", - "source": "https://github.com/sebastianbergmann/comparator/tree/6.1.0" + "source": "https://github.com/sebastianbergmann/comparator/tree/6.2.1" }, "funding": [ { @@ -4371,7 +4205,7 @@ "type": "github" } ], - "time": "2024-09-11T15:42:56+00:00" + "time": "2024-10-31T05:30:08+00:00" }, { "name": "sebastian/complexity", @@ -5131,40 +4965,39 @@ }, { "name": "symfony/dependency-injection", - "version": "v6.4.12", + "version": "v7.1.6", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "cfb9d34a1cdd4911bc737a5358fd1cf8ebfb536e" + "reference": "1f12f9d580ef8dd09e3b756aa111cc2d5f311bfd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/cfb9d34a1cdd4911bc737a5358fd1cf8ebfb536e", - "reference": "cfb9d34a1cdd4911bc737a5358fd1cf8ebfb536e", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/1f12f9d580ef8dd09e3b756aa111cc2d5f311bfd", + "reference": "1f12f9d580ef8dd09e3b756aa111cc2d5f311bfd", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "psr/container": "^1.1|^2.0", "symfony/deprecation-contracts": "^2.5|^3", - "symfony/service-contracts": "^2.5|^3.0", - "symfony/var-exporter": "^6.2.10|^7.0" + "symfony/service-contracts": "^3.5", + "symfony/var-exporter": "^6.4|^7.0" }, "conflict": { "ext-psr": "<1.1|>=2", - "symfony/config": "<6.1", - "symfony/finder": "<5.4", - "symfony/proxy-manager-bridge": "<6.3", - "symfony/yaml": "<5.4" + "symfony/config": "<6.4", + "symfony/finder": "<6.4", + "symfony/yaml": "<6.4" }, "provide": { "psr/container-implementation": "1.1|2.0", "symfony/service-implementation": "1.1|2.0|3.0" }, "require-dev": { - "symfony/config": "^6.1|^7.0", - "symfony/expression-language": "^5.4|^6.0|^7.0", - "symfony/yaml": "^5.4|^6.0|^7.0" + "symfony/config": "^6.4|^7.0", + "symfony/expression-language": "^6.4|^7.0", + "symfony/yaml": "^6.4|^7.0" }, "type": "library", "autoload": { @@ -5192,7 +5025,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/v6.4.12" + "source": "https://github.com/symfony/dependency-injection/tree/v7.1.6" }, "funding": [ { @@ -5208,20 +5041,20 @@ "type": "tidelift" } ], - "time": "2024-09-20T08:18:25+00:00" + "time": "2024-10-25T15:11:02+00:00" }, { "name": "symfony/var-exporter", - "version": "v7.1.2", + "version": "v7.1.6", "source": { "type": "git", "url": "https://github.com/symfony/var-exporter.git", - "reference": "b80a669a2264609f07f1667f891dbfca25eba44c" + "reference": "90173ef89c40e7c8c616653241048705f84130ef" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-exporter/zipball/b80a669a2264609f07f1667f891dbfca25eba44c", - "reference": "b80a669a2264609f07f1667f891dbfca25eba44c", + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/90173ef89c40e7c8c616653241048705f84130ef", + "reference": "90173ef89c40e7c8c616653241048705f84130ef", "shasum": "" }, "require": { @@ -5268,7 +5101,7 @@ "serialize" ], "support": { - "source": "https://github.com/symfony/var-exporter/tree/v7.1.2" + "source": "https://github.com/symfony/var-exporter/tree/v7.1.6" }, "funding": [ { @@ -5284,7 +5117,7 @@ "type": "tidelift" } ], - "time": "2024-06-28T08:00:31+00:00" + "time": "2024-09-25T14:20:29+00:00" }, { "name": "theseer/tokenizer", @@ -5354,5 +5187,5 @@ "ext-openssl": "*" }, "platform-dev": [], - "plugin-api-version": "2.6.0" + "plugin-api-version": "2.2.0" } diff --git a/tests/cypress/e2e/1-simple/upload.cy.js b/tests/cypress/e2e/1-simple/upload.cy.js index 161b5537c..2d0fd63c2 100644 --- a/tests/cypress/e2e/1-simple/upload.cy.js +++ b/tests/cypress/e2e/1-simple/upload.cy.js @@ -1,3 +1,5 @@ +/* global Cypress, beforeEach, cy, describe, expect, it */ + describe('uploading torrent', () => { beforeEach(() => { cy.loginUser(); @@ -6,7 +8,7 @@ describe('uploading torrent', () => { it('upload music torrent', () => { cy.visit('/upload.php'); cy.ensureFooter(); - cy.get('#file').selectFile('tests/cypress/files/valid_torrent.torrent') + cy.get('#file').selectFile('tests/fixture/valid_torrent.torrent') cy.get("#categories").select('Music'); cy.get("#releasetype").select('Album'); cy.get("#image").type('https://coolimagehost.example.com/a/b/c/image.jpg'); @@ -25,7 +27,7 @@ describe('uploading torrent', () => { cy.get('#media').select('CD'); cy.get('#format').select('FLAC'); cy.get('#bitrate').select('Lossless'); - cy.get('#logfile_1').selectFile('tests/cypress/files/valid_log_eac.log') + cy.get('#logfile_1').selectFile('tests/fixture/valid_log_eac.log') cy.get('#tags').type('test, rock, some.stuff'); cy.get('#album_desc').type('test album description with some text to not make upload.php sad'); cy.get('#release_desc').type('test release description'); @@ -45,7 +47,7 @@ describe('uploading torrent', () => { it('upload torrent to existing group', () => { cy.visit('/upload.php'); cy.ensureFooter(); - cy.get('#file').selectFile('tests/cypress/files/valid_torrent_2.torrent') + cy.get('#file').selectFile('tests/fixture/valid_torrent_2.torrent') cy.get("#categories").select('Music'); cy.get("#releasetype").select('Album'); cy.get('#artistfields a[href="#"]:first').click(); @@ -119,7 +121,7 @@ describe('uploading torrent', () => { cy.contains('Log (100%)').should('not.exist'); cy.visit(`/torrents.php?action=edit&id=${torrent_id}`); cy.ensureFooter(); - cy.get('#logfile_1').selectFile('tests/cypress/files/valid_log_eac.log'); + cy.get('#logfile_1').selectFile('tests/fixture/valid_log_eac.log'); cy.get('input[value="Edit torrent"]').click(); // verify @@ -162,7 +164,7 @@ describe('uploading torrent', () => { // upload log cy.get('.box2 > .pad > strong').invoke('text').then((api_key) => { - cy.fixture('../files/valid_log_eac.log', 'binary').then( (log_bin) => { + cy.fixture('../../fixture/valid_log_eac.log', 'binary').then( (log_bin) => { // File in binary format gets converted to blob so it can be sent as Form data const blob = Cypress.Blob.binaryStringToBlob(log_bin, 'application/octet-stream'); const formData = new FormData(); @@ -182,7 +184,7 @@ describe('uploading torrent', () => { try { body = JSON.parse(body); } catch (e) { - cy.logCli("bad response body: " + body); + cy.logCli("bad response body: " + body + ' exception:' + e); } expect(body).to.have.property('status', 'success'); }); diff --git a/tests/cypress/files/valid_log_eac.log b/tests/fixture/valid_log_eac.log similarity index 100% rename from tests/cypress/files/valid_log_eac.log rename to tests/fixture/valid_log_eac.log diff --git a/tests/cypress/files/valid_torrent.torrent b/tests/fixture/valid_torrent.torrent similarity index 100% rename from tests/cypress/files/valid_torrent.torrent rename to tests/fixture/valid_torrent.torrent diff --git a/tests/cypress/files/valid_torrent_2.torrent b/tests/fixture/valid_torrent_2.torrent similarity index 100% rename from tests/cypress/files/valid_torrent_2.torrent rename to tests/fixture/valid_torrent_2.torrent diff --git a/tests/phpunit/LogcheckerTest.php b/tests/phpunit/LogcheckerTest.php new file mode 100644 index 000000000..914dce14a --- /dev/null +++ b/tests/phpunit/LogcheckerTest.php @@ -0,0 +1,109 @@ +tgroup)) { + \GazelleUnitTest\Helper::removeTGroup($this->tgroup, $this->user); + } + if (isset($this->user)) { + $this->user->remove(); + } + } + + public function testLogchecker(): void { + $this->user = \GazelleUnitTest\Helper::makeUser('logchecker.' . randomString(6), 'logcheck'); + $this->tgroup = \GazelleUnitTest\Helper::makeTGroupMusic( + $this->user, + 'phpunit logchecker ' . randomString(6), + [[ARTIST_MAIN], ['phpunit logchecker artist ' . randomString(6)]], + ['czech'] + ); + + $this->assertMatchesRegularExpression( + '/^\d+\.\d+\.\d+$/', + Logchecker::getLogcheckerVersion(), + 'logchecker-version', + ); + + $logfile = new Logfile( + __DIR__ . '/../fixture/valid_log_eac.log', + 'valid_log_eac.log' + ); + + $this->assertInstanceOf(Logfile::class, $logfile, 'logfile-instance'); + $this->assertTrue($logfile->checksum(), 'logfile-checksum'); + $this->assertEquals(Checksum::CHECKSUM_OK, $logfile->checksumState(), 'logfile-checksum-state'); + $this->assertEquals('1', $logfile->checksumStatus(), 'logfile-checksum-status' ); + $this->assertCount(0, $logfile->details(), 'logfile-details'); + $this->assertEquals('', $logfile->detailsAsString(), 'logfile-details-string'); + $this->assertEquals('valid_log_eac.log', $logfile->filename(), 'logfile-filename'); + $this->assertEquals(100, $logfile->score(), 'logfile-score'); + $this->assertEquals('EAC', $logfile->ripper(), 'logfile-ripper'); + $this->assertEquals('1.3', $logfile->ripperVersion(), 'logfile-ripper-version'); + $this->assertEquals('en', $logfile->language(), 'logfile-language'); + + $this->assertStringEndsWith( + '/../fixture/valid_log_eac.log', + $logfile->filepath(), + 'logfile-filepath' + ); + $this->assertStringEndsWith( + "==== Log checksum 302419A0DBDD524D9ADA1079E2699F4C88F5C2FC46D2DA7CC3458BEE556953F5 ====", + $logfile->text(), + 'logfile-text' + ); + } + + public function testLogcheckerSummary(): void { + $this->user = \GazelleUnitTest\Helper::makeUser('logchecker.' . randomString(6), 'logcheck-summary'); + $this->tgroup = \GazelleUnitTest\Helper::makeTGroupMusic( + $this->user, + 'phpunit logchecker ' . randomString(6), + [[ARTIST_MAIN], ['phpunit logchecker artist ' . randomString(6)]], + ['czech'] + ); + $torrent = \GazelleUnitTest\Helper::makeTorrentMusic( + tgroup: $this->tgroup, + user: $this->user, + title: randomString(10), + ); + $logfileSummary = new LogfileSummary([ + 'error' => [UPLOAD_ERR_OK], + 'name' => ['valid_log_eac.log'], + 'tmp_name' => [__DIR__ . '/../fixture/valid_log_eac.log'], + ]); + $this->assertInstanceOf(LogfileSummary::class, $logfileSummary, 'logfilesummary-instance'); + + $this->assertTrue($logfileSummary->checksum(), 'logfilesummary-checksum'); + $this->assertEquals('1', $logfileSummary->checksumStatus(), 'logfilesummary-checksum-status'); + $this->assertEquals(100, $logfileSummary->overallScore(), 'logfilesummary-overall-score'); + $this->assertCount(1, $logfileSummary->all(), 'logfilesummary-all'); + $this->assertEquals(1, $logfileSummary->total(), 'logfilesummary-total'); + + $torrentLogManager = new Manager\TorrentLog( + new File\RipLog(), + new File\RipLogHTML() + ); + $checkerVersion = Logchecker::getLogcheckerVersion(); + $torrentLog = null; + foreach ($logfileSummary->all() as $logfile) { + $torrentLog = $torrentLogManager->create($torrent, $logfile, $checkerVersion); + } + + $this->assertInstanceOf(TorrentLog::class, $torrentLog, 'logfilesummary-torrentlog'); + $this->assertFalse($torrentLog->isAdjusted(), 'torrentlog-is-not-adjusted'); + $this->assertTrue($torrentLog->isChecksumOk(), 'torrentlog-is-checksum-ok'); + $this->assertEquals('valid_log_eac.log', $torrentLog->filename(), 'torrentlog-filename'); + $this->assertEquals(100, $torrentLog->score(), 'torrentlog-score'); + $this->assertEquals(100, $torrentLog->actualScore(), 'torrentlog-actual-score'); + } +} diff --git a/tests/phpunit/TorrentTest.php b/tests/phpunit/TorrentTest.php index c5e128357..743cd9e5c 100644 --- a/tests/phpunit/TorrentTest.php +++ b/tests/phpunit/TorrentTest.php @@ -48,7 +48,7 @@ class TorrentTest extends TestCase { public function testContents(): void { $bencoder = new \OrpheusNET\BencodeTorrent\BencodeTorrent(); - $bencoder->decodeFile(__DIR__ . '/../cypress/files/valid_torrent.torrent'); + $bencoder->decodeFile(__DIR__ . '/../fixture/valid_torrent.torrent'); $info = $bencoder->getData(); $this->assertIsArray($info, 'torrent-file-data-array'); $torrentFiler = new File\Torrent();