/**
  * @dataProvider urlResolverDP
  */
 public function testUrlResolver($url, $willCallPerform, $keyRegexp, $tokenRegexp, $expectedResolvedUrl)
 {
     $stubProvider = $this->getCredentialsProviderStub();
     $cr = new CallbackResolver($stubProvider);
     $cr->setKeyRegexp($keyRegexp)->setTokenRegexp($tokenRegexp)->setUrl($url);
     $this->assertEquals($expectedResolvedUrl, $cr->getUrl());
 }
 /**
  * Risolve l'url di download del file
  *
  * @param array $source
  * @return string
  */
 private static function resolveDownloadUrl($source)
 {
     $url = $source['url'];
     $keyRegexp = arrayFind($source, 'keyRegexp');
     $tokenRegexp = arrayFind($source, 'tokenRegexp');
     $resolver = new CallbackResolver();
     $resolver->setUrl($url, $keyRegexp, $tokenRegexp);
     return $resolver->getUrl();
     // $authenticateRequest = ! empty(@$source['authenticate']);
     // if($authenticateRequest) {
     //     $credentials = Peter::login(Peter::USER, Peter::PASSWORD);
     //     if(empty($credentials)) {
     //         throw new \Exception("Autenticazione Peter fallita");
     //     } else {
     //         list($key, $token) = $credentials;
     //         $params = [
     //             $source['keyName'] => $key,
     //             $source['tokenName'] => $token
     //         ];
     //         $url = urlResolver($url, $params);
     //     }
     // }
     // return $url;
 }