mirror of
https://github.com/Bubka/2FAuth.git
synced 2024-11-28 11:13:11 +01:00
Apply Pint fixes
This commit is contained in:
parent
18fe45778a
commit
c00b04e192
@ -6,7 +6,6 @@
|
||||
use App\Api\v1\Requests\SettingUpdateRequest;
|
||||
use App\Facades\Settings;
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Validation\ValidationException;
|
||||
|
||||
class SettingController extends Controller
|
||||
{
|
||||
|
@ -111,8 +111,9 @@ public function update(TwoFAccountUpdateRequest $request, TwoFAccount $twofaccou
|
||||
if ($twofaccount->group_id != $groupId) {
|
||||
if ((int) $groupId === 0) {
|
||||
TwoFAccounts::withdraw($twofaccount->id);
|
||||
} else {
|
||||
Groups::assign($twofaccount->id, $request->user(), $groupId);
|
||||
}
|
||||
else Groups::assign($twofaccount->id, $request->user(), $groupId);
|
||||
$twofaccount->refresh();
|
||||
}
|
||||
|
||||
@ -151,7 +152,7 @@ public function reorder(TwoFAccountReorderRequest $request)
|
||||
$validated = $request->validated();
|
||||
|
||||
$twofaccounts = TwoFAccount::whereIn('id', $validated['orderedIds'])->get();
|
||||
$this->authorize('updateEach', [new TwoFAccount(), $twofaccounts]);
|
||||
$this->authorize('updateEach', [new TwoFAccount, $twofaccounts]);
|
||||
|
||||
TwoFAccount::setNewOrder($validated['orderedIds']);
|
||||
$orderedIds = $request->user()->twofaccounts->sortBy('order_column')->pluck('id');
|
||||
@ -192,7 +193,7 @@ public function export(TwoFAccountBatchRequest $request)
|
||||
}
|
||||
|
||||
$twofaccounts = TwoFAccounts::export($validated['ids']);
|
||||
$this->authorize('viewEach', [new TwoFAccount(), $twofaccounts]);
|
||||
$this->authorize('viewEach', [new TwoFAccount, $twofaccounts]);
|
||||
|
||||
return new TwoFAccountExportCollection($twofaccounts);
|
||||
}
|
||||
@ -231,7 +232,7 @@ public function otp(Request $request, $id = null)
|
||||
// The request inputs should define an account
|
||||
else {
|
||||
$validatedData = $request->validate((new TwoFAccountStoreRequest)->rules());
|
||||
$twofaccount = new TwoFAccount();
|
||||
$twofaccount = new TwoFAccount;
|
||||
$twofaccount->fillWithOtpParameters($validatedData, true);
|
||||
}
|
||||
|
||||
@ -267,7 +268,7 @@ public function withdraw(TwoFAccountBatchRequest $request)
|
||||
$ids = Helpers::commaSeparatedToArray($validated['ids']);
|
||||
$twofaccounts = TwoFAccount::whereIn('id', $ids)->get();
|
||||
|
||||
$this->authorize('updateEach', [new TwoFAccount(), $twofaccounts]);
|
||||
$this->authorize('updateEach', [new TwoFAccount, $twofaccounts]);
|
||||
|
||||
TwoFAccounts::withdraw($ids);
|
||||
|
||||
@ -307,7 +308,7 @@ public function batchDestroy(TwoFAccountBatchRequest $request)
|
||||
$ids = Helpers::commaSeparatedToArray($validated['ids']);
|
||||
$twofaccounts = TwoFAccount::whereIn('id', $ids)->get();
|
||||
|
||||
$this->authorize('deleteEach', [new TwoFAccount(), $twofaccounts]);
|
||||
$this->authorize('deleteEach', [new TwoFAccount, $twofaccounts]);
|
||||
|
||||
TwoFAccounts::delete($validated['ids']);
|
||||
|
||||
|
@ -34,15 +34,13 @@ public function rules()
|
||||
new IsValidEmailList,
|
||||
],
|
||||
];
|
||||
}
|
||||
else if ($routeParam == 'restrictRule') {
|
||||
} elseif ($routeParam == 'restrictRule') {
|
||||
$rule = [
|
||||
'value' => [
|
||||
new IsValidRegex,
|
||||
],
|
||||
];
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
$rule = [
|
||||
'value' => [
|
||||
'required',
|
||||
|
@ -37,7 +37,7 @@ class UserAuthenticationResource extends JsonResource
|
||||
*/
|
||||
public function __construct($resource)
|
||||
{
|
||||
$this->agent = new Agent();
|
||||
$this->agent = new Agent;
|
||||
$this->agent->setUserAgent($resource->user_agent);
|
||||
|
||||
parent::__construct($resource);
|
||||
|
@ -4,12 +4,8 @@
|
||||
|
||||
use App\Facades\Settings;
|
||||
use App\Models\TwoFAccount;
|
||||
use Exception;
|
||||
use Illuminate\Console\Command;
|
||||
use Illuminate\Support\Facades\Crypt;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
use Throwable;
|
||||
|
||||
/**
|
||||
* @codeCoverageIgnore
|
||||
@ -83,8 +79,7 @@ protected function encryptServiceField() : void
|
||||
$this->components->info('The Service field is fully encrypted');
|
||||
|
||||
return;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
$this->newLine();
|
||||
$this->components->warn('The Service field is not fully encrypted, although it should be.');
|
||||
$this->line('ID of corresponding records in the twofaccounts table:');
|
||||
@ -101,10 +96,11 @@ protected function encryptServiceField() : void
|
||||
$twofaccount->service = $rawServiceValue;
|
||||
$twofaccount->save();
|
||||
$this->components->task(sprintf('Fixing twofaccount record with ID #%s', $twofaccount->id));
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
$error += 1;
|
||||
$this->components->task(sprintf('Fixing twofaccount record with ID #%s', $twofaccount->id), function() { return false; });
|
||||
$this->components->task(sprintf('Fixing twofaccount record with ID #%s', $twofaccount->id), function () {
|
||||
return false;
|
||||
});
|
||||
$this->components->error('Wrong encryption key: The current APP_KEY cannot decipher already encrypted fields, encrypting the Service field with this key would lead to inconsistent data encryption');
|
||||
}
|
||||
});
|
||||
@ -116,8 +112,7 @@ protected function encryptServiceField() : void
|
||||
}
|
||||
|
||||
//$this->line('Task completed');
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
$this->components->warn('No fix applied.');
|
||||
$this->line('You can re-run this command at any time to fix inconsistent records.');
|
||||
}
|
||||
|
@ -82,7 +82,7 @@ protected function seedDB(string $seeder) : void
|
||||
{
|
||||
$this->callSilent('db:seed', [
|
||||
'--class' => $seeder,
|
||||
'--no-interaction' => 1
|
||||
'--no-interaction' => 1,
|
||||
]);
|
||||
|
||||
$this->line('Database seeded');
|
||||
|
@ -9,6 +9,4 @@
|
||||
*
|
||||
* @codeCoverageIgnore
|
||||
*/
|
||||
class DbEncryptionException extends Exception
|
||||
{
|
||||
}
|
||||
class DbEncryptionException extends Exception {}
|
||||
|
@ -9,6 +9,4 @@
|
||||
*
|
||||
* @codeCoverageIgnore
|
||||
*/
|
||||
class EncryptedMigrationException extends Exception
|
||||
{
|
||||
}
|
||||
class EncryptedMigrationException extends Exception {}
|
||||
|
@ -9,6 +9,4 @@
|
||||
*
|
||||
* @codeCoverageIgnore
|
||||
*/
|
||||
class InvalidMigrationDataException extends Exception
|
||||
{
|
||||
}
|
||||
class InvalidMigrationDataException extends Exception {}
|
||||
|
@ -9,6 +9,4 @@
|
||||
*
|
||||
* @codeCoverageIgnore
|
||||
*/
|
||||
class InvalidOtpParameterException extends Exception
|
||||
{
|
||||
}
|
||||
class InvalidOtpParameterException extends Exception {}
|
||||
|
@ -9,6 +9,4 @@
|
||||
*
|
||||
* @codeCoverageIgnore
|
||||
*/
|
||||
class InvalidQrCodeException extends Exception
|
||||
{
|
||||
}
|
||||
class InvalidQrCodeException extends Exception {}
|
||||
|
@ -9,6 +9,4 @@
|
||||
*
|
||||
* @codeCoverageIgnore
|
||||
*/
|
||||
class InvalidSecretException extends Exception
|
||||
{
|
||||
}
|
||||
class InvalidSecretException extends Exception {}
|
||||
|
@ -9,6 +9,4 @@
|
||||
*
|
||||
* @codeCoverageIgnore
|
||||
*/
|
||||
class UndecipherableException extends Exception
|
||||
{
|
||||
}
|
||||
class UndecipherableException extends Exception {}
|
||||
|
@ -9,6 +9,4 @@
|
||||
*
|
||||
* @codeCoverageIgnore
|
||||
*/
|
||||
class UnsupportedMigrationException extends Exception
|
||||
{
|
||||
}
|
||||
class UnsupportedMigrationException extends Exception {}
|
||||
|
@ -9,6 +9,4 @@
|
||||
*
|
||||
* @codeCoverageIgnore
|
||||
*/
|
||||
class UnsupportedOtpTypeException extends Exception
|
||||
{
|
||||
}
|
||||
class UnsupportedOtpTypeException extends Exception {}
|
||||
|
@ -34,7 +34,7 @@ public function create(string $migrationPayload) : Migrator
|
||||
} elseif ($this->isPlainText($migrationPayload)) {
|
||||
return App::make(PlainTextMigrator::class);
|
||||
} else {
|
||||
throw new UnsupportedMigrationException();
|
||||
throw new UnsupportedMigrationException;
|
||||
}
|
||||
}
|
||||
|
||||
@ -130,7 +130,7 @@ private function isAegisJSON(string $migrationPayload) : mixed
|
||||
|
||||
if (Arr::has($json, 'db')) {
|
||||
if (is_string($json['db']) && is_array(Arr::get($json, 'header.slots'))) {
|
||||
throw new EncryptedMigrationException();
|
||||
throw new EncryptedMigrationException;
|
||||
} else {
|
||||
return count(Validator::validate(
|
||||
$json,
|
||||
@ -180,7 +180,7 @@ private function is2FASv2(string $migrationPayload) : mixed
|
||||
|
||||
if (Arr::has($json, 'schemaVersion') && (Arr::has($json, 'services') || Arr::has($json, 'servicesEncrypted'))) {
|
||||
if (Arr::has($json, 'servicesEncrypted')) {
|
||||
throw new EncryptedMigrationException();
|
||||
throw new EncryptedMigrationException;
|
||||
} else {
|
||||
return count(Validator::validate(
|
||||
$json,
|
||||
|
@ -54,7 +54,7 @@ function ($user) use ($request) {
|
||||
$user->save();
|
||||
Log::notice(sprintf('Legacy login restored for user ID #%s', $user->id));
|
||||
} else {
|
||||
throw new AuthenticationException();
|
||||
throw new AuthenticationException;
|
||||
}
|
||||
}
|
||||
);
|
||||
|
@ -16,7 +16,7 @@ class SinglePageController extends Controller
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
event(new ScanForNewReleaseCalled());
|
||||
event(new ScanForNewReleaseCalled);
|
||||
|
||||
$settings = Settings::all()->toJson();
|
||||
$proxyAuth = config('auth.defaults.guard') === 'reverse-proxy-guard' ? true : false;
|
||||
@ -47,7 +47,7 @@ public function index()
|
||||
])->toJson(),
|
||||
'urls' => collect([
|
||||
'installDocUrl' => $installDocUrl,
|
||||
'ssoDocUrl' => $ssoDocUrl
|
||||
'ssoDocUrl' => $ssoDocUrl,
|
||||
]),
|
||||
'defaultPreferences' => $defaultPreferences,
|
||||
'subdirectory' => $subdir,
|
||||
|
@ -70,7 +70,7 @@ public function latestRelease(Request $request, ReleaseRadarService $releaseRada
|
||||
public function testEmail(Request $request)
|
||||
{
|
||||
try {
|
||||
$request->user()->notify(new TestEmailSettingNotification());
|
||||
$request->user()->notify(new TestEmailSettingNotification);
|
||||
} catch (\Throwable $th) {
|
||||
Log::error($th->getMessage());
|
||||
}
|
||||
|
@ -24,8 +24,9 @@ public function handle($request, Closure $next)
|
||||
if (Settings::get('useSsoOnly')) {
|
||||
if ($email = $request->input('email', null)) {
|
||||
$user = User::whereEmail($email)->first();
|
||||
} else {
|
||||
$user = Auth::user();
|
||||
}
|
||||
else $user = Auth::user();
|
||||
|
||||
if ($user?->isAdministrator()) {
|
||||
return $next($request);
|
||||
|
@ -59,7 +59,8 @@ public function handle(mixed $event) : void
|
||||
if ($user->preferences['notifyOnFailedLogin'] == true) {
|
||||
$user->notify(new FailedLoginNotification($log));
|
||||
}
|
||||
}
|
||||
else Log::info(sprintf('%s received an event with a null $user member. Nothing has been written to the auth log', self::class));
|
||||
} else {
|
||||
Log::info(sprintf('%s received an event with a null $user member. Nothing has been written to the auth log', self::class));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -70,12 +70,13 @@
|
||||
class User extends Authenticatable implements HasLocalePreference, WebAuthnAuthenticatable
|
||||
{
|
||||
use HasApiTokens, Notifiable;
|
||||
|
||||
use HasAuthenticationLog;
|
||||
|
||||
/**
|
||||
* @use HasFactory<UserFactory>
|
||||
*/
|
||||
use HasFactory;
|
||||
|
||||
use WebAuthnAuthentication, WebAuthnManageCredentials;
|
||||
|
||||
/**
|
||||
|
@ -31,7 +31,7 @@ class FailedLoginNotification extends Notification implements ShouldQueue
|
||||
public function __construct(AuthLog $authLog)
|
||||
{
|
||||
$this->authLog = $authLog;
|
||||
$this->agent = new Agent();
|
||||
$this->agent = new Agent;
|
||||
$this->agent->setUserAgent($authLog->user_agent);
|
||||
}
|
||||
|
||||
@ -48,7 +48,7 @@ public function via(mixed $notifiable) : array|string
|
||||
*/
|
||||
public function toMail(mixed $notifiable) : MailMessage
|
||||
{
|
||||
return (new MailMessage())
|
||||
return (new MailMessage)
|
||||
->subject(__('notifications.failed_login.subject'))
|
||||
->markdown('emails.failedLogin', [
|
||||
'account' => $notifiable,
|
||||
|
@ -31,7 +31,7 @@ class SignedInWithNewDeviceNotification extends Notification implements ShouldQu
|
||||
public function __construct(AuthLog $authLog)
|
||||
{
|
||||
$this->authLog = $authLog;
|
||||
$this->agent = new Agent();
|
||||
$this->agent = new Agent;
|
||||
$this->agent->setUserAgent($authLog->user_agent);
|
||||
}
|
||||
|
||||
@ -45,7 +45,7 @@ public function via(mixed $notifiable) : array|string
|
||||
*/
|
||||
public function toMail(mixed $notifiable) : MailMessage
|
||||
{
|
||||
return (new MailMessage())
|
||||
return (new MailMessage)
|
||||
->subject(__('notifications.new_device.subject'))
|
||||
->markdown('emails.signedInWithNewDevice', [
|
||||
'account' => $notifiable,
|
||||
|
@ -26,10 +26,7 @@ class TestEmailSettingNotification extends Notification
|
||||
/**
|
||||
* TestEmailSettingNotification constructor.
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
|
||||
}
|
||||
public function __construct() {}
|
||||
|
||||
/**
|
||||
* Get the notification's delivery channels.
|
||||
|
@ -20,19 +20,19 @@ public function register() : void
|
||||
$this->app->bind(MigratorFactoryInterface::class, MigratorFactory::class);
|
||||
|
||||
$this->app->singleton(GoogleAuthMigrator::class, function () {
|
||||
return new GoogleAuthMigrator();
|
||||
return new GoogleAuthMigrator;
|
||||
});
|
||||
|
||||
$this->app->singleton(AegisMigrator::class, function () {
|
||||
return new AegisMigrator();
|
||||
return new AegisMigrator;
|
||||
});
|
||||
|
||||
$this->app->singleton(TwoFASMigrator::class, function () {
|
||||
return new TwoFASMigrator();
|
||||
return new TwoFASMigrator;
|
||||
});
|
||||
|
||||
$this->app->singleton(PlainTextMigrator::class, function () {
|
||||
return new PlainTextMigrator();
|
||||
return new PlainTextMigrator;
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -23,7 +23,7 @@ class OpenId extends AbstractProvider implements ProviderInterface
|
||||
public function __construct(Request $request, $clientId, $clientSecret, $redirectUrl, $guzzle = [])
|
||||
{
|
||||
$guzzle = array_merge([
|
||||
'proxy' => config('2fauth.config.outgoingProxy')
|
||||
'proxy' => config('2fauth.config.outgoingProxy'),
|
||||
], $guzzle);
|
||||
|
||||
parent::__construct($request, $clientId, $clientSecret, $redirectUrl, $guzzle);
|
||||
@ -72,7 +72,7 @@ protected function getUserByToken($token)
|
||||
*/
|
||||
protected function mapUserToObject(array $user)
|
||||
{
|
||||
return (new User())->setRaw($user)->map([
|
||||
return (new User)->setRaw($user)->map([
|
||||
'email' => $user['email'] ?? null,
|
||||
'email_verified' => $user['email_verified'] ?? null,
|
||||
'name' => $user['name'] ?? null,
|
||||
|
@ -25,15 +25,15 @@ public function register()
|
||||
});
|
||||
|
||||
$this->app->singleton(SettingService::class, function () {
|
||||
return new SettingService();
|
||||
return new SettingService;
|
||||
});
|
||||
|
||||
$this->app->singleton(LogoService::class, function () {
|
||||
return new LogoService();
|
||||
return new LogoService;
|
||||
});
|
||||
|
||||
$this->app->singleton(ReleaseRadarService::class, function () {
|
||||
return new ReleaseRadarService();
|
||||
return new ReleaseRadarService;
|
||||
});
|
||||
|
||||
$this->app->bind(QrReader::class, function ($app, $parameters) {
|
||||
|
@ -18,8 +18,7 @@ public function validate(string $attribute, mixed $value, Closure $fail) : void
|
||||
if (preg_last_error() !== PREG_NO_ERROR) {
|
||||
$fail('validation.IsValidRegex')->translate();
|
||||
}
|
||||
}
|
||||
catch (\Throwable $ex) {
|
||||
} catch (\Throwable $ex) {
|
||||
$fail('validation.IsValidRegex')->translate();
|
||||
}
|
||||
}
|
||||
|
@ -5,11 +5,9 @@
|
||||
|
||||
namespace App\Services\Auth;
|
||||
|
||||
use App\Events\VisitedByProxyUser;
|
||||
use Illuminate\Auth\GuardHelpers;
|
||||
use Illuminate\Contracts\Auth\Guard;
|
||||
use Illuminate\Contracts\Auth\UserProvider;
|
||||
use Illuminate\Support\Carbon;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
|
||||
class ReverseProxyGuard implements Guard
|
||||
|
@ -41,8 +41,7 @@ public static function assign($ids, User $user, mixed $targetGroup = null) : voi
|
||||
if (! is_null($targetGroup)) {
|
||||
if ($targetGroup instanceof Group && $targetGroup->exists && $targetGroup->user_id == $user->id) {
|
||||
$group = $targetGroup;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
$group = Group::where('id', (int) $targetGroup)
|
||||
->where('user_id', $user->id)
|
||||
->first();
|
||||
@ -58,7 +57,7 @@ public static function assign($ids, User $user, mixed $targetGroup = null) : voi
|
||||
$twofaccounts = TwoFAccount::find($ids);
|
||||
|
||||
if ($user->cannot('updateEach', [(new TwoFAccount), $twofaccounts])) {
|
||||
throw new AuthorizationException();
|
||||
throw new AuthorizationException;
|
||||
}
|
||||
|
||||
$group->twofaccounts()->saveMany($twofaccounts);
|
||||
|
@ -76,7 +76,7 @@ public function migrate(mixed $migrationPayload) : Collection
|
||||
break;
|
||||
|
||||
default:
|
||||
throw new \Exception();
|
||||
throw new \Exception;
|
||||
}
|
||||
$parameters['iconData'] = base64_decode($otp_parameters['icon']);
|
||||
}
|
||||
@ -95,7 +95,7 @@ public function migrate(mixed $migrationPayload) : Collection
|
||||
Log::debug($exception->getMessage());
|
||||
|
||||
// The token failed to generate a valid account so we create a fake account to be returned.
|
||||
$fakeAccount = new TwoFAccount();
|
||||
$fakeAccount = new TwoFAccount;
|
||||
$fakeAccount->id = TwoFAccount::FAKE_ID;
|
||||
$fakeAccount->otp_type = $otp_parameters['type'] ?? TwoFAccount::TOTP;
|
||||
// Only basic fields are filled to limit the risk of another exception.
|
||||
|
@ -28,7 +28,7 @@ public function migrate(mixed $migrationPayload) : Collection
|
||||
{
|
||||
try {
|
||||
$migrationData = base64_decode(urldecode(Str::replace('otpauth-migration://offline?data=', '', strval($migrationPayload))));
|
||||
$protobuf = new Payload();
|
||||
$protobuf = new Payload;
|
||||
$protobuf->mergeFromString($migrationData);
|
||||
$otpParameters = $protobuf->getOtpParameters();
|
||||
} catch (Exception $ex) {
|
||||
@ -59,7 +59,7 @@ public function migrate(mixed $migrationPayload) : Collection
|
||||
Log::debug($exception->getMessage());
|
||||
|
||||
// The token failed to generate a valid account so we create a fake account to be returned.
|
||||
$fakeAccount = new TwoFAccount();
|
||||
$fakeAccount = new TwoFAccount;
|
||||
$fakeAccount->id = TwoFAccount::FAKE_ID;
|
||||
$fakeAccount->otp_type = $fakeAccount::TOTP;
|
||||
// Only basic fields are filled to limit the risk of another exception.
|
||||
|
@ -37,7 +37,7 @@ public function migrate(mixed $migrationPayload) : Collection
|
||||
Log::debug($exception->getMessage());
|
||||
|
||||
// The token failed to generate a valid account so we create a fake account to be returned.
|
||||
$fakeAccount = new TwoFAccount();
|
||||
$fakeAccount = new TwoFAccount;
|
||||
$fakeAccount->id = TwoFAccount::FAKE_ID;
|
||||
$fakeAccount->otp_type = substr($uri, 10, 4);
|
||||
// Only basic fields are filled to limit the risk of another exception.
|
||||
|
@ -103,7 +103,7 @@ public function migrate(mixed $migrationPayload) : Collection
|
||||
Log::debug($exception->getMessage());
|
||||
|
||||
// The token failed to generate a valid account so we create a fake account to be returned.
|
||||
$fakeAccount = new TwoFAccount();
|
||||
$fakeAccount = new TwoFAccount;
|
||||
$fakeAccount->id = TwoFAccount::FAKE_ID;
|
||||
$fakeAccount->otp_type = $otp_parameters['otp']['tokenType'] ?? TwoFAccount::TOTP;
|
||||
// Only basic fields are filled to limit the risk of another exception.
|
||||
|
@ -93,7 +93,7 @@ public function migrate(mixed $migrationPayload) : Collection
|
||||
break;
|
||||
|
||||
default:
|
||||
throw new \Exception();
|
||||
throw new \Exception;
|
||||
}
|
||||
$parameters['icon_file'] = base64_decode($otp_parameters['icon_file']);
|
||||
}
|
||||
@ -112,7 +112,7 @@ public function migrate(mixed $migrationPayload) : Collection
|
||||
Log::debug($exception->getMessage());
|
||||
|
||||
// The token failed to generate a valid account so we create a fake account to be returned.
|
||||
$fakeAccount = new TwoFAccount();
|
||||
$fakeAccount = new TwoFAccount;
|
||||
$fakeAccount->id = TwoFAccount::FAKE_ID;
|
||||
$fakeAccount->otp_type = $otp_parameters['otp']['tokenType'] ?? TwoFAccount::TOTP;
|
||||
// Only basic fields are filled to limit the risk of another exception.
|
||||
|
@ -41,7 +41,7 @@ public static function decode(\Illuminate\Http\UploadedFile $file)
|
||||
{
|
||||
$qrcode = app()->make(QrReader::class, [
|
||||
'imgSource' => $file->get(),
|
||||
'sourceType' => QrReader::SOURCE_TYPE_BLOB
|
||||
'sourceType' => QrReader::SOURCE_TYPE_BLOB,
|
||||
]);
|
||||
|
||||
$text = $qrcode->text();
|
||||
|
@ -46,8 +46,9 @@ public static function withdraw($ids) : void
|
||||
|
||||
if ($affectedCount) {
|
||||
Log::info(sprintf('TwoFAccounts with IDs #%s withdrawn', implode(',', $ids)));
|
||||
} else {
|
||||
Log::info(sprintf('Cannot find TwoFAccounts to withdraw using ids #%s', implode(',', $ids)));
|
||||
}
|
||||
else Log::info(sprintf('Cannot find TwoFAccounts to withdraw using ids #%s', implode(',', $ids)));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -55,7 +55,7 @@
|
||||
* that can be requested max 10 times per minute by the same IP
|
||||
*/
|
||||
Route::group(['middleware' => ['guest', 'throttle:10,1']], function () {
|
||||
Route::post('user/login', [LoginController::class, 'login'])->name('user.login')->middleware('RejectIfSsoOnlyAndNotForAdmin');;
|
||||
Route::post('user/login', [LoginController::class, 'login'])->name('user.login')->middleware('RejectIfSsoOnlyAndNotForAdmin');
|
||||
Route::post('webauthn/login', [WebAuthnLoginController::class, 'login'])->name('webauthn.login')->middleware('RejectIfSsoOnlyAndNotForAdmin');
|
||||
|
||||
Route::get('/socialite/redirect/{driver}', [SocialiteController::class, 'redirect'])->name('socialite.redirect');
|
||||
@ -102,7 +102,7 @@
|
||||
Route::withoutMiddleware([
|
||||
SubstituteBindings::class,
|
||||
SetLanguage::class,
|
||||
CustomCreateFreshApiToken::class
|
||||
CustomCreateFreshApiToken::class,
|
||||
])->get('/up', function () {
|
||||
//Event::dispatch(new DiagnosingHealth);
|
||||
return view('health');
|
||||
|
@ -127,7 +127,7 @@ class TwoFAccountControllerTest extends FeatureTestCase
|
||||
'algorithm',
|
||||
'period',
|
||||
'counter',
|
||||
'otp' => self::VALID_EMBEDDED_OTP_RESOURCE_STRUCTURE_FOR_TOTP
|
||||
'otp' => self::VALID_EMBEDDED_OTP_RESOURCE_STRUCTURE_FOR_TOTP,
|
||||
];
|
||||
|
||||
private const VALID_COLLECTION_RESOURCE_STRUCTURE_WITH_OTP = [
|
||||
@ -141,7 +141,7 @@ class TwoFAccountControllerTest extends FeatureTestCase
|
||||
'algorithm',
|
||||
'period',
|
||||
'counter',
|
||||
'otp' => self::VALID_EMBEDDED_OTP_RESOURCE_STRUCTURE_FOR_TOTP
|
||||
'otp' => self::VALID_EMBEDDED_OTP_RESOURCE_STRUCTURE_FOR_TOTP,
|
||||
];
|
||||
|
||||
private const VALID_EXPORT_STRUTURE = [
|
||||
@ -717,7 +717,7 @@ public function test_update_with_assignement_to_null_group_returns_success_with_
|
||||
))
|
||||
->assertOk()
|
||||
->assertJsonFragment([
|
||||
'group_id' => null
|
||||
'group_id' => null,
|
||||
])
|
||||
->assertJsonFragment(self::JSON_FRAGMENTS_FOR_CUSTOM_TOTP);
|
||||
}
|
||||
@ -734,7 +734,7 @@ public function test_update_with_assignement_to_zero_group_returns_success_with_
|
||||
))
|
||||
->assertOk()
|
||||
->assertJsonFragment([
|
||||
'group_id' => null
|
||||
'group_id' => null,
|
||||
])
|
||||
->assertJsonFragment(self::JSON_FRAGMENTS_FOR_CUSTOM_TOTP);
|
||||
}
|
||||
@ -751,7 +751,7 @@ public function test_update_with_assignement_to_new_groupid_returns_success_with
|
||||
))
|
||||
->assertOk()
|
||||
->assertJsonFragment([
|
||||
'group_id' => $this->userGroupB->id
|
||||
'group_id' => $this->userGroupB->id,
|
||||
])
|
||||
->assertJsonFragment(self::JSON_FRAGMENTS_FOR_CUSTOM_TOTP);
|
||||
}
|
||||
|
@ -336,7 +336,7 @@ public function test_revokePATs_flushes_pats()
|
||||
{
|
||||
Artisan::call('passport:install', [
|
||||
'--verbose' => 2,
|
||||
'--no-interaction' => 1
|
||||
'--no-interaction' => 1,
|
||||
]);
|
||||
|
||||
$tokenRepository = app(TokenRepository::class);
|
||||
|
@ -1,12 +1,11 @@
|
||||
<?php declare(strict_types=1);
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Tests\Api\v1\Requests\DataProviders;
|
||||
|
||||
final class TwoFAccountDataProvider
|
||||
{
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public static function validIdsProvider() : array
|
||||
{
|
||||
return [
|
||||
@ -19,9 +18,6 @@ public static function validIdsProvider(): array
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public static function invalidIdsProvider() : array
|
||||
{
|
||||
return [
|
||||
@ -64,9 +60,6 @@ public static function invalidIdsProvider(): array
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public static function validIsAdminProvider() : array
|
||||
{
|
||||
return [
|
||||
@ -85,9 +78,6 @@ public static function validIsAdminProvider(): array
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public static function invalidIsAdminProvider() : array
|
||||
{
|
||||
return [
|
||||
|
@ -26,7 +26,7 @@ public function test_user_is_authorized()
|
||||
->once()
|
||||
->andReturn(true);
|
||||
|
||||
$request = new GroupAssignRequest();
|
||||
$request = new GroupAssignRequest;
|
||||
|
||||
$this->assertTrue($request->authorize());
|
||||
}
|
||||
@ -35,7 +35,7 @@ public function test_user_is_authorized()
|
||||
#[DataProvider('provideValidData')]
|
||||
public function test_valid_data(array $data) : void
|
||||
{
|
||||
$request = new GroupAssignRequest();
|
||||
$request = new GroupAssignRequest;
|
||||
$validator = Validator::make($data, $request->rules());
|
||||
|
||||
$this->assertFalse($validator->fails());
|
||||
@ -59,7 +59,7 @@ public static function provideValidData() : array
|
||||
#[DataProvider('provideInvalidData')]
|
||||
public function test_invalid_data(array $data) : void
|
||||
{
|
||||
$request = new GroupAssignRequest();
|
||||
$request = new GroupAssignRequest;
|
||||
$validator = Validator::make($data, $request->rules());
|
||||
|
||||
$this->assertTrue($validator->fails());
|
||||
|
@ -43,7 +43,7 @@ public function test_user_is_authorized()
|
||||
->once()
|
||||
->andReturn(true);
|
||||
|
||||
$request = new GroupStoreRequest();
|
||||
$request = new GroupStoreRequest;
|
||||
|
||||
$this->assertTrue($request->authorize());
|
||||
}
|
||||
|
@ -2,7 +2,6 @@
|
||||
|
||||
namespace Tests\Api\v1\Requests;
|
||||
|
||||
use App\Api\v1\Requests\GroupAssignRequest;
|
||||
use App\Api\v1\Requests\IconFetchRequest;
|
||||
use Illuminate\Foundation\Testing\WithoutMiddleware;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
@ -27,7 +26,7 @@ public function test_user_is_authorized()
|
||||
->once()
|
||||
->andReturn(true);
|
||||
|
||||
$request = new IconFetchRequest();
|
||||
$request = new IconFetchRequest;
|
||||
|
||||
$this->assertTrue($request->authorize());
|
||||
}
|
||||
@ -36,7 +35,7 @@ public function test_user_is_authorized()
|
||||
#[DataProvider('provideValidData')]
|
||||
public function test_valid_data(array $data) : void
|
||||
{
|
||||
$request = new IconFetchRequest();
|
||||
$request = new IconFetchRequest;
|
||||
$validator = Validator::make($data, $request->rules());
|
||||
|
||||
$this->assertFalse($validator->fails());
|
||||
@ -64,7 +63,7 @@ public static function provideValidData() : array
|
||||
#[DataProvider('provideInvalidData')]
|
||||
public function test_invalid_data(array $data) : void
|
||||
{
|
||||
$request = new IconFetchRequest();
|
||||
$request = new IconFetchRequest;
|
||||
$validator = Validator::make($data, $request->rules());
|
||||
|
||||
$this->assertTrue($validator->fails());
|
||||
|
@ -27,7 +27,7 @@ public function test_user_is_authorized()
|
||||
->once()
|
||||
->andReturn(true);
|
||||
|
||||
$request = new QrCodeDecodeRequest();
|
||||
$request = new QrCodeDecodeRequest;
|
||||
|
||||
$this->assertTrue($request->authorize());
|
||||
}
|
||||
@ -36,7 +36,7 @@ public function test_user_is_authorized()
|
||||
#[DataProvider('provideValidData')]
|
||||
public function test_valid_data(array $data) : void
|
||||
{
|
||||
$request = new QrCodeDecodeRequest();
|
||||
$request = new QrCodeDecodeRequest;
|
||||
$validator = Validator::make($data, $request->rules());
|
||||
|
||||
$this->assertFalse($validator->fails());
|
||||
@ -60,7 +60,7 @@ public static function provideValidData() : array
|
||||
#[DataProvider('provideInvalidData')]
|
||||
public function test_invalid_data(array $data) : void
|
||||
{
|
||||
$request = new QrCodeDecodeRequest();
|
||||
$request = new QrCodeDecodeRequest;
|
||||
$validator = Validator::make($data, $request->rules());
|
||||
|
||||
$this->assertTrue($validator->fails());
|
||||
|
@ -29,7 +29,7 @@ public function test_user_is_authorized()
|
||||
->once()
|
||||
->andReturn(true);
|
||||
|
||||
$request = new SettingStoreRequest();
|
||||
$request = new SettingStoreRequest;
|
||||
|
||||
$this->assertTrue($request->authorize());
|
||||
}
|
||||
@ -38,7 +38,7 @@ public function test_user_is_authorized()
|
||||
#[DataProvider('provideValidData')]
|
||||
public function test_valid_data(array $data) : void
|
||||
{
|
||||
$request = new SettingStoreRequest();
|
||||
$request = new SettingStoreRequest;
|
||||
$validator = Validator::make($data, $request->rules());
|
||||
|
||||
$this->assertFalse($validator->fails());
|
||||
@ -71,7 +71,7 @@ public function test_invalid_data(array $data) : void
|
||||
{
|
||||
Settings::set(self::UNIQUE_KEY, 'uniqueValue');
|
||||
|
||||
$request = new SettingStoreRequest();
|
||||
$request = new SettingStoreRequest;
|
||||
$validator = Validator::make($data, $request->rules());
|
||||
|
||||
$this->assertTrue($validator->fails());
|
||||
|
@ -26,7 +26,7 @@ public function test_user_is_authorized()
|
||||
->once()
|
||||
->andReturn(true);
|
||||
|
||||
$request = new SettingUpdateRequest();
|
||||
$request = new SettingUpdateRequest;
|
||||
|
||||
$this->assertTrue($request->authorize());
|
||||
}
|
||||
@ -35,7 +35,7 @@ public function test_user_is_authorized()
|
||||
#[DataProvider('provideValidData')]
|
||||
public function test_valid_data(array $data) : void
|
||||
{
|
||||
$request = new SettingUpdateRequest();
|
||||
$request = new SettingUpdateRequest;
|
||||
$validator = Validator::make($data, $request->rules());
|
||||
|
||||
$this->assertFalse($validator->fails());
|
||||
@ -63,7 +63,7 @@ public static function provideValidData() : array
|
||||
#[DataProvider('provideInvalidData')]
|
||||
public function test_invalid_data(array $data) : void
|
||||
{
|
||||
$request = new SettingUpdateRequest();
|
||||
$request = new SettingUpdateRequest;
|
||||
$validator = Validator::make($data, $request->rules());
|
||||
|
||||
$this->assertTrue($validator->fails());
|
||||
|
@ -27,7 +27,7 @@ public function test_user_is_authorized()
|
||||
->once()
|
||||
->andReturn(true);
|
||||
|
||||
$request = new TwoFAccountBatchRequest();
|
||||
$request = new TwoFAccountBatchRequest;
|
||||
|
||||
$this->assertTrue($request->authorize());
|
||||
}
|
||||
@ -36,7 +36,7 @@ public function test_user_is_authorized()
|
||||
#[DataProviderExternal(TwoFAccountDataProvider::class, 'validIdsProvider')]
|
||||
public function test_valid_data(array $data) : void
|
||||
{
|
||||
$request = new TwoFAccountBatchRequest();
|
||||
$request = new TwoFAccountBatchRequest;
|
||||
$validator = Validator::make($data, $request->rules());
|
||||
|
||||
$this->assertFalse($validator->fails());
|
||||
@ -46,7 +46,7 @@ public function test_valid_data(array $data) : void
|
||||
#[DataProviderExternal(TwoFAccountDataProvider::class, 'invalidIdsProvider')]
|
||||
public function test_invalid_data(array $data) : void
|
||||
{
|
||||
$request = new TwoFAccountBatchRequest();
|
||||
$request = new TwoFAccountBatchRequest;
|
||||
$validator = Validator::make($data, $request->rules());
|
||||
|
||||
$this->assertTrue($validator->fails());
|
||||
|
@ -26,7 +26,7 @@ public function test_user_is_authorized()
|
||||
->once()
|
||||
->andReturn(true);
|
||||
|
||||
$request = new TwoFAccountDynamicRequest();
|
||||
$request = new TwoFAccountDynamicRequest;
|
||||
|
||||
$this->assertTrue($request->authorize());
|
||||
}
|
||||
@ -34,8 +34,8 @@ public function test_user_is_authorized()
|
||||
#[Test]
|
||||
public function test_returns_TwoFAccountUriRequest_rules_when_has_uri_input()
|
||||
{
|
||||
$twofaccountUriRequest = new TwoFAccountUriRequest();
|
||||
$request = new TwoFAccountDynamicRequest();
|
||||
$twofaccountUriRequest = new TwoFAccountUriRequest;
|
||||
$request = new TwoFAccountDynamicRequest;
|
||||
$request->merge(['uri' => 'uristring']);
|
||||
|
||||
$this->assertEquals($twofaccountUriRequest->rules(), $request->rules());
|
||||
@ -44,8 +44,8 @@ public function test_returns_TwoFAccountUriRequest_rules_when_has_uri_input()
|
||||
#[Test]
|
||||
public function test_returns_TwoFAccountStoreRequest_rules_otherwise()
|
||||
{
|
||||
$twofaccountStoreRequest = new TwoFAccountStoreRequest();
|
||||
$request = new TwoFAccountDynamicRequest();
|
||||
$twofaccountStoreRequest = new TwoFAccountStoreRequest;
|
||||
$request = new TwoFAccountDynamicRequest;
|
||||
|
||||
$this->assertEquals($twofaccountStoreRequest->rules(), $request->rules());
|
||||
}
|
||||
|
@ -26,7 +26,7 @@ public function test_user_is_authorized()
|
||||
->once()
|
||||
->andReturn(true);
|
||||
|
||||
$request = new TwoFAccountImportRequest();
|
||||
$request = new TwoFAccountImportRequest;
|
||||
|
||||
$this->assertTrue($request->authorize());
|
||||
}
|
||||
@ -35,7 +35,7 @@ public function test_user_is_authorized()
|
||||
#[DataProvider('provideValidData')]
|
||||
public function test_valid_data(array $data) : void
|
||||
{
|
||||
$request = new TwoFAccountImportRequest();
|
||||
$request = new TwoFAccountImportRequest;
|
||||
$validator = Validator::make($data, $request->rules());
|
||||
|
||||
$this->assertFalse($validator->fails());
|
||||
@ -57,7 +57,7 @@ public static function provideValidData() : array
|
||||
#[DataProvider('provideInvalidData')]
|
||||
public function test_invalid_data(array $data) : void
|
||||
{
|
||||
$request = new TwoFAccountImportRequest();
|
||||
$request = new TwoFAccountImportRequest;
|
||||
$validator = Validator::make($data, $request->rules());
|
||||
|
||||
$this->assertTrue($validator->fails());
|
||||
|
@ -27,7 +27,7 @@ public function test_user_is_authorized()
|
||||
->once()
|
||||
->andReturn(true);
|
||||
|
||||
$request = new TwoFAccountIndexRequest();
|
||||
$request = new TwoFAccountIndexRequest;
|
||||
|
||||
$this->assertTrue($request->authorize());
|
||||
}
|
||||
@ -36,7 +36,7 @@ public function test_user_is_authorized()
|
||||
#[DataProviderExternal(TwoFAccountDataProvider::class, 'validIdsProvider')]
|
||||
public function test_valid_data(array $data) : void
|
||||
{
|
||||
$request = new TwoFAccountIndexRequest();
|
||||
$request = new TwoFAccountIndexRequest;
|
||||
$validator = Validator::make($data, $request->rules());
|
||||
|
||||
$this->assertFalse($validator->fails());
|
||||
@ -46,7 +46,7 @@ public function test_valid_data(array $data) : void
|
||||
#[DataProviderExternal(TwoFAccountDataProvider::class, 'invalidIdsProvider')]
|
||||
public function test_invalid_data(array $data) : void
|
||||
{
|
||||
$request = new TwoFAccountIndexRequest();
|
||||
$request = new TwoFAccountIndexRequest;
|
||||
$validator = Validator::make($data, $request->rules());
|
||||
|
||||
$this->assertTrue($validator->fails());
|
||||
|
@ -26,7 +26,7 @@ public function test_user_is_authorized()
|
||||
->once()
|
||||
->andReturn(true);
|
||||
|
||||
$request = new TwoFAccountReorderRequest();
|
||||
$request = new TwoFAccountReorderRequest;
|
||||
|
||||
$this->assertTrue($request->authorize());
|
||||
}
|
||||
@ -35,7 +35,7 @@ public function test_user_is_authorized()
|
||||
#[DataProvider('provideValidData')]
|
||||
public function test_valid_data(array $data) : void
|
||||
{
|
||||
$request = new TwoFAccountReorderRequest();
|
||||
$request = new TwoFAccountReorderRequest;
|
||||
$validator = Validator::make($data, $request->rules());
|
||||
|
||||
$this->assertFalse($validator->fails());
|
||||
@ -60,7 +60,7 @@ public static function provideValidData() : array
|
||||
#[DataProvider('provideInvalidData')]
|
||||
public function test_invalid_data(array $data) : void
|
||||
{
|
||||
$request = new TwoFAccountReorderRequest();
|
||||
$request = new TwoFAccountReorderRequest;
|
||||
$validator = Validator::make($data, $request->rules());
|
||||
|
||||
$this->assertTrue($validator->fails());
|
||||
|
@ -28,7 +28,7 @@ public function test_user_is_authorized()
|
||||
->once()
|
||||
->andReturn(true);
|
||||
|
||||
$request = new TwoFAccountStoreRequest();
|
||||
$request = new TwoFAccountStoreRequest;
|
||||
|
||||
$this->assertTrue($request->authorize());
|
||||
}
|
||||
@ -37,7 +37,7 @@ public function test_user_is_authorized()
|
||||
#[DataProvider('provideValidData')]
|
||||
public function test_valid_data(array $data) : void
|
||||
{
|
||||
$request = new TwoFAccountStoreRequest();
|
||||
$request = new TwoFAccountStoreRequest;
|
||||
$validator = Validator::make($data, $request->rules());
|
||||
|
||||
$this->assertFalse($validator->fails());
|
||||
@ -111,7 +111,7 @@ public static function provideValidData() : array
|
||||
#[DataProvider('provideInvalidData')]
|
||||
public function test_invalid_data(array $data) : void
|
||||
{
|
||||
$request = new TwoFAccountStoreRequest();
|
||||
$request = new TwoFAccountStoreRequest;
|
||||
$validator = Validator::make($data, $request->rules());
|
||||
|
||||
$this->assertTrue($validator->fails());
|
||||
|
@ -28,7 +28,7 @@ public function test_user_is_authorized()
|
||||
->once()
|
||||
->andReturn(true);
|
||||
|
||||
$request = new TwoFAccountUpdateRequest();
|
||||
$request = new TwoFAccountUpdateRequest;
|
||||
|
||||
$this->assertTrue($request->authorize());
|
||||
}
|
||||
@ -37,7 +37,7 @@ public function test_user_is_authorized()
|
||||
#[DataProvider('provideValidData')]
|
||||
public function test_valid_data(array $data) : void
|
||||
{
|
||||
$request = new TwoFAccountUpdateRequest();
|
||||
$request = new TwoFAccountUpdateRequest;
|
||||
$validator = Validator::make($data, $request->rules());
|
||||
|
||||
$this->assertFalse($validator->fails());
|
||||
@ -87,7 +87,7 @@ public static function provideValidData() : array
|
||||
#[DataProvider('provideInvalidData')]
|
||||
public function test_invalid_data(array $data) : void
|
||||
{
|
||||
$request = new TwoFAccountUpdateRequest();
|
||||
$request = new TwoFAccountUpdateRequest;
|
||||
$validator = Validator::make($data, $request->rules());
|
||||
|
||||
$this->assertTrue($validator->fails());
|
||||
|
@ -26,7 +26,7 @@ public function test_user_is_authorized()
|
||||
->once()
|
||||
->andReturn(true);
|
||||
|
||||
$request = new TwoFAccountUriRequest();
|
||||
$request = new TwoFAccountUriRequest;
|
||||
|
||||
$this->assertTrue($request->authorize());
|
||||
}
|
||||
@ -35,7 +35,7 @@ public function test_user_is_authorized()
|
||||
#[DataProvider('provideValidData')]
|
||||
public function test_valid_data(array $data) : void
|
||||
{
|
||||
$request = new TwoFAccountUriRequest();
|
||||
$request = new TwoFAccountUriRequest;
|
||||
$validator = Validator::make($data, $request->rules());
|
||||
|
||||
$this->assertFalse($validator->fails());
|
||||
@ -64,7 +64,7 @@ public static function provideValidData() : array
|
||||
#[DataProvider('provideInvalidData')]
|
||||
public function test_invalid_data(array $data) : void
|
||||
{
|
||||
$request = new TwoFAccountUriRequest();
|
||||
$request = new TwoFAccountUriRequest;
|
||||
$validator = Validator::make($data, $request->rules());
|
||||
|
||||
$this->assertTrue($validator->fails());
|
||||
|
@ -26,7 +26,7 @@ public function test_user_is_authorized()
|
||||
->once()
|
||||
->andReturn(true);
|
||||
|
||||
$request = new UserManagerPromoteRequest();
|
||||
$request = new UserManagerPromoteRequest;
|
||||
|
||||
$this->assertTrue($request->authorize());
|
||||
}
|
||||
@ -35,7 +35,7 @@ public function test_user_is_authorized()
|
||||
#[DataProvider('provideValidData')]
|
||||
public function test_valid_data(array $data) : void
|
||||
{
|
||||
$request = new UserManagerPromoteRequest();
|
||||
$request = new UserManagerPromoteRequest;
|
||||
$validator = Validator::make($data, $request->rules());
|
||||
|
||||
$this->assertFalse($validator->fails());
|
||||
@ -66,7 +66,7 @@ public static function provideValidData() : array
|
||||
#[DataProvider('provideInvalidData')]
|
||||
public function test_invalid_data(array $data) : void
|
||||
{
|
||||
$request = new UserManagerPromoteRequest();
|
||||
$request = new UserManagerPromoteRequest;
|
||||
$validator = Validator::make($data, $request->rules());
|
||||
|
||||
$this->assertTrue($validator->fails());
|
||||
|
@ -9,7 +9,6 @@
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
use PHPUnit\Framework\Attributes\DataProvider;
|
||||
use PHPUnit\Framework\Attributes\DataProviderExternal;
|
||||
use PHPUnit\Framework\Attributes\Test;
|
||||
use Tests\FeatureTestCase;
|
||||
|
||||
@ -28,7 +27,7 @@ public function test_admin_is_authorized()
|
||||
->once()
|
||||
->andReturn(true);
|
||||
|
||||
$request = new UserManagerStoreRequest();
|
||||
$request = new UserManagerStoreRequest;
|
||||
|
||||
$this->assertTrue($request->authorize());
|
||||
}
|
||||
@ -42,7 +41,7 @@ public function test_valid_data(array $data) : void
|
||||
'email' => 'jane@example.com',
|
||||
]);
|
||||
|
||||
$request = new UserManagerStoreRequest();
|
||||
$request = new UserManagerStoreRequest;
|
||||
$validator = Validator::make($data, $request->rules());
|
||||
|
||||
$this->assertFalse($validator->fails());
|
||||
@ -80,7 +79,7 @@ public function test_invalid_data(array $data) : void
|
||||
'email' => 'john@example.com',
|
||||
]);
|
||||
|
||||
$request = new UserManagerStoreRequest();
|
||||
$request = new UserManagerStoreRequest;
|
||||
$validator = Validator::make($data, $request->rules());
|
||||
|
||||
$this->assertTrue($validator->fails());
|
||||
|
@ -124,7 +124,7 @@ public function test_it_encrypts_the_field_of_invalid_records_only()
|
||||
|
||||
$expectedServiceName = 'myService';
|
||||
$twofaccounts = TwoFAccount::factory()->for($this->user)->count(3)->create([
|
||||
'service' => $expectedServiceName
|
||||
'service' => $expectedServiceName,
|
||||
]);
|
||||
|
||||
$testedAccount = $twofaccounts[2];
|
||||
@ -154,7 +154,7 @@ public function test_it_does_not_encrypt_the_record_if_encryption_is_not_consist
|
||||
|
||||
$expectedServiceName = 'myService';
|
||||
$twofaccounts = TwoFAccount::factory()->for($this->user)->count(3)->create([
|
||||
'service' => $expectedServiceName
|
||||
'service' => $expectedServiceName,
|
||||
]);
|
||||
|
||||
$testedAccount = $twofaccounts[2];
|
||||
|
@ -3,7 +3,6 @@
|
||||
namespace Tests\Feature\Console;
|
||||
|
||||
use App\Console\Commands\Install;
|
||||
use Illuminate\Support\Facades\Artisan;
|
||||
use Jackiedo\DotenvEditor\DotenvEditor;
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
use PHPUnit\Framework\Attributes\Test;
|
||||
@ -101,7 +100,7 @@ public function test_install_fails_with_link_to_online_help()
|
||||
{
|
||||
$mock = $this->mock(DotenvEditor::class);
|
||||
$mock->shouldReceive('load')
|
||||
->andThrow(new \Exception());
|
||||
->andThrow(new \Exception);
|
||||
|
||||
$this->artisan('2fauth:install')
|
||||
->expectsOutputToContain(config('2fauth.installDocUrl'))
|
||||
|
@ -22,7 +22,7 @@ public function test_reset_demo_succeeded()
|
||||
{
|
||||
Artisan::call('passport:install', [
|
||||
'--verbose' => 2,
|
||||
'--no-interaction' => 1
|
||||
'--no-interaction' => 1,
|
||||
]);
|
||||
|
||||
Config::set('2fauth.config.isDemoApp', true);
|
||||
|
@ -116,13 +116,13 @@ public static function ssoConfigVarProvider()
|
||||
{
|
||||
return [
|
||||
'TOKEN_URL' => [
|
||||
'token_url'
|
||||
'token_url',
|
||||
],
|
||||
'AUTHORIZE_URL' => [
|
||||
'authorize_url'
|
||||
'authorize_url',
|
||||
],
|
||||
'USERINFO_URL' => [
|
||||
'userinfo_url'
|
||||
'userinfo_url',
|
||||
],
|
||||
];
|
||||
}
|
||||
@ -286,7 +286,7 @@ public function test_callback_redirects_to_error_when_sso_provider_reject_auth()
|
||||
$newSocialiteUser->email = 'jane@provider.com';
|
||||
|
||||
Socialite::shouldReceive('driver->user')
|
||||
->andThrow(new Exception());
|
||||
->andThrow(new Exception);
|
||||
|
||||
$response = $this->get('/socialite/callback/github', ['driver' => 'github']);
|
||||
|
||||
|
@ -107,7 +107,7 @@ public function test_sendRecoveryEmail_does_not_send_anything_to_not_WebAuthnAut
|
||||
{
|
||||
$mock = $this->mock(\App\Extensions\WebauthnCredentialBroker::class)->makePartial();
|
||||
$mock->shouldReceive('getUser')
|
||||
->andReturn(new \Illuminate\Foundation\Auth\User());
|
||||
->andReturn(new \Illuminate\Foundation\Auth\User);
|
||||
|
||||
Notification::fake();
|
||||
|
||||
|
@ -204,7 +204,7 @@ public function test_webauthn_login_does_not_send_new_device_notification_if_use
|
||||
{
|
||||
Notification::fake();
|
||||
|
||||
$this->user['preferences->notifyOnNewAuthDevice'] =01;
|
||||
$this->user['preferences->notifyOnNewAuthDevice'] = 0;
|
||||
$this->user->save();
|
||||
|
||||
$this->createWebauthnCredential(self::CREDENTIAL_ID_ALT, $this->user->id, self::USER_ID_ALT);
|
||||
|
@ -39,7 +39,7 @@ public function test_uses_attestation_with_fastRegistration_request() : void
|
||||
$request = $this->mock(AttestationRequest::class);
|
||||
|
||||
$request->expects('fastRegistration')->andReturnSelf();
|
||||
$request->expects('toCreate')->andReturn(new JsonTransport());
|
||||
$request->expects('toCreate')->andReturn(new JsonTransport);
|
||||
|
||||
$this->actingAs($this->user, 'web-guard')
|
||||
->json('POST', '/webauthn/register/options')
|
||||
@ -54,7 +54,7 @@ public function test_uses_attestation_with_secureRegistration_request() : void
|
||||
$request = $this->mock(AttestationRequest::class);
|
||||
|
||||
$request->expects('secureRegistration')->andReturnSelf();
|
||||
$request->expects('toCreate')->andReturn(new JsonTransport());
|
||||
$request->expects('toCreate')->andReturn(new JsonTransport);
|
||||
|
||||
$this->actingAs($this->user, 'web-guard')
|
||||
->json('POST', '/webauthn/register/options')
|
||||
|
@ -28,8 +28,7 @@ public function test_users_are_rejected()
|
||||
$request = Request::create('/admin', 'GET');
|
||||
$middleware = new AdminOnly;
|
||||
|
||||
$response = $middleware->handle($request, function () {
|
||||
});
|
||||
$response = $middleware->handle($request, function () {});
|
||||
}
|
||||
|
||||
#[Test]
|
||||
@ -45,8 +44,7 @@ public function test_admins_pass()
|
||||
$request = Request::create('/admin', 'GET');
|
||||
$middleware = new AdminOnly;
|
||||
|
||||
$response = $middleware->handle($request, function () {
|
||||
});
|
||||
$response = $middleware->handle($request, function () {});
|
||||
|
||||
$this->assertNull($response);
|
||||
}
|
||||
|
@ -36,7 +36,7 @@ public function setUp() : void
|
||||
|
||||
$this->user = User::factory()->create();
|
||||
$this->admin = User::factory()->administrator()->create([
|
||||
'password' => self::PASSWORD
|
||||
'password' => self::PASSWORD,
|
||||
]);
|
||||
|
||||
Settings::set('useSsoOnly', true);
|
||||
|
@ -22,7 +22,7 @@ class LoginRequestTest extends FeatureTestCase
|
||||
#[Test]
|
||||
public function test_user_is_authorized()
|
||||
{
|
||||
$request = new LoginRequest();
|
||||
$request = new LoginRequest;
|
||||
|
||||
$this->assertTrue($request->authorize());
|
||||
}
|
||||
@ -35,7 +35,7 @@ public function test_valid_data(array $data) : void
|
||||
'email' => 'JOHN.DOE@example.com',
|
||||
]);
|
||||
|
||||
$request = new LoginRequest();
|
||||
$request = new LoginRequest;
|
||||
$validator = Validator::make($data, $request->rules());
|
||||
|
||||
$this->assertFalse($validator->fails());
|
||||
@ -66,7 +66,7 @@ public function test_invalid_data(array $data) : void
|
||||
'email' => 'JOHN.DOE@example.com',
|
||||
]);
|
||||
|
||||
$request = new LoginRequest();
|
||||
$request = new LoginRequest;
|
||||
$validator = Validator::make($data, $request->rules());
|
||||
|
||||
$this->assertTrue($validator->fails());
|
||||
|
@ -26,7 +26,7 @@ public function test_user_is_authorized()
|
||||
->once()
|
||||
->andReturn(true);
|
||||
|
||||
$request = new UserDeleteRequest();
|
||||
$request = new UserDeleteRequest;
|
||||
|
||||
$this->assertTrue($request->authorize());
|
||||
}
|
||||
@ -35,7 +35,7 @@ public function test_user_is_authorized()
|
||||
#[DataProvider('provideValidData')]
|
||||
public function test_valid_data(array $data) : void
|
||||
{
|
||||
$request = new UserDeleteRequest();
|
||||
$request = new UserDeleteRequest;
|
||||
$validator = Validator::make($data, $request->rules());
|
||||
|
||||
$this->assertFalse($validator->fails());
|
||||
@ -57,7 +57,7 @@ public static function provideValidData() : array
|
||||
#[DataProvider('provideInvalidData')]
|
||||
public function test_invalid_data(array $data) : void
|
||||
{
|
||||
$request = new UserDeleteRequest();
|
||||
$request = new UserDeleteRequest;
|
||||
$validator = Validator::make($data, $request->rules());
|
||||
|
||||
$this->assertTrue($validator->fails());
|
||||
|
@ -26,7 +26,7 @@ public function test_user_is_authorized()
|
||||
->once()
|
||||
->andReturn(true);
|
||||
|
||||
$request = new UserPatchPwdRequest();
|
||||
$request = new UserPatchPwdRequest;
|
||||
|
||||
$this->assertTrue($request->authorize());
|
||||
}
|
||||
@ -35,7 +35,7 @@ public function test_user_is_authorized()
|
||||
#[DataProvider('provideValidData')]
|
||||
public function test_valid_data(array $data) : void
|
||||
{
|
||||
$request = new UserPatchPwdRequest();
|
||||
$request = new UserPatchPwdRequest;
|
||||
$validator = Validator::make($data, $request->rules());
|
||||
|
||||
$this->assertFalse($validator->fails());
|
||||
@ -59,7 +59,7 @@ public static function provideValidData() : array
|
||||
#[DataProvider('provideInvalidData')]
|
||||
public function test_invalid_data(array $data) : void
|
||||
{
|
||||
$request = new UserPatchPwdRequest();
|
||||
$request = new UserPatchPwdRequest;
|
||||
$validator = Validator::make($data, $request->rules());
|
||||
|
||||
$this->assertTrue($validator->fails());
|
||||
|
@ -22,7 +22,7 @@ class UserStoreRequestTest extends FeatureTestCase
|
||||
#[Test]
|
||||
public function test_user_is_authorized()
|
||||
{
|
||||
$request = new UserStoreRequest();
|
||||
$request = new UserStoreRequest;
|
||||
|
||||
$this->assertTrue($request->authorize());
|
||||
}
|
||||
@ -36,7 +36,7 @@ public function test_valid_data(array $data) : void
|
||||
'email' => 'jane@example.com',
|
||||
]);
|
||||
|
||||
$request = new UserStoreRequest();
|
||||
$request = new UserStoreRequest;
|
||||
$validator = Validator::make($data, $request->rules());
|
||||
|
||||
$this->assertFalse($validator->fails());
|
||||
@ -72,7 +72,7 @@ public function test_invalid_data(array $data) : void
|
||||
'email' => 'john@example.com',
|
||||
]);
|
||||
|
||||
$request = new UserStoreRequest();
|
||||
$request = new UserStoreRequest;
|
||||
$validator = Validator::make($data, $request->rules());
|
||||
|
||||
$this->assertTrue($validator->fails());
|
||||
|
@ -28,7 +28,7 @@ public function test_user_is_authorized()
|
||||
->once()
|
||||
->andReturn(true);
|
||||
|
||||
$request = new UserUpdateRequest();
|
||||
$request = new UserUpdateRequest;
|
||||
|
||||
$this->assertTrue($request->authorize());
|
||||
}
|
||||
|
@ -22,7 +22,7 @@ class WebauthnAssertedRequestTest extends TestCase
|
||||
#[DataProvider('provideValidData')]
|
||||
public function test_valid_data(array $data) : void
|
||||
{
|
||||
$request = new WebauthnAssertedRequest();
|
||||
$request = new WebauthnAssertedRequest;
|
||||
$validator = Validator::make($data, $request->rules());
|
||||
|
||||
$this->assertFalse($validator->fails());
|
||||
@ -53,7 +53,7 @@ public static function provideValidData() : array
|
||||
#[DataProvider('provideInvalidData')]
|
||||
public function test_invalid_data(array $data) : void
|
||||
{
|
||||
$request = new WebauthnAssertedRequest();
|
||||
$request = new WebauthnAssertedRequest;
|
||||
$validator = Validator::make($data, $request->rules());
|
||||
|
||||
$this->assertTrue($validator->fails());
|
||||
|
@ -26,7 +26,7 @@ public function test_user_is_authorized()
|
||||
->once()
|
||||
->andReturn(true);
|
||||
|
||||
$request = new WebauthnRenameRequest();
|
||||
$request = new WebauthnRenameRequest;
|
||||
|
||||
$this->assertTrue($request->authorize());
|
||||
}
|
||||
@ -35,7 +35,7 @@ public function test_user_is_authorized()
|
||||
#[DataProvider('provideValidData')]
|
||||
public function test_valid_data(array $data) : void
|
||||
{
|
||||
$request = new WebauthnRenameRequest();
|
||||
$request = new WebauthnRenameRequest;
|
||||
$validator = Validator::make($data, $request->rules());
|
||||
|
||||
$this->assertFalse($validator->fails());
|
||||
@ -57,7 +57,7 @@ public static function provideValidData() : array
|
||||
#[DataProvider('provideInvalidData')]
|
||||
public function test_invalid_data(array $data) : void
|
||||
{
|
||||
$request = new WebauthnRenameRequest();
|
||||
$request = new WebauthnRenameRequest;
|
||||
$validator = Validator::make($data, $request->rules());
|
||||
|
||||
$this->assertTrue($validator->fails());
|
||||
|
@ -143,7 +143,7 @@ public function test_testEmail_returns_success_even_if_sending_fails()
|
||||
{
|
||||
Notification::fake();
|
||||
|
||||
$this->mock(Dispatcher::class)->shouldReceive('send')->andThrow(new Exception());
|
||||
$this->mock(Dispatcher::class)->shouldReceive('send')->andThrow(new Exception);
|
||||
|
||||
$response = $this->actingAs($this->admin, 'web-guard')
|
||||
->json('POST', '/system/test-email', []);
|
||||
|
@ -109,7 +109,7 @@ public function test_delete_removes_user_data()
|
||||
{
|
||||
Artisan::call('passport:install', [
|
||||
'--verbose' => 2,
|
||||
'--no-interaction' => 1
|
||||
'--no-interaction' => 1,
|
||||
]);
|
||||
|
||||
$user = User::factory()->create();
|
||||
@ -446,6 +446,4 @@ public function test_previousLoginIp_returns_null_if_user_has_no_auth_log()
|
||||
|
||||
$this->assertNull($previousLoginIp);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -31,7 +31,6 @@ class FailedLoginNotificationTest extends FeatureTestCase
|
||||
*/
|
||||
protected $failedLogin;
|
||||
|
||||
|
||||
public function setUp() : void
|
||||
{
|
||||
parent::setUp();
|
||||
@ -78,5 +77,4 @@ public function test_rendered_email_contains_expected_data()
|
||||
$mail
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -31,7 +31,6 @@ class SignedInWithNewDeviceNotificationTest extends FeatureTestCase
|
||||
*/
|
||||
protected $signedInWithNewDevice;
|
||||
|
||||
|
||||
public function setUp() : void
|
||||
{
|
||||
parent::setUp();
|
||||
@ -77,5 +76,4 @@ public function test_rendered_email_contains_expected_data()
|
||||
$mail
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -25,7 +25,6 @@ class TestEmailSettingNotificationTest extends FeatureTestCase
|
||||
*/
|
||||
protected $testEmailSettingNotification;
|
||||
|
||||
|
||||
public function setUp() : void
|
||||
{
|
||||
parent::setUp();
|
||||
|
@ -77,5 +77,4 @@ public function test_rendered_email_contains_expected_data()
|
||||
$mail
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -4,8 +4,8 @@
|
||||
|
||||
use App\Providers\RouteServiceProvider;
|
||||
use Illuminate\Support\Facades\Artisan;
|
||||
use Illuminate\Support\Str;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
use Illuminate\Support\Str;
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
use PHPUnit\Framework\Attributes\DataProvider;
|
||||
use PHPUnit\Framework\Attributes\Test;
|
||||
@ -15,6 +15,7 @@
|
||||
class RouteTest extends FeatureTestCase
|
||||
{
|
||||
const API_ROUTE_PREFIX = 'api/v1';
|
||||
|
||||
const API_MIDDLEWARE = 'api.v1';
|
||||
|
||||
#[Test]
|
||||
@ -61,9 +62,7 @@ public function test_router_has_expected_global_where_patterns($pattern)
|
||||
public static function wherePatternProvider()
|
||||
{
|
||||
return [
|
||||
'SETTING_NAME' => ['settingName']
|
||||
'SETTING_NAME' => ['settingName'],
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -39,7 +39,7 @@ public function test_getIcon_returns_stored_icon_file_when_logo_exists()
|
||||
Storage::fake('icons');
|
||||
Storage::fake('logos');
|
||||
|
||||
$logoService = new LogoService();
|
||||
$logoService = new LogoService;
|
||||
$icon = $logoService->getIcon('twitter');
|
||||
|
||||
$this->assertNotNull($icon);
|
||||
@ -56,7 +56,7 @@ public function test_getIcon_returns_null_when_github_request_fails()
|
||||
|
||||
Storage::fake('icons');
|
||||
Storage::fake('logos');
|
||||
$logoService = new LogoService();
|
||||
$logoService = new LogoService;
|
||||
|
||||
$icon = $logoService->getIcon('twitter');
|
||||
|
||||
@ -75,7 +75,7 @@ public function test_getIcon_returns_null_when_logo_fetching_fails()
|
||||
|
||||
Storage::fake('icons');
|
||||
Storage::fake('logos');
|
||||
$logoService = new LogoService();
|
||||
$logoService = new LogoService;
|
||||
|
||||
$icon = $logoService->getIcon('twitter');
|
||||
|
||||
@ -85,7 +85,7 @@ public function test_getIcon_returns_null_when_logo_fetching_fails()
|
||||
#[Test]
|
||||
public function test_getIcon_returns_null_when_no_logo_exists()
|
||||
{
|
||||
$logoService = new LogoService();
|
||||
$logoService = new LogoService;
|
||||
|
||||
$icon = $logoService->getIcon('no_logo_should_exists_with_this_name');
|
||||
|
||||
@ -105,7 +105,7 @@ public function test_logoService_loads_empty_collection_when_tfajson_fetching_fa
|
||||
Storage::fake('icons');
|
||||
Storage::fake('logos');
|
||||
|
||||
$logoService = new LogoService();
|
||||
$logoService = new LogoService;
|
||||
$icon = $logoService->getIcon('twitter');
|
||||
|
||||
$this->assertNull($icon);
|
||||
|
@ -77,16 +77,13 @@ public function test_decodee_throws_an_exception($exception)
|
||||
QrCode::decode(LocalFile::fake()->validQrcode());
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public static function QrReaderExceptionProvider()
|
||||
{
|
||||
return [
|
||||
'NotFoundException' => [new NotFoundException()],
|
||||
'FormatException' => [new FormatException()],
|
||||
'ChecksumException' => [new ChecksumException()],
|
||||
'default' => [new Exception()],
|
||||
'NotFoundException' => [new NotFoundException],
|
||||
'FormatException' => [new FormatException],
|
||||
'ChecksumException' => [new ChecksumException],
|
||||
'default' => [new Exception],
|
||||
];
|
||||
}
|
||||
}
|
||||
|
@ -337,7 +337,7 @@ public function test_cache_is_requested_at_instanciation()
|
||||
Cache::shouldReceive('remember')
|
||||
->andReturn(collect([]));
|
||||
|
||||
$settingService = new SettingService();
|
||||
$settingService = new SettingService;
|
||||
|
||||
Cache::shouldHaveReceived('remember');
|
||||
}
|
||||
@ -348,7 +348,7 @@ public function test_cache_is_updated_when_setting_is_set()
|
||||
Cache::shouldReceive('remember', 'put')
|
||||
->andReturn(collect([]), true);
|
||||
|
||||
$settingService = new SettingService();
|
||||
$settingService = new SettingService;
|
||||
$settingService->set(self::SETTING_NAME, self::SETTING_VALUE_STRING);
|
||||
|
||||
Cache::shouldHaveReceived('put');
|
||||
@ -360,7 +360,7 @@ public function test_cache_is_updated_when_setting_is_deleted()
|
||||
Cache::shouldReceive('remember', 'put')
|
||||
->andReturn(collect([]), true);
|
||||
|
||||
$settingService = new SettingService();
|
||||
$settingService = new SettingService;
|
||||
$settingService->delete(self::SETTING_NAME);
|
||||
|
||||
Cache::shouldHaveReceived('put');
|
||||
|
@ -45,6 +45,4 @@ public function test_calling_index_fires_ScanForNewReleaseCalled_event()
|
||||
|
||||
Event::assertDispatched(ScanForNewReleaseCalled::class);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -4,7 +4,6 @@
|
||||
|
||||
use Illuminate\Foundation\Testing\LazilyRefreshDatabase;
|
||||
use Illuminate\Foundation\Testing\TestCase as BaseTestCase;
|
||||
use Illuminate\Support\Facades\Artisan;
|
||||
|
||||
abstract class FeatureTestCase extends BaseTestCase
|
||||
{
|
||||
|
@ -34,7 +34,7 @@ public function setUp() : void
|
||||
{
|
||||
parent::setUp();
|
||||
|
||||
$this->user = new User();
|
||||
$this->user = new User;
|
||||
|
||||
// We do not use $this->actingAs($this->user) to prevent intelephense
|
||||
// static analysis error. Dumb, but I don't like errors...
|
||||
@ -48,7 +48,7 @@ public function test_index_returns_api_resources()
|
||||
$user = Mockery::mock(User::class);
|
||||
$request = Mockery::mock(Request::class);
|
||||
$groups = Group::factory()->count(3)->make();
|
||||
$controller = new GroupController();
|
||||
$controller = new GroupController;
|
||||
|
||||
$user->shouldReceive('groups->withCount->get')
|
||||
->once()
|
||||
@ -70,7 +70,7 @@ public function test_index_returns_api_resources()
|
||||
public function test_store_uses_validated_data_and_returns_api_resource()
|
||||
{
|
||||
$request = Mockery::mock(GroupStoreRequest::class);
|
||||
$controller = new GroupController();
|
||||
$controller = new GroupController;
|
||||
$group = Group::factory()->for($this->user)->make();
|
||||
$validated = ['name' => $group->name];
|
||||
|
||||
|
@ -17,7 +17,7 @@ class VisitedByProxyUserTest extends TestCase
|
||||
#[Test]
|
||||
public function test_event_constructor()
|
||||
{
|
||||
$user = new User();
|
||||
$user = new User;
|
||||
$event = new VisitedByProxyUser($user);
|
||||
|
||||
$this->assertSame($user, $event->user);
|
||||
|
@ -36,7 +36,7 @@ public function test_exceptions_returns_badRequest_json_response($exception)
|
||||
$method = $class->getMethod('render');
|
||||
$method->setAccessible(true);
|
||||
|
||||
$response = $method->invokeArgs($instance, [new Request(), $this->createMock($exception)]);
|
||||
$response = $method->invokeArgs($instance, [new Request, $this->createMock($exception)]);
|
||||
|
||||
$this->assertInstanceOf(JsonResponse::class, $response);
|
||||
|
||||
@ -93,7 +93,7 @@ public function test_exceptions_returns_notFound_json_response($exception)
|
||||
$method = $class->getMethod('render');
|
||||
$method->setAccessible(true);
|
||||
|
||||
$response = $method->invokeArgs($instance, [new Request(), $this->createMock($exception)]);
|
||||
$response = $method->invokeArgs($instance, [new Request, $this->createMock($exception)]);
|
||||
|
||||
$this->assertInstanceOf(JsonResponse::class, $response);
|
||||
|
||||
@ -131,7 +131,7 @@ public function test_authenticationException_returns_unauthorized_json_response(
|
||||
$mockException = $this->createMock(\Illuminate\Auth\AuthenticationException::class);
|
||||
$mockException->method('guards')->willReturn(['web-guard']);
|
||||
|
||||
$response = $method->invokeArgs($instance, [new Request(), $mockException]);
|
||||
$response = $method->invokeArgs($instance, [new Request, $mockException]);
|
||||
|
||||
$this->assertInstanceOf(JsonResponse::class, $response);
|
||||
|
||||
@ -154,7 +154,7 @@ public function test_authenticationException_returns_proxyAuthRequired_json_resp
|
||||
$mockException = $this->createMock(\Illuminate\Auth\AuthenticationException::class);
|
||||
$mockException->method('guards')->willReturn(['reverse-proxy-guard']);
|
||||
|
||||
$response = $method->invokeArgs($instance, [new Request(), $mockException]);
|
||||
$response = $method->invokeArgs($instance, [new Request, $mockException]);
|
||||
|
||||
$this->assertInstanceOf(JsonResponse::class, $response);
|
||||
|
||||
@ -176,7 +176,7 @@ public function test_AccessDeniedException_returns_forbidden_json_response()
|
||||
|
||||
$mockException = $this->createMock(\Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException::class);
|
||||
|
||||
$response = $method->invokeArgs($instance, [new Request(), $mockException]);
|
||||
$response = $method->invokeArgs($instance, [new Request, $mockException]);
|
||||
|
||||
$this->assertInstanceOf(JsonResponse::class, $response);
|
||||
|
||||
|
@ -21,7 +21,7 @@ class GroupModelTest extends ModelTestCase
|
||||
public function test_model_configuration()
|
||||
{
|
||||
$this->runConfigurationAssertions(
|
||||
new Group(),
|
||||
new Group,
|
||||
['name'],
|
||||
['created_at', 'updated_at'],
|
||||
['*'],
|
||||
@ -41,9 +41,9 @@ public function test_model_configuration()
|
||||
#[Test]
|
||||
public function test_twofaccounts_relation()
|
||||
{
|
||||
$group = new Group();
|
||||
$group = new Group;
|
||||
$accounts = $group->twofaccounts();
|
||||
$this->assertHasManyRelation($accounts, $group, new TwoFAccount());
|
||||
$this->assertHasManyRelation($accounts, $group, new TwoFAccount);
|
||||
}
|
||||
|
||||
#[Test]
|
||||
|
@ -55,5 +55,4 @@ public function test_handle_send_nothing_if_user_is_null()
|
||||
|
||||
Notification::assertNothingSent();
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -41,5 +41,4 @@ public function test_handle_throws_exception_with_unexpected_event_type()
|
||||
|
||||
$listener->handle($event);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -29,7 +29,7 @@ public function test_it_deletes_icon_file_using_storage_facade()
|
||||
|
||||
$twofaccount = TwoFAccount::factory()->make();
|
||||
$event = new TwoFAccountDeleted($twofaccount);
|
||||
$listener = new CleanIconStorage();
|
||||
$listener = new CleanIconStorage;
|
||||
|
||||
Storage::shouldReceive('disk->delete')
|
||||
->with($event->twofaccount->icon)
|
||||
|
@ -32,8 +32,8 @@ public function test_LogNotificationTest_listen_to_NotificationSent_event()
|
||||
#[Test]
|
||||
public function test_handle_logs_notification_sending()
|
||||
{
|
||||
$event = new NotificationSent((new User()), (new TestEmailSettingNotification()), 'channel');
|
||||
$listener = new LogNotificationListener();
|
||||
$event = new NotificationSent((new User), (new TestEmailSettingNotification), 'channel');
|
||||
$listener = new LogNotificationListener;
|
||||
|
||||
Log::shouldReceive('info')->once();
|
||||
|
||||
|
@ -24,8 +24,8 @@ public function test_it_starts_release_scan()
|
||||
$releaseRadarService->shouldReceive('scheduledScan');
|
||||
});
|
||||
|
||||
$event = new ScanForNewReleaseCalled();
|
||||
$listener = new ReleaseRadar();
|
||||
$event = new ScanForNewReleaseCalled;
|
||||
$listener = new ReleaseRadar;
|
||||
|
||||
$this->assertNull($listener->handle($event));
|
||||
}
|
||||
|
@ -20,8 +20,8 @@
|
||||
use Mockery\MockInterface;
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
use PHPUnit\Framework\Attributes\DataProvider;
|
||||
use PHPUnit\Framework\Attributes\UsesClass;
|
||||
use PHPUnit\Framework\Attributes\Test;
|
||||
use PHPUnit\Framework\Attributes\UsesClass;
|
||||
use Tests\Data\MigrationTestData;
|
||||
use Tests\Data\OtpTestData;
|
||||
use Tests\TestCase;
|
||||
@ -189,37 +189,37 @@ public static function validMigrationsProvider()
|
||||
{
|
||||
return [
|
||||
'PLAIN_TEXT_PAYLOAD' => [
|
||||
new PlainTextMigrator(),
|
||||
new PlainTextMigrator,
|
||||
MigrationTestData::VALID_PLAIN_TEXT_PAYLOAD,
|
||||
'custom',
|
||||
$hasSteam = true,
|
||||
],
|
||||
'PLAIN_TEXT_PAYLOAD_WITH_INTRUDER' => [
|
||||
new PlainTextMigrator(),
|
||||
new PlainTextMigrator,
|
||||
MigrationTestData::VALID_PLAIN_TEXT_PAYLOAD_WITH_INTRUDER,
|
||||
'custom',
|
||||
$hasSteam = true,
|
||||
],
|
||||
'AEGIS_JSON_MIGRATION_PAYLOAD' => [
|
||||
new AegisMigrator(),
|
||||
new AegisMigrator,
|
||||
MigrationTestData::VALID_AEGIS_JSON_MIGRATION_PAYLOAD,
|
||||
'custom',
|
||||
$hasSteam = true,
|
||||
],
|
||||
'2FAS_MIGRATION_PAYLOAD' => [
|
||||
new TwoFASMigrator(),
|
||||
new TwoFASMigrator,
|
||||
MigrationTestData::VALID_2FAS_MIGRATION_PAYLOAD,
|
||||
'custom',
|
||||
$hasSteam = false,
|
||||
],
|
||||
'GOOGLE_AUTH_MIGRATION_PAYLOAD' => [
|
||||
new GoogleAuthMigrator(),
|
||||
new GoogleAuthMigrator,
|
||||
MigrationTestData::GOOGLE_AUTH_MIGRATION_URI,
|
||||
'gauth',
|
||||
$hasSteam = false,
|
||||
],
|
||||
'2FAUTH_MIGRATION_PAYLOAD' => [
|
||||
new TwoFAuthMigrator(),
|
||||
new TwoFAuthMigrator,
|
||||
MigrationTestData::VALID_2FAUTH_JSON_MIGRATION_PAYLOAD,
|
||||
'custom',
|
||||
$hasSteam = true,
|
||||
@ -243,51 +243,51 @@ public static function invalidMigrationsProvider()
|
||||
{
|
||||
return [
|
||||
'INVALID_PLAIN_TEXT_NO_URI' => [
|
||||
new PlainTextMigrator(),
|
||||
new PlainTextMigrator,
|
||||
MigrationTestData::INVALID_PLAIN_TEXT_NO_URI,
|
||||
],
|
||||
'INVALID_PLAIN_TEXT_ONLY_EMPTY_LINES' => [
|
||||
new PlainTextMigrator(),
|
||||
new PlainTextMigrator,
|
||||
MigrationTestData::INVALID_PLAIN_TEXT_ONLY_EMPTY_LINES,
|
||||
],
|
||||
'INVALID_PLAIN_TEXT_NULL' => [
|
||||
new PlainTextMigrator(),
|
||||
new PlainTextMigrator,
|
||||
null,
|
||||
],
|
||||
'INVALID_PLAIN_TEXT_EMPTY_STRING' => [
|
||||
new PlainTextMigrator(),
|
||||
new PlainTextMigrator,
|
||||
'',
|
||||
],
|
||||
'INVALID_PLAIN_TEXT_INT' => [
|
||||
new PlainTextMigrator(),
|
||||
new PlainTextMigrator,
|
||||
10,
|
||||
],
|
||||
'INVALID_PLAIN_TEXT_BOOL' => [
|
||||
new PlainTextMigrator(),
|
||||
new PlainTextMigrator,
|
||||
true,
|
||||
],
|
||||
'INVALID_AEGIS_JSON_MIGRATION_PAYLOAD' => [
|
||||
new AegisMigrator(),
|
||||
new AegisMigrator,
|
||||
MigrationTestData::INVALID_AEGIS_JSON_MIGRATION_PAYLOAD,
|
||||
],
|
||||
'ENCRYPTED_AEGIS_JSON_MIGRATION_PAYLOAD' => [
|
||||
new AegisMigrator(),
|
||||
new AegisMigrator,
|
||||
MigrationTestData::ENCRYPTED_AEGIS_JSON_MIGRATION_PAYLOAD,
|
||||
],
|
||||
'INVALID_2FAS_MIGRATION_PAYLOAD' => [
|
||||
new TwoFASMigrator(),
|
||||
new TwoFASMigrator,
|
||||
MigrationTestData::INVALID_2FAS_MIGRATION_PAYLOAD,
|
||||
],
|
||||
'INVALID_GOOGLE_AUTH_MIGRATION_URI' => [
|
||||
new GoogleAuthMigrator(),
|
||||
new GoogleAuthMigrator,
|
||||
MigrationTestData::INVALID_GOOGLE_AUTH_MIGRATION_URI,
|
||||
],
|
||||
'GOOGLE_AUTH_MIGRATION_URI_WITH_INVALID_DATA' => [
|
||||
new GoogleAuthMigrator(),
|
||||
new GoogleAuthMigrator,
|
||||
MigrationTestData::GOOGLE_AUTH_MIGRATION_URI_WITH_INVALID_DATA,
|
||||
],
|
||||
'INVALID_2FAUTH_JSON_MIGRATION_PAYLOAD' => [
|
||||
new TwoFAuthMigrator(),
|
||||
new TwoFAuthMigrator,
|
||||
MigrationTestData::INVALID_2FAUTH_JSON_MIGRATION_PAYLOAD,
|
||||
],
|
||||
|
||||
@ -316,19 +316,19 @@ public static function migrationWithInvalidAccountsProvider()
|
||||
{
|
||||
return [
|
||||
'PLAIN_TEXT_PAYLOAD_WITH_INVALID_URI' => [
|
||||
new PlainTextMigrator(),
|
||||
new PlainTextMigrator,
|
||||
MigrationTestData::PLAIN_TEXT_PAYLOAD_WITH_INVALID_URI,
|
||||
],
|
||||
'VALID_AEGIS_JSON_MIGRATION_PAYLOAD_WITH_UNSUPPORTED_OTP_TYPE' => [
|
||||
new AegisMigrator(),
|
||||
new AegisMigrator,
|
||||
MigrationTestData::VALID_AEGIS_JSON_MIGRATION_PAYLOAD_WITH_UNSUPPORTED_OTP_TYPE,
|
||||
],
|
||||
'VALID_2FAS_MIGRATION_PAYLOAD_WITH_UNSUPPORTED_OTP_TYPE' => [
|
||||
new TwoFASMigrator(),
|
||||
new TwoFASMigrator,
|
||||
MigrationTestData::VALID_2FAS_MIGRATION_PAYLOAD_WITH_UNSUPPORTED_OTP_TYPE,
|
||||
],
|
||||
'VALID_2FAUTH_MIGRATION_PAYLOAD_WITH_UNSUPPORTED_OTP_TYPE' => [
|
||||
new TwoFAuthMigrator(),
|
||||
new TwoFAuthMigrator,
|
||||
MigrationTestData::VALID_2FAUTH_MIGRATION_PAYLOAD_WITH_UNSUPPORTED_OTP_TYPE,
|
||||
],
|
||||
];
|
||||
@ -339,7 +339,7 @@ public function test_migrate_gauth_returns_fake_accounts()
|
||||
{
|
||||
$migrator = $this->partialMock(GoogleAuthMigrator::class, function (MockInterface $migrator) {
|
||||
$migrator->shouldAllowMockingProtectedMethods()->shouldReceive('toBase32')
|
||||
->andThrow(new \Exception());
|
||||
->andThrow(new \Exception);
|
||||
});
|
||||
|
||||
/** @disregard Undefined function */
|
||||
@ -362,7 +362,7 @@ public function test_migrate_aegis_payload_with_icon_sets_and_stores_the_icon($m
|
||||
{
|
||||
Storage::fake('icons');
|
||||
|
||||
$migrator = new AegisMigrator();
|
||||
$migrator = new AegisMigrator;
|
||||
$accounts = $migrator->migrate($migration);
|
||||
|
||||
$this->assertContainsOnlyInstancesOf(TwoFAccount::class, $accounts);
|
||||
@ -394,7 +394,7 @@ public function test_migrate_aegis_payload_with_unsupported_icon_does_not_fail()
|
||||
{
|
||||
Storage::fake('icons');
|
||||
|
||||
$migrator = new AegisMigrator();
|
||||
$migrator = new AegisMigrator;
|
||||
$accounts = $migrator->migrate(MigrationTestData::VALID_AEGIS_JSON_MIGRATION_PAYLOAD_WITH_UNSUPPORTED_ICON);
|
||||
|
||||
$this->assertContainsOnlyInstancesOf(TwoFAccount::class, $accounts);
|
||||
@ -410,7 +410,7 @@ public function test_migrate_2fauth_payload_with_icon_sets_and_stores_the_icon($
|
||||
{
|
||||
Storage::fake('icons');
|
||||
|
||||
$migrator = new TwoFAuthMigrator();
|
||||
$migrator = new TwoFAuthMigrator;
|
||||
$accounts = $migrator->migrate($migration);
|
||||
|
||||
$this->assertContainsOnlyInstancesOf(TwoFAccount::class, $accounts);
|
||||
@ -451,7 +451,7 @@ public function test_migrate_2fauth_payload_with_unsupported_icon_does_not_fail(
|
||||
{
|
||||
Storage::fake('icons');
|
||||
|
||||
$migrator = new TwoFAuthMigrator();
|
||||
$migrator = new TwoFAuthMigrator;
|
||||
$accounts = $migrator->migrate(MigrationTestData::VALID_2FAUTH_JSON_MIGRATION_PAYLOAD_WITH_UNSUPPORTED_ICON);
|
||||
|
||||
$this->assertContainsOnlyInstancesOf(TwoFAccount::class, $accounts);
|
||||
@ -465,7 +465,7 @@ public function test_migrate_2fauth_payload_with_unsupported_icon_does_not_fail(
|
||||
#[DataProvider('factoryProvider')]
|
||||
public function test_factory_returns_relevant_migrator($payload, $migratorClass)
|
||||
{
|
||||
$factory = new MigratorFactory();
|
||||
$factory = new MigratorFactory;
|
||||
|
||||
$migrator = $factory->create($payload);
|
||||
|
||||
@ -509,7 +509,7 @@ public static function factoryProvider()
|
||||
public function test_factory_throw_UnsupportedMigrationException()
|
||||
{
|
||||
$this->expectException(UnsupportedMigrationException::class);
|
||||
$factory = new MigratorFactory();
|
||||
$factory = new MigratorFactory;
|
||||
|
||||
$migrator = $factory->create('not_a_valid_payload');
|
||||
}
|
||||
@ -520,7 +520,7 @@ public function test_factory_throw_EncryptedMigrationException($payload)
|
||||
{
|
||||
$this->expectException(EncryptedMigrationException::class);
|
||||
|
||||
$factory = new MigratorFactory();
|
||||
$factory = new MigratorFactory;
|
||||
|
||||
$migrator = $factory->create($payload);
|
||||
}
|
||||
|
@ -3,8 +3,8 @@
|
||||
namespace Tests\Unit\Providers\Socialite;
|
||||
|
||||
use App\Providers\Socialite\OpenId;
|
||||
use SocialiteProviders\Manager\OAuth2\User;
|
||||
use Mockery;
|
||||
use SocialiteProviders\Manager\OAuth2\User;
|
||||
use stdClass;
|
||||
|
||||
class OpenIdProviderStub extends OpenId
|
||||
|
@ -29,7 +29,7 @@ public function test_it_can_map_a_user_from_an_access_token()
|
||||
$provider->stateless();
|
||||
|
||||
$provider->http = Mockery::mock(stdClass::class);
|
||||
$provider->http->expects('get')->with(NULL, [
|
||||
$provider->http->expects('get')->with(null, [
|
||||
RequestOptions::HEADERS => [
|
||||
'Authorization' => 'Bearer access_token',
|
||||
],
|
||||
@ -59,7 +59,7 @@ public function test_it_can_map_a_user_from_an_access_token_with_missing_fields(
|
||||
$provider->stateless();
|
||||
|
||||
$provider->http = Mockery::mock(stdClass::class);
|
||||
$provider->http->expects('get')->with(NULL, [
|
||||
$provider->http->expects('get')->with(null, [
|
||||
RequestOptions::HEADERS => [
|
||||
'Authorization' => 'Bearer access_token',
|
||||
],
|
||||
|
@ -24,7 +24,7 @@ class TwoFAccountModelTest extends ModelTestCase
|
||||
public function test_model_configuration()
|
||||
{
|
||||
$this->runConfigurationAssertions(
|
||||
new TwoFAccount(),
|
||||
new TwoFAccount,
|
||||
[],
|
||||
[],
|
||||
['*'],
|
||||
@ -138,7 +138,7 @@ public function test_secret_is_uppercased_and_padded_at_setup()
|
||||
#[Test]
|
||||
public function test_user_relation()
|
||||
{
|
||||
$model = new TwoFAccount();
|
||||
$model = new TwoFAccount;
|
||||
$relation = $model->user();
|
||||
|
||||
$this->assertInstanceOf(BelongsTo::class, $relation);
|
||||
|
@ -18,7 +18,7 @@ class UserModelTest extends ModelTestCase
|
||||
#[Test]
|
||||
public function test_model_configuration()
|
||||
{
|
||||
$this->runConfigurationAssertions(new User(),
|
||||
$this->runConfigurationAssertions(new User,
|
||||
['name', 'email', 'password', 'oauth_id', 'oauth_provider'],
|
||||
['password', 'remember_token'],
|
||||
['*'],
|
||||
@ -47,17 +47,17 @@ public function test_email_is_set_lowercased()
|
||||
#[Test]
|
||||
public function test_twofaccounts_relation()
|
||||
{
|
||||
$user = new User();
|
||||
$user = new User;
|
||||
$accounts = $user->twofaccounts();
|
||||
$this->assertHasManyRelation($accounts, $user, new TwoFAccount());
|
||||
$this->assertHasManyRelation($accounts, $user, new TwoFAccount);
|
||||
}
|
||||
|
||||
#[Test]
|
||||
public function test_groups_relation()
|
||||
{
|
||||
$user = new User();
|
||||
$user = new User;
|
||||
$groups = $user->groups();
|
||||
$this->assertHasManyRelation($groups, $user, new Group());
|
||||
$this->assertHasManyRelation($groups, $user, new Group);
|
||||
}
|
||||
|
||||
#[Test]
|
||||
|
Loading…
Reference in New Issue
Block a user