mirror of
https://github.com/NNTmux/newznab-tmux.git
synced 2026-08-28 23:01:29 +00:00
Cleanup code and extra files
This commit is contained in:
@@ -5,7 +5,9 @@ declare(strict_types=1);
|
||||
namespace Tests\Feature;
|
||||
|
||||
use Illuminate\Auth\GenericUser;
|
||||
use Illuminate\Auth\Middleware\EnsureEmailIsVerified;
|
||||
use Illuminate\Contracts\Console\Kernel;
|
||||
use Illuminate\Routing\Router;
|
||||
use Illuminate\Support\Facades\Cache;
|
||||
use PDO;
|
||||
use Tests\TestCase;
|
||||
@@ -101,6 +103,13 @@ class AuthRedirectMiddlewareTest extends TestCase
|
||||
->assertRedirect('/');
|
||||
}
|
||||
|
||||
public function test_is_verified_alias_uses_laravels_email_verification_middleware(): void
|
||||
{
|
||||
$middlewareAliases = app(Router::class)->getMiddleware();
|
||||
|
||||
$this->assertSame(EnsureEmailIsVerified::class, $middlewareAliases['isVerified'] ?? null);
|
||||
}
|
||||
|
||||
private function setEnvironmentValue(string $key, ?string $value): void
|
||||
{
|
||||
if ($value === null) {
|
||||
|
||||
@@ -4,8 +4,12 @@ namespace Tests\Unit;
|
||||
|
||||
use App\Http\Controllers\BasePageController;
|
||||
use App\Http\Controllers\SearchController;
|
||||
use Illuminate\Container\Container;
|
||||
use Illuminate\Contracts\Routing\UrlGenerator as UrlGeneratorContract;
|
||||
use Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Routing\RouteCollection;
|
||||
use Illuminate\Routing\UrlGenerator;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
use ReflectionClass;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
@@ -71,6 +75,46 @@ class UserViewRequestInputTest extends TestCase
|
||||
$this->assertSame([-1], $method->invoke($controller, Request::create('/search', 'GET', ['searchadvcat' => ''])));
|
||||
}
|
||||
|
||||
public function test_local_return_url_accepts_local_targets_and_rejects_external_urls(): void
|
||||
{
|
||||
$originalContainer = Container::getInstance();
|
||||
$container = new Container;
|
||||
$container->instance(
|
||||
UrlGeneratorContract::class,
|
||||
new UrlGenerator(new RouteCollection, Request::create('https://nntmux.test')),
|
||||
);
|
||||
Container::setInstance($container);
|
||||
|
||||
try {
|
||||
$controller = $this->controller();
|
||||
|
||||
$this->assertSame(
|
||||
'https://nntmux.test/mymovies',
|
||||
$controller->returnUrl(Request::create('https://nntmux.test/mymovies'), '/mymovies'),
|
||||
);
|
||||
$this->assertSame(
|
||||
'https://nntmux.test/browse',
|
||||
$controller->returnUrl(Request::create('https://nntmux.test/mymovies', 'GET', ['from' => '/browse']), '/mymovies'),
|
||||
);
|
||||
$this->assertSame(
|
||||
'https://nntmux.test/browse?view=covers',
|
||||
$controller->returnUrl(
|
||||
Request::create('https://nntmux.test/mymovies', 'GET', ['from' => 'https://nntmux.test/browse?view=covers']),
|
||||
'/mymovies',
|
||||
),
|
||||
);
|
||||
$this->assertSame(
|
||||
'https://nntmux.test/mymovies',
|
||||
$controller->returnUrl(
|
||||
Request::create('https://nntmux.test/mymovies', 'GET', ['from' => 'https://external.example/browse']),
|
||||
'/mymovies',
|
||||
),
|
||||
);
|
||||
} finally {
|
||||
Container::setInstance($originalContainer);
|
||||
}
|
||||
}
|
||||
|
||||
private function controller(): object
|
||||
{
|
||||
return new class extends BasePageController
|
||||
@@ -112,6 +156,11 @@ class UserViewRequestInputTest extends TestCase
|
||||
{
|
||||
return $this->paginationOffset($page, $perPage);
|
||||
}
|
||||
|
||||
public function returnUrl(Request $request, string $fallback): string
|
||||
{
|
||||
return $this->localReturnUrl($request, $fallback);
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user