cloud-8.x-2.0-beta1/modules/cloud_service_providers/k8s/tests/src/Functional/K8sLimitRangeTest.php

modules/cloud_service_providers/k8s/tests/src/Functional/K8sLimitRangeTest.php
<?php

namespace Drupal\Tests\k8s\Functional;

/**
 * Tests K8s limit range.
 *
 * @group k8s
 */
class K8sLimitRangeTest extends K8sTestCase {

  const K8S_LIMIT_RANGE_REPEAT_COUNT = 3;

  /**
   * {@inheritdoc}
   */
  protected function getPermissions() {
    $namespaces = $this->createNamespacesRandomTestFormData();
    $this->createNamespaceTestEntity($namespaces[0]);
    $this->namespace = $namespaces[0]['name'];

    return [
      'list k8s limit range',
      'view k8s limit range',
      'edit k8s limit range',
      'add k8s limit range',
      'delete k8s limit range',
      'view k8s namespace ' . $this->namespace,
    ];
  }

  /**
   * Tests CRUD for Limit Range.
   */
  public function testLimitRange() {

    $cloud_context = $this->cloudContext;

    // List Limit Range for K8s.
    $this->drupalGet("/clouds/k8s/$cloud_context/limit_range");
    $this->assertResponse(200);

    // Add a new Limit Range.
    $add = $this->createLimitRangeTestFormData(self::K8S_LIMIT_RANGE_REPEAT_COUNT, $this->namespace);
    for ($i = 0; $i < self::K8S_LIMIT_RANGE_REPEAT_COUNT; $i++) {
      $this->reloadMockData();

      $this->addLimitRangeMockData($add[$i]);

      $num = $i + 1;
      $this->drupalPostForm(
        "/clouds/k8s/$cloud_context/limit_range/add",
        $add[$i]['post_data'],
        t('Save')
      );
      $this->assertResponse(200);
      $this->assertText(t('The Kubernetes Limit Range "@name" has been created.', ['@name' => $add[$i]['name']]));

      // Make sure listing.
      $this->drupalGet("/clouds/k8s/$cloud_context/limit_range");
      $this->assertResponse(200);
      $this->assertText($add[$i]['name']);
    }

    // Edit a Limit Range.
    $edit = $this->createLimitRangeTestFormData(self::K8S_LIMIT_RANGE_REPEAT_COUNT, $this->namespace);
    for ($i = 0; $i < self::K8S_LIMIT_RANGE_REPEAT_COUNT; $i++) {
      $num = $i + 1;
      $this->updateLimitRangeMockData($edit[$i]);

      unset($edit[$i]['post_data']['namespace']);
      $this->drupalPostForm(
        "/clouds/k8s/$cloud_context/limit_range/$num/edit",
        $edit[$i]['post_data'],
        t('Save')
      );
      $this->assertResponse(200);
      $this->assertText(t(
        'The Kubernetes Limit Range "@name" has been saved.',
        ['@name' => $add[$i]['name']]
      ));
    }

    // Delete Limit Range.
    for ($i = 0; $i < self::K8S_LIMIT_RANGE_REPEAT_COUNT; $i++) {
      $num = $i + 1;

      $this->deleteLimitRangeMockData($add[$i]);

      $this->drupalPostForm(
        "/clouds/k8s/$cloud_context/limit_range/$num/delete",
        [],
        t('Delete')
      );
      $this->assertResponse(200);
      $this->assertText(t(
        'The Kubernetes Limit Range "@name" has been deleted.',
        ['@name' => $add[$i]['name']]
      ));

      // Make sure listing.
      $this->drupalGet("/clouds/k8s/$cloud_context/limit_range");
      $this->assertResponse(200);
      $this->assertNoText($add[$i]['name']);
    }
  }

  /**
   * Tests deleting limit ranges with bulk operation.
   */
  public function testLimitRangeBulk() {
    $cloud_context = $this->cloudContext;
    for ($i = 0; $i < self::K8S_LIMIT_RANGE_REPEAT_COUNT; $i++) {
      // Create Limit Ranges.
      $limit_ranges = $this->createLimitRangesRandomTestFormData($this->namespace);
      $entities = [];
      foreach ($limit_ranges as $limit_range) {
        $entities[] = $this->createLimitRangeTestEntity($limit_range);
      }
      $this->deleteLimitRangeMockData($limit_ranges[0]);
      $this->doTestEntityBulk('limit_range', $entities);
    }
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc