* @license https://www.gnu.org/licenses/agpl-3.0.en.html/ GNU Affero General Public License v3.0 */ use App\Enums\ModerationStatus; use App\Models\Torrent; use App\Models\User; use Illuminate\Support\Facades\Redis; test('index returns an ok response', function (): void { Redis::connection('announce')->flushdb(); $user = User::factory()->create([ 'can_download' => true, ]); $info_hash = '16679042096019090177'; // 20 bytes $peer_id = '19045931013802080695'; // 20 bytes Torrent::factory()->create([ 'info_hash' => $info_hash, 'status' => ModerationStatus::APPROVED, ]); $headers = [ 'accept-language' => null, 'referer' => null, 'accept-charset' => null, 'want-digest' => null, ]; $response = $this->withHeaders($headers)->get(route('announce', [ 'passkey' => $user->passkey, 'info_hash' => $info_hash, 'peer_id' => $peer_id, 'port' => 7022, 'left' => 0, 'uploaded' => 1, 'downloaded' => 1, 'compact' => 1, ])); $response ->assertOk(); $this->assertStringNotContainsString('failure reason', $response->getContent()); });