Unverified Commit ea3d8169 authored by Jakob P's avatar Jakob P Committed by GitHub
Browse files

Issue #3312634 by nkoporec: Refactor CodeStudioMessage event subscriber (#187)

* Issue #3312634 by nkoporec: Refactor CodeStudioMessage event subscriber

* Call correct event callback.

* Code Linting
parent 793411f8
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
services:
  acquia_connector.kernel_request.codestudio_message:
    class: Drupal\acquia_connector\EventSubscriber\KernelRequest\CodeStudioMessage
  acquia_connector.kernel_view.codestudio_message:
    class: Drupal\acquia_connector\EventSubscriber\KernelView\CodeStudioMessage
    arguments: ['@messenger']
    tags:
      - {name: event_subscriber}
+7 −4
Original line number Diff line number Diff line
<?php

namespace Drupal\acquia_connector\EventSubscriber\KernelRequest;
namespace Drupal\acquia_connector\EventSubscriber\KernelView;

use Drupal\Core\Messenger\MessengerInterface;
use Drupal\Core\StringTranslation\StringTranslationTrait;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\HttpKernel\Event\KernelEvent;
use Symfony\Component\HttpKernel\KernelEvents;
@@ -17,6 +18,8 @@ use Symfony\Component\HttpKernel\KernelEvents;
 */
class CodeStudioMessage implements EventSubscriberInterface {

  use StringTranslationTrait;

  /**
   * Drupal Messenger Service.
   *
@@ -38,14 +41,14 @@ class CodeStudioMessage implements EventSubscriberInterface {
   * {@inheritdoc}
   */
  public static function getSubscribedEvents() {
    $events[KernelEvents::REQUEST][] = ['onKernelRequest'];
    $events[KernelEvents::VIEW][] = ['onViewRenderArray', 100];
    return $events;
  }

  /**
   * {@inheritdoc}
   */
  public function onKernelRequest(KernelEvent $event) {
  public function onViewRenderArray(KernelEvent $event) {
    // Only load script in CD Environment (née ODE).
    $ah_env = getenv('AH_SITE_ENVIRONMENT');
    if (!$this->isOdeEnvironment($ah_env)) {
@@ -64,7 +67,7 @@ class CodeStudioMessage implements EventSubscriberInterface {
      }
    }

    $this->messenger->addStatus(t('This Acquia Continuous Delivery Environment (CDE) was automatically created by <a href=":code_studio_url" target="_blank">Acquia Code Studio</a> for merge request <a href=":merge_request_url" target="_blank">!@merge_request_iid</a> for <a href=":project_url" target"_blank">@project_path</a>. It will be destroyed when the merge request is closed or merged.', [
    $this->messenger->addStatus($this->t('This Acquia Continuous Delivery Environment (CDE) was automatically created by <a href=":code_studio_url" target="_blank">Acquia Code Studio</a> for merge request <a href=":merge_request_url" target="_blank">!@merge_request_iid</a> for <a href=":project_url" target"_blank">@project_path</a>. It will be destroyed when the merge request is closed or merged.', [
      ':code_studio_url' => getenv('CODE_STUDIO_CI_SERVER_URL'),
      '@merge_request_iid' => getenv('CODE_STUDIO_CI_MERGE_REQUEST_IID'),
      ':merge_request_url' => getenv('CODE_STUDIO_CI_SERVER_URL') . '/' . getenv('CODE_STUDIO_CI_PROJECT_PATH') . '/-/merge_requests/' . getenv('CODE_STUDIO_CI_MERGE_REQUEST_IID'),
+6 −6
Original line number Diff line number Diff line
@@ -9,7 +9,7 @@ use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpKernel\Event\RequestEvent;

/**
 * @coversDefaultClass \Drupal\acquia_connector\EventSubscriber\KernelRequest\CodeStudioMessage
 * @coversDefaultClass \Drupal\acquia_connector\EventSubscriber\KernelView\CodeStudioMessage
 * @group acquia_connector
 */
final class CodeStudioMessageTest extends AcquiaConnectorTestBase {
@@ -19,11 +19,11 @@ final class CodeStudioMessageTest extends AcquiaConnectorTestBase {
   */
  public function testNonCdeEnvironment(): void {
    $this->putEnv('AH_SITE_ENVIRONMENT', 'foo');
    $sut = $this->container->get('acquia_connector.kernel_request.codestudio_message');
    $sut->onKernelRequest(new RequestEvent(
    $sut = $this->container->get('acquia_connector.kernel_view.codestudio_message');
    $sut->onViewRenderArray(new RequestEvent(
      $this->container->get('http_kernel'),
      Request::createFromGlobals(),
      1
      1,
    ));
    $messenger = $this->container->get('messenger');
    self::assertEquals([], $messenger->all());
@@ -54,8 +54,8 @@ final class CodeStudioMessageTest extends AcquiaConnectorTestBase {
    $this->putEnv('CODE_STUDIO_CI_PROJECT_PATH', $project_path);
    $this->putEnv('CODE_STUDIO_CI_SERVER_URL', $server_url);

    $sut = $this->container->get('acquia_connector.kernel_request.codestudio_message');
    $sut->onKernelRequest(new RequestEvent(
    $sut = $this->container->get('acquia_connector.kernel_view.codestudio_message');
    $sut->onViewRenderArray(new RequestEvent(
      $this->container->get('http_kernel'),
      Request::createFromGlobals(),
      1