public function testCanOpenCurlConnectionWithPostBody()
 {
     $this->curlMock->shouldReceive('init')->once()->andReturn(null);
     $this->curlMock->shouldReceive('setoptArray')->with(m::on(function ($arg) {
         // array_diff() will sometimes trigger error on child-arrays
         if ([] !== $arg[CURLOPT_HTTPHEADER]) {
             return false;
         }
         unset($arg[CURLOPT_HTTPHEADER]);
         $caInfo = array_diff($arg, [CURLOPT_CUSTOMREQUEST => 'POST', CURLOPT_URL => 'http://bar.com', CURLOPT_CONNECTTIMEOUT => 10, CURLOPT_TIMEOUT => 60, CURLOPT_RETURNTRANSFER => true, CURLOPT_HEADER => true, CURLOPT_SSL_VERIFYHOST => 2, CURLOPT_SSL_VERIFYPEER => true, CURLOPT_POSTFIELDS => 'baz=bar']);
         if (count($caInfo) !== 1) {
             return false;
         }
         if (1 !== preg_match('/.+\\/certs\\/DigiCertHighAssuranceEVRootCA\\.pem$/', $caInfo[CURLOPT_CAINFO])) {
             return false;
         }
         return true;
     }))->once()->andReturn(null);
     $this->curlClient->openConnection('http://bar.com', 'POST', 'baz=bar', [], 60);
 }
 public function testCanOpenDeleteCurlConnection()
 {
     $this->curlMock->shouldReceive('init')->once()->andReturn(null);
     $this->curlMock->shouldReceive('setopt_array')->with(array(CURLOPT_URL => 'http://faz.com', CURLOPT_CONNECTTIMEOUT => 10, CURLOPT_TIMEOUT => 60, CURLOPT_RETURNTRANSFER => true, CURLOPT_HEADER => true, CURLOPT_CUSTOMREQUEST => 'DELETE', CURLOPT_POSTFIELDS => array('baz' => 'bar')))->once()->andReturn(null);
     $this->curlClient->openConnection('http://faz.com', 'DELETE', ['baz' => 'bar'], []);
 }