You are here

public function FeedsHTTPCacheTest::testGetMultiple in Feeds 7.2

@covers FeedsHTTPCache::getMultiple().

File

tests/FeedsHTTPCacheTest.test, line 215

Class

FeedsHTTPCacheTest
@coversDefaultClass FeedsHTTPCache @group feeds

Code

public function testGetMultiple() {
  $cid1 = static::randomName();
  $cid2 = static::randomName();
  $cid3 = static::randomName();
  $file1 = static::randomName();
  $file2 = static::randomName();
  $file3 = static::randomName();

  // Save a few files to the cache dir.
  $dir = static::FEEDS_CACHE_DIR;
  file_prepare_directory($dir, FILE_CREATE_DIRECTORY);
  file_put_contents(static::FEEDS_CACHE_DIR . '/' . $cid1, $file1);
  file_put_contents(static::FEEDS_CACHE_DIR . '/' . $cid2, $file2);
  file_put_contents(static::FEEDS_CACHE_DIR . '/' . $cid3, $file3);

  // Create a few records in cache_feeds_http table.
  $this
    ->createCacheRecord($cid1);
  $this
    ->createCacheRecord($cid2);
  $this
    ->createCacheRecord($cid3);
  $cids = array(
    $cid2,
    $cid3,
  );

  // Assert that the expected items are get from the cache.
  $items = $this->cache
    ->getMultiple($cids);
  $this
    ->assertFalse(isset($items[$cid1]));
  $this
    ->assertTrue(isset($items[$cid2]));
  $this
    ->assertTrue(isset($items[$cid3]));
  $this
    ->assertEqual($file2, $items[$cid2]->data
    ->getFileContents());
  $this
    ->assertEqual($file3, $items[$cid3]->data
    ->getFileContents());
}