monitoring-8.x-1.x-dev/tests/src/Kernel/MonitoringSystemMemoryPluginTest.php

tests/src/Kernel/MonitoringSystemMemoryPluginTest.php
<?php

namespace Drupal\Tests\monitoring\Kernel;

/**
 * Kernel tests for system memory sensor plugin.
 *
 * @group monitoring
 */
class MonitoringSystemMemoryPluginTest extends MonitoringUnitTestBase {

  /**
   * Tests the system memory sensor plugin.
   */
  public function testSystemMemorySensorPlugin() {
    // Sets data that will represent the memory information.
    $data = "MemTotal:  20000 kB\nMemAvailable:  10000 kB";
    \Drupal::state()->set('monitoring.test_meminfo', $data);
    $sensor_manager = monitoring_sensor_manager();
    $sensor_config = $sensor_manager->getSensorConfigByName('system_memory');
    $sensor_config->set('status', TRUE);
    $sensor_config->save();

    // Run sensor and assert message and verbose output.
    $sensor_result = $this->runSensor('system_memory');
    $this->assertTrue($sensor_result->isOk());
    $this->assertEquals($sensor_result->getMessage(), '50 % free memory');
    $this->assertEquals($sensor_result->getVerboseOutput()['memory_info']['#rows'][0]['type'], 'MemTotal');
    $this->assertEquals($sensor_result->getVerboseOutput()['memory_info']['#rows'][0]['memory'], '20000 kB');

    // Sets incorrect data that should trigger an error message to the sensor.
    $data = 'No memory information provided.';
    \Drupal::state()->set('monitoring.test_meminfo', $data);
    $sensor_result = $this->runSensor('system_memory');
    $this->assertTrue($sensor_result->isCritical());
    $this->assertEquals($sensor_result->getMessage(), 'This sensor is not supported by your system. It is based on memory information from /proc/meminfo, only provided by UNIX-like systems.');

    // Sets NULL data that should trigger an error message to the sensor.
    \Drupal::state()->set('monitoring.test_meminfo', '');
    $sensor_result = $this->runSensor('system_memory');
    $this->assertTrue($sensor_result->isCritical());
    $this->assertEquals($sensor_result->getMessage(), 'This sensor is not supported by your system. It is based on memory information from /proc/meminfo, only provided by UNIX-like systems.');
    $this->assertNull($sensor_result->getVerboseOutput());
  }
}

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

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