PerformanceScriptTest.php in Field Encryption 3.0.x
File
tests/src/Functional/PerformanceScriptTest.php
View source
<?php
namespace Drupal\Tests\field_encrypt\Functional;
use Drupal\field_encrypt\ProcessEntities;
use Drupal\Tests\encrypt\Functional\EncryptTestBase;
class PerformanceScriptTest extends EncryptTestBase {
protected $strictConfigSchema = FALSE;
public static $modules = [
'node',
'field',
'field_ui',
'text',
'key',
'encrypt',
'encrypt_test',
'field_encrypt',
];
protected function setUp() {
parent::setUp();
$this
->drupalCreateContentType([
'type' => 'page',
'name' => 'Basic page',
]);
}
public function testScript() {
$this
->assertCount(0, \Drupal::entityTypeManager()
->getStorage('node')
->loadMultiple());
putenv('FIELD_ENCRYPT_QUANTITY=15');
ob_start();
include __DIR__ . '/../../scripts/performance_test.php';
$output = ob_get_clean();
$this
->assertStringContainsString('Created 15 encrypted nodes in', $output);
$this
->assertStringContainsString('Decrypted 15 encrypted nodes in', $output);
$this
->assertCount(15, \Drupal::entityTypeManager()
->getStorage('node')
->loadMultiple());
for ($nid = 1; $nid < 16; $nid++) {
$result = \Drupal::database()
->query("SELECT field_test_single_value FROM {node__field_test_single} WHERE entity_id = :entity_id", [
':entity_id' => $nid,
])
->fetchField();
$this
->assertEquals(ProcessEntities::ENCRYPTED_VALUE, $result);
$result = \Drupal::database()
->query("SELECT field_test_multi_value FROM {node__field_test_multi} WHERE entity_id = :entity_id", [
':entity_id' => $nid,
])
->fetchAll();
foreach ($result as $record) {
$this
->assertEquals(ProcessEntities::ENCRYPTED_VALUE, $record->field_test_multi_value);
}
}
}
}