/core/modules/system/tests/src/Functional/System/SystemAuthorizeTest.php
PHP | 66 lines | 24 code | 10 blank | 32 comment | 0 complexity | 7c9bc8a2c56cb3cc2f38db0d8291290e MD5 | raw file
Possible License(s): GPL-2.0, LGPL-2.1
- <?php
- namespace Drupal\Tests\system\Functional\System;
- use Drupal\Tests\BrowserTestBase;
- /**
- * Tests the authorize.php script and related API.
- *
- * @group system
- */
- class SystemAuthorizeTest extends BrowserTestBase {
- /**
- * Modules to enable.
- *
- * @var array
- */
- public static $modules = ['system_test'];
- /**
- * {@inheritdoc}
- */
- protected $defaultTheme = 'stark';
- protected function setUp() {
- parent::setUp();
- // Create an administrator user.
- $this->drupalLogin($this->drupalCreateUser(['administer software updates']));
- }
- /**
- * Helper function to initialize authorize.php and load it via drupalGet().
- *
- * Initializing authorize.php needs to happen in the child Drupal
- * installation, not the parent. So, we visit a menu callback provided by
- * system_test.module which calls system_authorized_init() to initialize the
- * $_SESSION inside the test site, not the framework site. This callback
- * redirects to authorize.php when it's done initializing.
- *
- * @see system_authorized_init()
- */
- public function drupalGetAuthorizePHP($page_title = 'system-test-auth') {
- $this->drupalGet('system-test/authorize-init/' . $page_title);
- }
- /**
- * Tests the FileTransfer hooks
- */
- public function testFileTransferHooks() {
- $page_title = $this->randomMachineName(16);
- $this->drupalGetAuthorizePHP($page_title);
- $this->assertTitle(strtr('@title | Drupal', ['@title' => $page_title]), 'authorize.php page title is correct.');
- $this->assertNoText('It appears you have reached this page in error.');
- $this->assertText('To continue, provide your server connection details');
- // Make sure we see the new connection method added by system_test.
- $this->assertRaw('System Test FileTransfer');
- // Make sure the settings form callback works.
- $this->assertText('System Test Username');
- // Test that \Drupal\Core\Render\BareHtmlPageRenderer adds assets as
- // expected to the first page of the authorize.php script.
- $this->assertRaw('core/misc/states.js');
- }
- }