/**
  * @param string $urlKey
  * @param string $data
  * @param array $urlReplacements
  * @param array $queryParams
  * @return CloseIoRequest
  * @throws InvalidParamException
  */
 protected function prepareRequest($urlKey, $data = null, array $urlReplacements = [], array $queryParams = [])
 {
     $this->apiRequest->clear();
     $this->apiRequest->setData($data);
     $this->apiRequest->setUrl($this->apiHandler->getConfig()->getUrl());
     $url = $this->prepareUrlForKey($urlKey, $urlReplacements);
     if (!empty($queryParams)) {
         $url .= '?' . http_build_query($queryParams);
     }
     $this->apiRequest->setUrl($this->getUrlPrefix() . $url);
     return $this->apiRequest;
 }
 public function testGetResponse()
 {
     $config = new CloseIoConfig();
     $config->setApiKey('testkey');
     $closeIoApiWrapper = new CloseIoApiWrapper($config);
     $curl = new Curl();
     $request = new CloseIoRequest($closeIoApiWrapper->getApiHandler());
     $request->setUrl('www.google.com');
     $request->setMethod(Curl::METHOD_GET);
     $response = $curl->getResponse($request);
     $this->assertEquals($response->getReturnCode(), '200');
     $this->assertNotEmpty($response->getRawData());
     $this->assertFalse($response->hasErrors());
 }