public function testParseResponse() { $json = '[ { "firstname": "Александр", "lastname": "Галкин", "bday": "564958800", "country": "Украина" }, { "firstname": "Дмитрий", "lastname": "Образцов", "bday": "327186000", "country": "Россия" }]'; $response = new Response(); $response->setJSONResponse($json); $this->assertEquals(json_decode($json, true), $response->toArray()); }
/** * Сделать запрос * @param RequestInterface $request * @return Response */ public function requestAndGetObject(RequestInterface $request) { $requestData = array('login' => $this->login, 'secretKey' => $this->secretKey); if ($request instanceof RequestWithResponseRowsInterface) { $requestRows = $request->getRows(); if (count($requestRows) > 0) { $requestData['rows'] = $requestRows; } } if ($request instanceof RequestWithFilterInterface) { //TODO Вынести обработку фильтров в отдельный класс if ($filters = $request->getFilters()) { foreach ($filters as $filterName => $filterValue) { if ($filterName == 'emails') { $requestData['emails'] = $filterValue; } } } } $requestJSON = json_encode($requestData); $requestURL = self::API_URL . $request->getRequestRelativeURL(); $responseJSON = $this->transport->performRequest($requestURL, $requestJSON); $response = new Response(); $response->setJSONResponse($responseJSON); return $response; }