/** * The getExpired call should return an asset which file expired * yesterday. */ function testGetExpiredYesterday() { $assetId = '096dfa489bc3f21df56eded2143843f135ae967e'; $asset = $this->storage->save('IMAGE', array('_' => array('file' => $this->testfile))); $date = date('Y/m/d', strtotime('-1 days')); $viewToday = self::$BUCKET . 'expiry/' . $date . '/' . $assetId; mkdir(dirname($viewToday), 0755, true); symlink(dirname(binarypool_config::getRoot() . $asset), $viewToday); $this->assertEqual(array('test/09/096dfa489bc3f21df56eded2143843f135ae967e/index.xml'), binarypool_browser::getExpired('test')); }
function cleanSymlinks() { // Do symlink cleanup printf("[%10s] Cleaning up symlinks.\n", 'FINAL'); $cmd = binarypool_config::getUtilityPath('symlinks'); system("{$cmd} -cdrs " . binarypool_config::getRoot() . "*/created"); system("{$cmd} -cdrs " . binarypool_config::getRoot() . "*/expiry"); system("{$cmd} -cdrsv " . binarypool_config::getRoot() . "*/downloaded |grep '/dev/null' |xargs -0 rm"); } cleanSymlinks(); // Walk through each bucket $buckets = binarypool_config::getBuckets(); foreach (array_keys($buckets) as $bucket) { $storage = new binarypool_storage($bucket); printf("[%10s] Fetching list of expired binaries.\n", $bucket); $expired = binarypool_browser::getExpired($bucket); printf("[%10s] %d expired.\n", $bucket, $expired); foreach ($expired as $asset) { try { if (binarypool_expiry::isExpired($bucket, $asset)) { printf("[%10s] Deleting %s\n", $bucket, $asset); $storage->delete($asset); } } catch (binarypool_exception $e) { if ($e->getCode() == 112) { printf("[%10s] Asset does not exist %s\n", $bucket, $asset); } else { throw $e; } } }