This repository was archived by the owner on Jul 24, 2023. It is now read-only.
File tree Expand file tree Collapse file tree 1 file changed +43
-0
lines changed
Expand file tree Collapse file tree 1 file changed +43
-0
lines changed Original file line number Diff line number Diff line change 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+ }
You can’t perform that action at this time.
0 commit comments