You are here

public function ReExportTest::testReExport in Acquia Content Hub 8.2

Tests entity updated status.

@dataProvider dataProvider

Parameters

mixed $args: Data.

File

modules/acquia_contenthub_publisher/tests/src/Kernel/EventSubscriber/HandleWebhook/ReExportTest.php, line 183

Class

ReExportTest
Tests Re-export functionality from a Webhook.

Namespace

Drupal\Tests\acquia_contenthub_publisher\Kernel\EventSubscriber\HandleWebhook

Code

public function testReExport(...$args) {
  $key = new Key('id', 'secret');
  $request = $this
    ->createSignedRequest();
  $payload = [
    'uuid' => $args[1],
    'crud' => 'republish',
    'status' => 'successful',
    'initiator' => $this->remoteOrigin,
    'cdf' => [
      'type' => $args[0],
      'uuid' => $args[1],
      'dependencies' => [
        $args[1],
      ],
    ],
  ];

  // Verify we are starting clean.
  $entity_status = $this
    ->getStatusByUuid($args[1]);
  $this
    ->assertEqual($args[2], $entity_status);

  // Handle Webhook Request Event to Re-export entity.
  $event = new HandleWebhookEvent($request, $payload, $key, $this->clientFactory
    ->getClient($this->settings));
  $this->reExport
    ->onHandleWebhook($event);

  // Verify item has been added to the publisher queue.
  $entity_status = $this
    ->getStatusByUuid($args[1]);
  $this
    ->assertEqual($args[3], $entity_status);

  // Verify response code.
  $response = $event
    ->getResponse();
  $code = $response
    ->getStatusCode();
  $this
    ->assertEqual($code, $args[4]);

  // Verify response message.
  $message = $response
    ->getBody()
    ->getContents();
  $this
    ->assertEqual($message, $args[5]);
}