Skip to content
This repository was archived by the owner on Jul 24, 2023. It is now read-only.

Commit 69e9a30

Browse files
committed
Added WindowsAuthenticate test
1 parent f1e61a6 commit 69e9a30

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed

tests/WindowsAuthenticateTest.php

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
<?php
2+
3+
namespace Adldap\Laravel\Tests;
4+
5+
use Mockery as m;
6+
use Adldap\Laravel\Auth\ResolverInterface;
7+
use Adldap\Laravel\Middleware\WindowsAuthenticate;
8+
9+
class WindowsAuthenticateTest extends DatabaseTestCase
10+
{
11+
public function test_handle()
12+
{
13+
$request = app('request');
14+
15+
$request->server->set('AUTH_USER', 'jdoe');
16+
17+
$middleware = app(WindowsAuthenticate::class);
18+
19+
$user = $this->makeLdapUser([
20+
'cn' => 'John Doe',
21+
'userprincipalname' => 'jdoe@email.com',
22+
'samaccountname' => 'jdoe',
23+
]);
24+
25+
$resolver = m::mock(ResolverInterface::class);
26+
27+
$resolver
28+
->shouldReceive('query')->once()->andReturn($resolver)
29+
->shouldReceive('where')->once()->withArgs([['samaccountname' => 'jdoe']])->andReturn($resolver)
30+
->shouldReceive('firstOrFail')->once()->andReturn($user)
31+
->shouldReceive('getEloquentUsername')->once()->andReturn('email')
32+
->shouldReceive('getLdapUsername')->once()->andReturn('userprincipalname');
33+
34+
$middleware->setResolver($resolver);
35+
36+
$middleware->handle($request, function () {});
37+
38+
$authenticated = auth()->user();
39+
40+
$this->assertEquals('John Doe', $authenticated->name);
41+
$this->assertEquals('jdoe@email.com', $authenticated->email);
42+
}
43+
}

0 commit comments

Comments
 (0)