diff --git a/src/UnifiAccessApi.php b/src/UnifiAccessApi.php index c91bd80..45fa0d3 100644 --- a/src/UnifiAccessApi.php +++ b/src/UnifiAccessApi.php @@ -12,7 +12,7 @@ class UnifiAccessApi */ public function getClient(array $options = []): Client { - $guzzleClient = app(GuzzleHttpClient::class, + $guzzleClient = new GuzzleHttpClient( array_merge( [ 'base_uri' => config('unifi-access-api.unifi.uri'), diff --git a/tests/UnifiAccessApiTest.php b/tests/UnifiAccessApiTest.php new file mode 100644 index 0000000..d701622 --- /dev/null +++ b/tests/UnifiAccessApiTest.php @@ -0,0 +1,44 @@ +app['config']->set('unifi-access-api.unifi.uri', $baseUri); + $this->app['config']->set('unifi-access-api.unifi.api_key', $apiKey); + $this->app['config']->set('unifi-access-api.unifi.ssl_verify', false); + + $mock = new MockHandler([ + new Response(200, ['Content-Type' => 'application/json'], json_encode(['code' => 'SUCCESS', 'msg' => 'OK'])), + ]); + $handlerStack = HandlerStack::create($mock); + + // History middleware to capture requests + $history = []; + $historyMiddleware = Middleware::history($history); + $handlerStack->push($historyMiddleware); + + $unifiAccessApi = new UnifiAccessApi; + $client = $unifiAccessApi->getClient(['handler' => $handlerStack]); + + $client->get('test'); + + $this->assertCount(1, $history); + + $request = $history[0]['request']; + $this->assertStringStartsWith($baseUri, (string) $request->getUri()); + $this->assertEquals('application/json', $request->getHeaderLine('Accept')); + $this->assertEquals($apiKey, $request->getHeaderLine('Authorization')); + } +}