覆盖个人访问令牌在laravel中设置时过期

时间:2019-07-30 04:14:11

标签: php laravel tdd

我正在使用旅行护照中的个人访问令牌。我为应用程序添加了5分钟的到期时间。

AuthServiceProvider

Passport::personalAccessTokensExpireIn(now()->addMinutes(5));

我想通过覆盖AuthServiceProvider中的上述配置来测试令牌的到期日期。

我尝试按照以下方法在测试方法中进行覆盖

public function it_should_check_token_expiration()
{
    //override current token expiry
    Passport::personalAccessTokensExpireIn(now()->addMinutes(2));

    // create fake user
    $user = factory(User::class)->create([
        'email' => 'test@testing.com',
        'password' => bcrypt('testing'),
        'first_name' => 'testing',
        'last_name'  => 'tester'
    ]);

    //act as auth user
    $this -> actingAs($user, 'api');
    //retrieve token information
    $now = Carbon::now();
    $personalAccessTokenResult = $user -> createToken('MyApp');
    self::assertNotNull($personalAccessTokenResult, 'Unable to create token from given user');
    $minute = $personalAccessTokenResult -> token -> expires_at -> diffInMinutes($now);
    self::assertTrue($minute === 1,'Expired minute not matched');
}

它不起作用。有什么办法,我可以为测试环境使用其他设置。

0 个答案:

没有答案