3
3
namespace Adldap \Laravel \Tests ;
4
4
5
5
use Adldap \AdldapInterface ;
6
+ use Adldap \Connections \ConnectionInterface ;
7
+ use Adldap \Connections \Provider ;
8
+ use Adldap \Connections \ProviderInterface ;
6
9
use Adldap \Laravel \Commands \Import ;
7
10
use Adldap \Laravel \Facades \Resolver ;
8
11
use Adldap \Laravel \Tests \Handlers \LdapAttributeHandler ;
13
16
use Illuminate \Support \Facades \App ;
14
17
use Illuminate \Support \Facades \Auth ;
15
18
use Illuminate \Support \Facades \Hash ;
19
+ use Mockery as m ;
16
20
17
21
class DatabaseProviderTest extends DatabaseTestCase
18
22
{
@@ -89,8 +93,20 @@ public function auth_fails_when_user_not_found()
89
93
/** @test */
90
94
public function config_scopes_are_applied ()
91
95
{
96
+ $ ldapMock = m::mock (AdldapInterface::class);
97
+ App::instance (AdldapInterface::class, $ ldapMock );
98
+ /** @var Provider $provider */
99
+ $ provider = App::make (Provider::class);
92
100
config (['ldap_auth.scopes ' => [JohnDoeScope::class]]);
93
101
102
+ $ providerMock = m::mock (ProviderInterface::class);
103
+ $ connectionMock = m::mock (ConnectionInterface::class);
104
+
105
+ $ providerMock ->shouldReceive ('getConnection ' )->once ()->andReturn ($ connectionMock );
106
+ $ connectionMock ->shouldReceive ('isBound ' )->once ()->andReturn (true );
107
+ $ ldapMock ->shouldReceive ('getProvider ' )->once ()->andReturn ($ providerMock );
108
+ $ providerMock ->shouldReceive ('search ' )->once ()->andReturn ($ provider ->search ());
109
+
94
110
$ expectedFilter = '(&(objectclass=\75\73\65\72)(objectcategory=\70\65\72\73\6f\6e)(!(objectclass=\63\6f\6e\74\61\63\74))(cn=\4a\6f\68\6e\20\44\6f\65)) ' ;
95
111
96
112
$ this ->assertEquals ($ expectedFilter , Resolver::query ()->getQuery ());
@@ -219,6 +235,10 @@ public function auth_attempts_fallback_using_config_option()
219
235
/** @test */
220
236
public function auth_attempts_using_fallback_does_not_require_connection ()
221
237
{
238
+ $ ldapMock = m::mock (AdldapInterface::class);
239
+ App::instance (AdldapInterface::class, $ ldapMock );
240
+ /** @var Provider $provider */
241
+ $ provider = App::make (Provider::class);
222
242
config (['ldap_auth.login_fallback ' => true ]);
223
243
224
244
EloquentUser::create ([
@@ -232,6 +252,14 @@ public function auth_attempts_using_fallback_does_not_require_connection()
232
252
'password ' => 'Password123 ' ,
233
253
];
234
254
255
+ $ providerMock = m::mock (ProviderInterface::class);
256
+ $ connectionMock = m::mock (ConnectionInterface::class);
257
+
258
+ $ providerMock ->shouldReceive ('getConnection ' )->times (3 )->andReturn ($ connectionMock );
259
+ $ connectionMock ->shouldReceive ('isBound ' )->times (3 )->andReturn (true );
260
+ $ ldapMock ->shouldReceive ('getProvider ' )->times (3 )->andReturn ($ providerMock );
261
+ $ providerMock ->shouldReceive ('search ' )->times (3 )->andReturn ($ provider ->search ());
262
+
235
263
$ this ->assertTrue (Auth::attempt ($ credentials ));
236
264
237
265
$ user = Auth::user ();
0 commit comments