mirror of
https://github.com/NNTmux/newznab-tmux.git
synced 2026-08-28 23:01:29 +00:00
Update PR
This commit is contained in:
+12
@@ -3,6 +3,7 @@ config.php
|
||||
docker/.zsh_history
|
||||
docker/composer-auth.json
|
||||
docker/php-overrides.local.ini
|
||||
docker-compose.yml
|
||||
docker-compose.override.yml
|
||||
.env
|
||||
install.lock
|
||||
@@ -58,3 +59,14 @@ node_modules/
|
||||
.vscode-test
|
||||
|
||||
/.phpunit.cache
|
||||
phpunit.xml.back
|
||||
|
||||
# IDE helper files (generated locally)
|
||||
_ide_helper.php
|
||||
|
||||
# Lock files (generated locally, should not be committed)
|
||||
*-lock
|
||||
composer.lock
|
||||
package-lock.json
|
||||
yarn.lock
|
||||
pnpm-lock.yaml
|
||||
|
||||
-33137
File diff suppressed because it is too large
Load Diff
@@ -1,130 +0,0 @@
|
||||
services:
|
||||
laravel.test:
|
||||
build:
|
||||
context: ./docker/8.4
|
||||
dockerfile: Dockerfile
|
||||
args:
|
||||
WWWGROUP: '${WWWGROUP}'
|
||||
image: sail-8.4/app
|
||||
extra_hosts:
|
||||
- 'host.docker.internal:host-gateway'
|
||||
ports:
|
||||
- '${APP_PORT:-80}:80'
|
||||
- '${VITE_PORT:-5173}:${VITE_PORT:-5173}'
|
||||
environment:
|
||||
TZ: ${APP_TIMEZONE}
|
||||
COMPOSER_AUTH: ${COMPOSER_AUTH}
|
||||
WWWUSER: '${WWWUSER}'
|
||||
LARAVEL_SAIL: 1
|
||||
XDEBUG_MODE: '${SAIL_XDEBUG_MODE:-off}'
|
||||
XDEBUG_CONFIG: '${SAIL_XDEBUG_CONFIG:-client_host=host.docker.internal}'
|
||||
volumes:
|
||||
- '.:/var/www/html'
|
||||
networks:
|
||||
- sail
|
||||
depends_on:
|
||||
- mariadb
|
||||
- redis
|
||||
- manticore
|
||||
- elasticsearch
|
||||
mariadb:
|
||||
image: 'mariadb:latest'
|
||||
ports:
|
||||
- '${FORWARD_DB_PORT:-3306}:3306'
|
||||
environment:
|
||||
TZ: ${APP_TIMEZONE}
|
||||
MYSQL_ROOT_PASSWORD: '${DB_PASSWORD}'
|
||||
MYSQL_ROOT_HOST: '%'
|
||||
MYSQL_DATABASE: '${DB_DATABASE}'
|
||||
MYSQL_USER: '${DB_USERNAME}'
|
||||
MYSQL_PASSWORD: '${DB_PASSWORD}'
|
||||
MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
|
||||
command:
|
||||
--max_allowed_packet=128M
|
||||
--group_concat_max_len=16384
|
||||
--max_connections=200
|
||||
volumes:
|
||||
- 'sail-mariadb:/var/lib/mysql'
|
||||
- './vendor/laravel/sail/database/mysql/create-testing-database.sh:/docker-entrypoint-initdb.d/10-create-testing-database.sh'
|
||||
networks:
|
||||
- sail
|
||||
healthcheck:
|
||||
test:
|
||||
- CMD
|
||||
- mysqladmin
|
||||
- ping
|
||||
- '-p${DB_PASSWORD}'
|
||||
retries: 3
|
||||
timeout: 5s
|
||||
redis:
|
||||
image: 'redis:alpine'
|
||||
ports:
|
||||
- '${FORWARD_REDIS_PORT:-6379}:6379'
|
||||
environment:
|
||||
TZ: ${APP_TIMEZONE}
|
||||
volumes:
|
||||
- 'sail-redis:/data'
|
||||
networks:
|
||||
- sail
|
||||
healthcheck:
|
||||
test:
|
||||
- CMD
|
||||
- redis-cli
|
||||
- ping
|
||||
retries: 3
|
||||
timeout: 5s
|
||||
mailpit:
|
||||
image: 'axllent/mailpit:latest'
|
||||
ports:
|
||||
- '${FORWARD_MAILPIT_PORT:-1025}:1025'
|
||||
- '${FORWARD_MAILPIT_DASHBOARD_PORT:-8025}:8025'
|
||||
networks:
|
||||
- sail
|
||||
manticore:
|
||||
image: manticoresearch/manticore:7.4.6
|
||||
environment:
|
||||
TZ: ${APP_TIMEZONE}
|
||||
EXTRA: 1 # Activates extra features
|
||||
restart: always
|
||||
ports:
|
||||
- 9306:9306
|
||||
- 9308:9308
|
||||
ulimits:
|
||||
nproc: 65535
|
||||
nofile:
|
||||
soft: 65535
|
||||
hard: 65535
|
||||
memlock:
|
||||
soft: -1
|
||||
hard: -1
|
||||
volumes:
|
||||
- 'sail-manticore:/var/lib/manticore/data'
|
||||
- ./misc/manticoresearch/manticore.conf:/etc/manticoresearch/manticore.conf # uncomment if you use a custom config
|
||||
networks:
|
||||
- sail
|
||||
elasticsearch:
|
||||
image: docker.elastic.co/elasticsearch/elasticsearch:8.17.0
|
||||
environment:
|
||||
- TZ=${APP_TIMEZONE}
|
||||
- discovery.type=single-node
|
||||
- xpack.security.enabled=false
|
||||
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
|
||||
ports:
|
||||
- 9200:9200
|
||||
- 9300:9300
|
||||
volumes:
|
||||
- sail-elasticsearch:/usr/share/elasticsearch/data
|
||||
networks:
|
||||
- sail
|
||||
networks:
|
||||
sail:
|
||||
driver: bridge
|
||||
volumes:
|
||||
sail-mariadb:
|
||||
driver: local
|
||||
sail-redis:
|
||||
driver: local
|
||||
sail-manticore:
|
||||
driver: local
|
||||
sail-elasticsearch:
|
||||
driver: local
|
||||
Generated
-5867
File diff suppressed because it is too large
Load Diff
@@ -1,59 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Tests\Unit;
|
||||
|
||||
use App\Console\Commands\NntmuxResetPostProcessing;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
use ReflectionClass;
|
||||
|
||||
class NntmuxResetPostProcessingTest extends TestCase
|
||||
{
|
||||
private function callNormalize(array $raw): array
|
||||
{
|
||||
$cmd = new NntmuxResetPostProcessing;
|
||||
$ref = new ReflectionClass($cmd);
|
||||
$method = $ref->getMethod('normalizeCategories');
|
||||
$method->setAccessible(true);
|
||||
/** @var array $res */
|
||||
$res = $method->invoke($cmd, $raw);
|
||||
|
||||
return $res;
|
||||
}
|
||||
|
||||
private function callInvalid(array $normalized): array
|
||||
{
|
||||
$cmd = new NntmuxResetPostProcessing;
|
||||
$ref = new ReflectionClass($cmd);
|
||||
$method = $ref->getMethod('invalidCategories');
|
||||
$method->setAccessible(true);
|
||||
/** @var array $res */
|
||||
$res = $method->invoke($cmd, $normalized);
|
||||
|
||||
return $res;
|
||||
}
|
||||
|
||||
public function test_normalize_handles_basic_and_commas_and_repeats_and_case_and_plural(): void
|
||||
{
|
||||
$this->assertSame([], $this->callNormalize([]));
|
||||
$this->assertSame(['movie'], $this->callNormalize(['movie']));
|
||||
$this->assertSame(['movie'], $this->callNormalize(['Movies']));
|
||||
$this->assertSame(['movie', 'tv'], $this->callNormalize(['movie,tv']));
|
||||
$this->assertSame(['movie', 'tv', 'music'], $this->callNormalize(['movie', 'TV', 'musics']));
|
||||
}
|
||||
|
||||
public function test_normalize_strips_value_from_equals_tokens(): void
|
||||
{
|
||||
// Simulate Symfony short option mapping: -category=misc => -c ategory=misc => option('category') contains [ 'ategory=misc' ]
|
||||
$this->assertSame(['misc'], $this->callNormalize(['ategory=misc']));
|
||||
// Also support explicit key=value inputs like category=music
|
||||
$this->assertSame(['music'], $this->callNormalize(['category=music']));
|
||||
}
|
||||
|
||||
public function test_invalid_detection_and_all_passthrough(): void
|
||||
{
|
||||
$this->assertSame(['foo'], $this->callInvalid(['foo']));
|
||||
$this->assertSame([], $this->callInvalid(['movie', 'tv']));
|
||||
$this->assertSame([], $this->callInvalid(['all']));
|
||||
$this->assertSame(['foo'], $this->callInvalid(['all', 'foo']));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user