9e0614c8a5
Файловый Cache::increment() под параллельной нагрузкой (10 x 30) досчитал 77 из 300 — защита от накрутки счёта (пауза/час/IP/сутки) продавливалась параллельным скриптом. ChatRateLimiter теперь берёт своё хранилище (services.jivo_bot.limiter_store, по умолчанию redis, в тестах array) и считает через атомарные add()+increment(), а не через фасад RateLimiter на общем кэше. Ручная проверка на живом Redis: 300 из 300.
53 lines
2.6 KiB
XML
53 lines
2.6 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
xsi:noNamespaceSchemaLocation="vendor/phpunit/phpunit/phpunit.xsd"
|
|
bootstrap="vendor/autoload.php"
|
|
colors="true"
|
|
>
|
|
<testsuites>
|
|
<testsuite name="Unit">
|
|
<directory>tests/Unit</directory>
|
|
</testsuite>
|
|
<testsuite name="Feature">
|
|
<directory>tests/Feature</directory>
|
|
</testsuite>
|
|
<testsuite name="Browser">
|
|
<directory>tests/Browser</directory>
|
|
</testsuite>
|
|
</testsuites>
|
|
<source>
|
|
<include>
|
|
<directory>app</directory>
|
|
</include>
|
|
</source>
|
|
<php>
|
|
<env name="JIVO_BOT_LLM" value="yandex"/>
|
|
<env name="BOT_LIMITER_STORE" value="array"/>
|
|
<env name="AITUNNEL_API_KEY" value=""/>
|
|
<env name="APP_ENV" value="testing"/>
|
|
<env name="APP_MAINTENANCE_DRIVER" value="file"/>
|
|
<env name="BCRYPT_ROUNDS" value="4"/>
|
|
<env name="BROADCAST_CONNECTION" value="null"/>
|
|
<env name="CACHE_STORE" value="array"/>
|
|
<env name="DB_CONNECTION" value="pgsql"/>
|
|
<env name="DB_DATABASE" value="liderra_testing"/>
|
|
<!-- DB_USERNAME / DB_PASSWORD come from the untracked local .env (dev creds). -->
|
|
<!-- Not hardcoded here so no secret is committed to git. -->
|
|
<env name="DB_URL" value=""/>
|
|
<env name="MAIL_MAILER" value="array"/>
|
|
<env name="AUTH_PASSWORD_RESET_TOKEN_TABLE" value="password_resets" force="true"/>
|
|
<env name="QUEUE_CONNECTION" value="sync"/>
|
|
<!-- Автоподбор: живой движок поиска ВЫКЛ в тестах (иначе findCompetitors ходит в сеть).
|
|
В .env флаг может быть включён для локального прогона портала — тесты его перебивают. -->
|
|
<env name="AUTOPODBOR_REAL_FIND" value="false" force="true"/>
|
|
<!-- Капча: в тестах фейк-верификатор (NullCaptchaVerifier, fake_passes),
|
|
иначе наследуется боевой CAPTCHA_DRIVER=yandex из .env и регистрация-тесты падают на «я не робот». -->
|
|
<env name="CAPTCHA_DRIVER" value="null"/>
|
|
<env name="CAPTCHA_FAKE_PASSES" value="true"/>
|
|
<env name="SESSION_DRIVER" value="array"/>
|
|
<env name="PULSE_ENABLED" value="false"/>
|
|
<env name="TELESCOPE_ENABLED" value="false"/>
|
|
<env name="NIGHTWATCH_ENABLED" value="false"/>
|
|
</php>
|
|
</phpunit>
|