You are here

class AkamaiTestCase in Akamai 8

Same name and namespace in other branches
  1. 8.2 akamai.test \AkamaiTestCase
  2. 7.3 akamai.test \AkamaiTestCase
  3. 7 akamai.test \AkamaiTestCase
  4. 7.2 akamai.test \AkamaiTestCase

Test basic API.

Hierarchy

Expanded class hierarchy of AkamaiTestCase

File

./akamai.test, line 11
Akamai tests.

View source
class AkamaiTestCase extends DrupalWebTestCase {
  public static function getInfo() {
    return array(
      'name' => 'Akamai Tests',
      'description' => 'Test various Akamai cache clearings with paths and aliases.',
      'group' => 'Akamai',
    );
  }
  function setUp() {
    parent::setUp('akamai');
    $user = $this
      ->drupalCreateUser(array(
      'purge akamai cache',
    ));
    $this
      ->drupalLogin($user);
    variable_set('akamai_service_class', 'RecordingCacheControlClient');
  }

  /**
   * Tests clear.
   */
  function testDirectClear() {
    $node = $this
      ->drupalCreateNode(array(
      'type' => 'page',
      'promote' => 1,
    ));
    $canonical = "node/{$node->nid}";
    $akamai = akamai_get_class();
    $akamai
      ->clear_url($canonical);
    $paths = $akamai->paths;
    $this
      ->assertEqual(1, count($paths), "Only one path cleared");
    $this
      ->assertEqual($canonical, $paths[0]);
  }

  /**
   * Tests clear with no aliases.
   */
  function testSimpleClear() {
    $node = $this
      ->drupalCreateNode(array(
      'type' => 'page',
      'promote' => 1,
    ));
    $canonical = "node/{$node->nid}";
    $response = akamai_clear_url($canonical, array(), $node);
    $paths = $response['client']->paths;
    $this
      ->assertEqual(1, count($paths), "Only one path cleared");
    $this
      ->assertEqual($canonical, $paths[0], "Correct path was cleared");
  }

  /**
   * Tests clear with 1 alias.
   */
  function testAliasClear() {
    $node = $this
      ->drupalCreateNode(array(
      'type' => 'page',
      'promote' => 1,
    ));
    $canonical = "node/{$node->nid}";
    $cleanurl = "content/pretty-title/{$node->nid}";
    $alias = array(
      'source' => $canonical,
      'alias' => $cleanurl,
    );
    path_save($alias);
    $response = akamai_clear_url($canonical, array(), $node);
    $paths = $response['client']->paths;
    $this
      ->assertEqual(2, count($paths), "Two paths cleared");
    $this
      ->assertEqual($canonical, $paths[0], "Correct canonical path was cleared");
    $this
      ->assertEqual($cleanurl, $paths[1], "Correct alias was cleared");
  }

  /**
   * Tests clear with multiple aliases.
   */
  function testMultipleAliasClear() {
    $node = $this
      ->drupalCreateNode(array(
      'type' => 'page',
      'promote' => 1,
    ));
    $canonical = "node/{$node->nid}";
    $cleanurl1 = "content/pretty-title/{$node->nid}";
    $cleanurl2 = "blog/better-title/{$node->nid}";
    $cleanurl3 = "article/another-title/{$node->nid}";
    $alias = array(
      'source' => $canonical,
      'alias' => $cleanurl1,
    );
    path_save($alias);
    $alias = array(
      'source' => $canonical,
      'alias' => $cleanurl2,
    );
    path_save($alias);
    $alias = array(
      'source' => $canonical,
      'alias' => $cleanurl3,
    );
    path_save($alias);
    $response = akamai_clear_url($canonical, array(), $node);
    $paths = $response['client']->paths;
    $this
      ->assertEqual(4, count($paths), "Four paths cleared");
    $this
      ->assertEqual($canonical, $paths[0], "Correct canonical path was cleared");
    $this
      ->assertEqual($cleanurl1, $paths[1], "Correct alias 1 path was cleared");
    $this
      ->assertEqual($cleanurl2, $paths[2], "Correct alias 2 path was cleared");
    $this
      ->assertEqual($cleanurl3, $paths[3], "Correct alias 3 path was cleared");
  }

}

Members

Namesort descending Modifiers Type Description Overrides
AkamaiTestCase::getInfo public static function
AkamaiTestCase::setUp function
AkamaiTestCase::testAliasClear function Tests clear with 1 alias.
AkamaiTestCase::testDirectClear function Tests clear.
AkamaiTestCase::testMultipleAliasClear function Tests clear with multiple aliases.
AkamaiTestCase::testSimpleClear function Tests clear with no aliases.