mirror of
https://github.com/NNTmux/newznab-tmux.git
synced 2026-08-29 01:08:56 +00:00
Use manticore for mediainfo data
This commit is contained in:
@@ -4,8 +4,10 @@ declare(strict_types=1);
|
||||
|
||||
namespace Tests\Unit;
|
||||
|
||||
use App\Services\Search\Drivers\ElasticSearchDriver;
|
||||
use PHPUnit\Framework\Attributes\Test;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
use ReflectionClass;
|
||||
|
||||
final class ElasticSearchQueryTest extends TestCase
|
||||
{
|
||||
@@ -67,4 +69,40 @@ final class ElasticSearchQueryTest extends TestCase
|
||||
$this->assertStringContainsString("'_source' => false", $methodSource);
|
||||
$this->assertStringContainsString("'track_total_hits' => (bool)", $methodSource);
|
||||
}
|
||||
|
||||
#[Test]
|
||||
public function filtered_release_search_supports_media_info_text_and_numeric_filters(): void
|
||||
{
|
||||
$driverSource = file_get_contents(__DIR__.'/../../app/Services/Search/Drivers/ElasticSearchDriver.php');
|
||||
|
||||
$this->assertIsString($driverSource);
|
||||
$this->assertStringContainsString("'media_video_codec' => ['media_video_codec']", $driverSource);
|
||||
$this->assertStringContainsString("'term' => ['media_unique_id' => \$mediaUniqueId]", $driverSource);
|
||||
$this->assertStringContainsString("'term' => ['has_media_info' =>", $driverSource);
|
||||
$this->assertStringContainsString("'range' => ['media_video_width' => \$range]", $driverSource);
|
||||
$this->assertStringContainsString("'range' => ['media_video_height' => \$range]", $driverSource);
|
||||
}
|
||||
|
||||
#[Test]
|
||||
public function media_info_unique_id_uses_an_exact_keyword_filter(): void
|
||||
{
|
||||
$reflection = new ReflectionClass(ElasticSearchDriver::class);
|
||||
$driver = $reflection->newInstanceWithoutConstructor();
|
||||
$method = $reflection->getMethod('buildElasticsearchReleaseFilters');
|
||||
|
||||
$filters = $method->invoke($driver, ['media_unique_id' => ' 0x123ABC ']);
|
||||
|
||||
$this->assertContains(['term' => ['media_unique_id' => '0x123ABC']], $filters);
|
||||
}
|
||||
|
||||
#[Test]
|
||||
public function incremental_release_updates_use_the_canonical_projection_and_document(): void
|
||||
{
|
||||
$driverSource = file_get_contents(__DIR__.'/../../app/Services/Search/Drivers/ElasticSearchDriver.php');
|
||||
|
||||
$this->assertIsString($driverSource);
|
||||
$this->assertStringContainsString('ReleaseIndexProjection::forId((int) $releaseID)', $driverSource);
|
||||
$this->assertStringContainsString('ReleaseSearchIndexDocument::normalizeForBulk($parameters)', $driverSource);
|
||||
$this->assertStringContainsString("'body' => \$document", $driverSource);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user