Exemple #1
0
 /**
  * @before
  */
 public function initializeTestFiles()
 {
     // Ensure we have the Pony.fm test files
     if (!static::$initializedFiles) {
         Storage::disk('local')->makeDirectory('test-files');
         $storage = Storage::disk('testing');
         // To add new test files, upload them to poniverse.net/files
         // and add them here with their last-modified date as a Unix
         // timestamp.
         $files = ['ponyfm-test.flac' => 1450965707, 'ponyfm-transparent-cover-art.png' => 1451211579];
         foreach ($files as $filename => $lastModifiedTimestamp) {
             if (!$storage->has($filename) || $storage->lastModified($filename) < $lastModifiedTimestamp) {
                 echo "Downloading test file: {$filename}..." . PHP_EOL;
                 $testFileUrl = "https://poniverse.net/files/ponyfm-test-files/{$filename}";
                 $data = \Httpful\Request::getQuick($testFileUrl);
                 if ($data->code === 200) {
                     $storage->put($filename, $data->body);
                 } else {
                     $this->fail("A necessary test file was unavailable: {$testFileUrl}");
                 }
             }
         }
         // Delete any unnecessary test files
         foreach ($storage->allFiles() as $filename) {
             if (!isset($files[$filename])) {
                 $storage->delete($filename);
             }
         }
         static::$initializedFiles = true;
     }
 }
Exemple #2
0
 /**
  * Get the resource from the provided url.
  * 
  * @param string $url URL for the resource to get.
  * @return stdClass Returned resource object from the API 
  */
 public static function getQuick($url)
 {
     return static::checkHttp200Status(Request::getQuick($url));
 }