[ "expires_in" => 1000, "token" => "foobarfoobar" ], "timestamp" => "2024-01-17T22:47:59+01:00", "uri" => "/api/v1/token" ]); $authorizedRequestResponse = clone $authMockResponse; $mockedClient = new MockHttpClient([$authMockResponse, $authorizedRequestResponse]); $client = new UsetrenoHttpClient($mockedClient, $this->getLogger(), "foo", "bar", 0, 0); $client->request("POST", "https://www.root.cz/"); $this->assertEquals("https://topapi.top-test.cz/chameleon/api/v1/token", $authMockResponse->getRequestUrl()); $headers = $authorizedRequestResponse->getRequestOptions()['headers']; $this->assertEquals("https://www.root.cz/", $authorizedRequestResponse->getRequestUrl()); $this->assertTrue(in_array("Authorization: Bearer foobarfoobar", $headers), "missing bearer authorization header"); } public function testRequestFailedAuthorization() { $this->expectException(AuthorizeException::class); $authMockResponse = new JsonMockResponse([ "errors" => [ [ "message" => "Bad credentials, please verify that your username/password are correctly set.", "specificType" => "bad_credentials", "type" => "security_error" ] ], "timestamp" => "2024-01-17T23:55:25+01:00", "uri" => "/api/v1/token" ]); $authorizedRequestResponse = clone $authMockResponse; $mockedClient = new MockHttpClient([$authMockResponse, $authorizedRequestResponse]); $client = new UsetrenoHttpClient($mockedClient, $this->getLogger(), "foo", "bar", 0, 0); $client->request("POST", "https://www.root.cz/"); } }