SecureSiteDigestNoneTest.php in Secure Site 8
File
src/Tests/DigestAuth/SecureSiteDigestNoneTest.php
View source
<?php
namespace Drupal\securesite\Tests\DigestAuth;
use Drupal\simpletest\WebTestBase;
class SecureSiteDigestNoneTest extends WebTestBase {
public static $modules = array(
'securesite',
);
public static function getInfo() {
return array(
'name' => t('Digest authentication: No credentials'),
'description' => t('Test HTTP digest authentication without credentials. Digest scripts must be configured on the live site before this test is run.'),
'group' => t('Secure Site'),
);
}
function setUp() {
parent::setUp();
_securesite_copy_script_config($this);
$config = \Drupal::config('securesite.settings');
$config
->set('securesite_enabled', SECURESITE_ALWAYS);
$config
->set('securesite_type', array(
SECURESITE_FORM,
SECURESITE_BASIC,
SECURESITE_DIGEST,
));
$config
->save();
}
function testSecureSiteTypeDigestNone() {
$this
->drupalHead(NULL);
$this
->assertResponse(401, t('Requesting home page without credentials.'));
$challenge = array();
list($scheme, $value) = explode(' ', $this
->drupalGetHeader('WWW-Authenticate'), 2);
if ($scheme == 'Digest') {
module_load_include('inc', 'securesite');
$challenge = _securesite_parse_directives($value);
}
$this
->assertTrue(isset($challenge['realm']) && isset($challenge['nonce']), t('Checking for digest authentication scheme.'));
}
}