Drupal modules for browsing and managing Fedora-based digital repositories.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

58 lines
2.2 KiB

<?php
namespace Drupal\Tests\islandora\Functional;
/**
* Tests Islandora Settings Form.
*
* @package Drupal\Tests\islandora\Functional
* @group islandora
* @coversDefaultClass \Drupal\islandora\Form\IslandoraSettingsForm
*/
class IslandoraSettingsFormTest extends IslandoraFunctionalTestBase {
/**
* {@inheritdoc}
*/
public function setUp() {
parent::setUp();
// Create a test user.
$account = $this->drupalCreateUser([
'bypass node access',
'administer site configuration',
'view media',
'create media',
'update media',
]);
$this->drupalLogin($account);
}
/**
* Test form validation for JWT expiry.
*/
public function testJwtExpiry() {
$this->drupalGet('/admin/config/islandora/core');
$this->assertSession()->statusCodeEquals(200);
$this->assertSession()->pageTextContains("JWT Expiry");
$this->assertSession()->fieldValueEquals('edit-jwt-expiry', '+2 hour');
// Blank is not allowed.
D9 islandora (#809) * update messenger for d9 * fix dependency injection * update info files * stream_for updates for d9 * remove deprecated entity query * replace deprecated functions * use dependency injection for messenger and fix other deprecated functions for d9 * fix deprecations in tests * fix test * phpcs fixes * fix toUrl method * properly use StringTranslationTrait * phpcs fixes and using dependency injection * more deprecations with upgrade_status 3.x version and more phpcs fixes * add defaultTheme per https://www.drupal.org/node/3083055 * replace deprecated context definition method - per https://www.drupal.org/node/2976400 * fix context definitions * remove more deprecations * fix deprecations in tests * codesniffer fixes - dependencies must be prefixed with drupal: and missing variable doc comments * replace more url() -> toUrl() and remove unused variables * more code sniffer fixes * some of these urls are necessary as strings * d9 requires update to flysystem module * update migrate_source_csv * temporarily point crayfish-commons to branch with d9 dependencies * another composer dependency adjustment * point composer to d9 branch of jsonld * remove hook_post_action for d9 * remove hook_post_action as a dependency - this does break multifile media FOR NOW * update migration keys -> ids per https://www.drupal.org/node/3060246 * fix url method * point jsonld back to dev since PR has been merged * wrong branch name * add update hook for change in migration source * update travis.yml for php 7.4 * add doc comment * build on php7.2, 7.3, 7.4 * use this instead of Drupal:: * just php 7.3 and 7.4 * swap back to dev-dev crayfish-commons since PR was merged * perhaps this fixes the config thing * trying to fix config * ugh errant semicolon * missing variable name * maybe it would help if i named the variables consistently * please work... * i can't get the dependency injection of config correct * sad panda * thanks @seth-shaw-unlv for this magical fix * fix dependency injection * putting the config in the AbstractGenerateDerivativeMediaFile class instead * already the system.file config * update test module info file * fix implode ordre of parameters * remove unused use statement * fix geminiclient tests * phpcs fix * check for fedora key in flysystem * check for array not being null * more null checks * try on the downgrade-symfony branch * set fedora url to null if it isn't in the settings * testing the crayfish-commons version fix * fixes for new classes in newer version of guzzlehttp but still needing to support old methods * update phpunit.xml? * transform 1 response from preg_match to a boolean * reorder crayfish-commons version fix * code sniffer fixes * abstract awaying the shared constructor so that phpcpd is happy about less duplicated code * attempt to reduce shared code in the FedoraAdapterTest * remove unused use statement * code sniffer fixes...not sure how i missed these... * remove reliance on branch of crayfish-commons since PR has been merged
4 years ago
$this->drupalPostForm('/admin/config/islandora/core', ['edit-jwt-expiry' => ""], $this->t('Save configuration'));
$this->assertSession()->pageTextContainsOnce('"" is not a valid time or interval expression.');
// Negative is not allowed.
D9 islandora (#809) * update messenger for d9 * fix dependency injection * update info files * stream_for updates for d9 * remove deprecated entity query * replace deprecated functions * use dependency injection for messenger and fix other deprecated functions for d9 * fix deprecations in tests * fix test * phpcs fixes * fix toUrl method * properly use StringTranslationTrait * phpcs fixes and using dependency injection * more deprecations with upgrade_status 3.x version and more phpcs fixes * add defaultTheme per https://www.drupal.org/node/3083055 * replace deprecated context definition method - per https://www.drupal.org/node/2976400 * fix context definitions * remove more deprecations * fix deprecations in tests * codesniffer fixes - dependencies must be prefixed with drupal: and missing variable doc comments * replace more url() -> toUrl() and remove unused variables * more code sniffer fixes * some of these urls are necessary as strings * d9 requires update to flysystem module * update migrate_source_csv * temporarily point crayfish-commons to branch with d9 dependencies * another composer dependency adjustment * point composer to d9 branch of jsonld * remove hook_post_action for d9 * remove hook_post_action as a dependency - this does break multifile media FOR NOW * update migration keys -> ids per https://www.drupal.org/node/3060246 * fix url method * point jsonld back to dev since PR has been merged * wrong branch name * add update hook for change in migration source * update travis.yml for php 7.4 * add doc comment * build on php7.2, 7.3, 7.4 * use this instead of Drupal:: * just php 7.3 and 7.4 * swap back to dev-dev crayfish-commons since PR was merged * perhaps this fixes the config thing * trying to fix config * ugh errant semicolon * missing variable name * maybe it would help if i named the variables consistently * please work... * i can't get the dependency injection of config correct * sad panda * thanks @seth-shaw-unlv for this magical fix * fix dependency injection * putting the config in the AbstractGenerateDerivativeMediaFile class instead * already the system.file config * update test module info file * fix implode ordre of parameters * remove unused use statement * fix geminiclient tests * phpcs fix * check for fedora key in flysystem * check for array not being null * more null checks * try on the downgrade-symfony branch * set fedora url to null if it isn't in the settings * testing the crayfish-commons version fix * fixes for new classes in newer version of guzzlehttp but still needing to support old methods * update phpunit.xml? * transform 1 response from preg_match to a boolean * reorder crayfish-commons version fix * code sniffer fixes * abstract awaying the shared constructor so that phpcpd is happy about less duplicated code * attempt to reduce shared code in the FedoraAdapterTest * remove unused use statement * code sniffer fixes...not sure how i missed these... * remove reliance on branch of crayfish-commons since PR has been merged
4 years ago
$this->drupalPostForm('/admin/config/islandora/core', ['edit-jwt-expiry' => "-2 hours"], $this->t('Save configuration'));
$this->assertSession()->pageTextContainsOnce('Time or interval expression cannot be negative');
// Must include an integer value.
D9 islandora (#809) * update messenger for d9 * fix dependency injection * update info files * stream_for updates for d9 * remove deprecated entity query * replace deprecated functions * use dependency injection for messenger and fix other deprecated functions for d9 * fix deprecations in tests * fix test * phpcs fixes * fix toUrl method * properly use StringTranslationTrait * phpcs fixes and using dependency injection * more deprecations with upgrade_status 3.x version and more phpcs fixes * add defaultTheme per https://www.drupal.org/node/3083055 * replace deprecated context definition method - per https://www.drupal.org/node/2976400 * fix context definitions * remove more deprecations * fix deprecations in tests * codesniffer fixes - dependencies must be prefixed with drupal: and missing variable doc comments * replace more url() -> toUrl() and remove unused variables * more code sniffer fixes * some of these urls are necessary as strings * d9 requires update to flysystem module * update migrate_source_csv * temporarily point crayfish-commons to branch with d9 dependencies * another composer dependency adjustment * point composer to d9 branch of jsonld * remove hook_post_action for d9 * remove hook_post_action as a dependency - this does break multifile media FOR NOW * update migration keys -> ids per https://www.drupal.org/node/3060246 * fix url method * point jsonld back to dev since PR has been merged * wrong branch name * add update hook for change in migration source * update travis.yml for php 7.4 * add doc comment * build on php7.2, 7.3, 7.4 * use this instead of Drupal:: * just php 7.3 and 7.4 * swap back to dev-dev crayfish-commons since PR was merged * perhaps this fixes the config thing * trying to fix config * ugh errant semicolon * missing variable name * maybe it would help if i named the variables consistently * please work... * i can't get the dependency injection of config correct * sad panda * thanks @seth-shaw-unlv for this magical fix * fix dependency injection * putting the config in the AbstractGenerateDerivativeMediaFile class instead * already the system.file config * update test module info file * fix implode ordre of parameters * remove unused use statement * fix geminiclient tests * phpcs fix * check for fedora key in flysystem * check for array not being null * more null checks * try on the downgrade-symfony branch * set fedora url to null if it isn't in the settings * testing the crayfish-commons version fix * fixes for new classes in newer version of guzzlehttp but still needing to support old methods * update phpunit.xml? * transform 1 response from preg_match to a boolean * reorder crayfish-commons version fix * code sniffer fixes * abstract awaying the shared constructor so that phpcpd is happy about less duplicated code * attempt to reduce shared code in the FedoraAdapterTest * remove unused use statement * code sniffer fixes...not sure how i missed these... * remove reliance on branch of crayfish-commons since PR has been merged
4 years ago
$this->drupalPostForm('/admin/config/islandora/core', ['edit-jwt-expiry' => "last hour"], $this->t('Save configuration'));
$this->assertSession()->pageTextContainsOnce('No numeric interval specified, for example "1 day"');
// Must have an accepted interval.
D9 islandora (#809) * update messenger for d9 * fix dependency injection * update info files * stream_for updates for d9 * remove deprecated entity query * replace deprecated functions * use dependency injection for messenger and fix other deprecated functions for d9 * fix deprecations in tests * fix test * phpcs fixes * fix toUrl method * properly use StringTranslationTrait * phpcs fixes and using dependency injection * more deprecations with upgrade_status 3.x version and more phpcs fixes * add defaultTheme per https://www.drupal.org/node/3083055 * replace deprecated context definition method - per https://www.drupal.org/node/2976400 * fix context definitions * remove more deprecations * fix deprecations in tests * codesniffer fixes - dependencies must be prefixed with drupal: and missing variable doc comments * replace more url() -> toUrl() and remove unused variables * more code sniffer fixes * some of these urls are necessary as strings * d9 requires update to flysystem module * update migrate_source_csv * temporarily point crayfish-commons to branch with d9 dependencies * another composer dependency adjustment * point composer to d9 branch of jsonld * remove hook_post_action for d9 * remove hook_post_action as a dependency - this does break multifile media FOR NOW * update migration keys -> ids per https://www.drupal.org/node/3060246 * fix url method * point jsonld back to dev since PR has been merged * wrong branch name * add update hook for change in migration source * update travis.yml for php 7.4 * add doc comment * build on php7.2, 7.3, 7.4 * use this instead of Drupal:: * just php 7.3 and 7.4 * swap back to dev-dev crayfish-commons since PR was merged * perhaps this fixes the config thing * trying to fix config * ugh errant semicolon * missing variable name * maybe it would help if i named the variables consistently * please work... * i can't get the dependency injection of config correct * sad panda * thanks @seth-shaw-unlv for this magical fix * fix dependency injection * putting the config in the AbstractGenerateDerivativeMediaFile class instead * already the system.file config * update test module info file * fix implode ordre of parameters * remove unused use statement * fix geminiclient tests * phpcs fix * check for fedora key in flysystem * check for array not being null * more null checks * try on the downgrade-symfony branch * set fedora url to null if it isn't in the settings * testing the crayfish-commons version fix * fixes for new classes in newer version of guzzlehttp but still needing to support old methods * update phpunit.xml? * transform 1 response from preg_match to a boolean * reorder crayfish-commons version fix * code sniffer fixes * abstract awaying the shared constructor so that phpcpd is happy about less duplicated code * attempt to reduce shared code in the FedoraAdapterTest * remove unused use statement * code sniffer fixes...not sure how i missed these... * remove reliance on branch of crayfish-commons since PR has been merged
4 years ago
$this->drupalPostForm('/admin/config/islandora/core', ['edit-jwt-expiry' => "1 fortnight"], $this->t('Save configuration'));
$this->assertSession()->pageTextContainsOnce('No time interval found, please include one of');
// Test a valid setting.
D9 islandora (#809) * update messenger for d9 * fix dependency injection * update info files * stream_for updates for d9 * remove deprecated entity query * replace deprecated functions * use dependency injection for messenger and fix other deprecated functions for d9 * fix deprecations in tests * fix test * phpcs fixes * fix toUrl method * properly use StringTranslationTrait * phpcs fixes and using dependency injection * more deprecations with upgrade_status 3.x version and more phpcs fixes * add defaultTheme per https://www.drupal.org/node/3083055 * replace deprecated context definition method - per https://www.drupal.org/node/2976400 * fix context definitions * remove more deprecations * fix deprecations in tests * codesniffer fixes - dependencies must be prefixed with drupal: and missing variable doc comments * replace more url() -> toUrl() and remove unused variables * more code sniffer fixes * some of these urls are necessary as strings * d9 requires update to flysystem module * update migrate_source_csv * temporarily point crayfish-commons to branch with d9 dependencies * another composer dependency adjustment * point composer to d9 branch of jsonld * remove hook_post_action for d9 * remove hook_post_action as a dependency - this does break multifile media FOR NOW * update migration keys -> ids per https://www.drupal.org/node/3060246 * fix url method * point jsonld back to dev since PR has been merged * wrong branch name * add update hook for change in migration source * update travis.yml for php 7.4 * add doc comment * build on php7.2, 7.3, 7.4 * use this instead of Drupal:: * just php 7.3 and 7.4 * swap back to dev-dev crayfish-commons since PR was merged * perhaps this fixes the config thing * trying to fix config * ugh errant semicolon * missing variable name * maybe it would help if i named the variables consistently * please work... * i can't get the dependency injection of config correct * sad panda * thanks @seth-shaw-unlv for this magical fix * fix dependency injection * putting the config in the AbstractGenerateDerivativeMediaFile class instead * already the system.file config * update test module info file * fix implode ordre of parameters * remove unused use statement * fix geminiclient tests * phpcs fix * check for fedora key in flysystem * check for array not being null * more null checks * try on the downgrade-symfony branch * set fedora url to null if it isn't in the settings * testing the crayfish-commons version fix * fixes for new classes in newer version of guzzlehttp but still needing to support old methods * update phpunit.xml? * transform 1 response from preg_match to a boolean * reorder crayfish-commons version fix * code sniffer fixes * abstract awaying the shared constructor so that phpcpd is happy about less duplicated code * attempt to reduce shared code in the FedoraAdapterTest * remove unused use statement * code sniffer fixes...not sure how i missed these... * remove reliance on branch of crayfish-commons since PR has been merged
4 years ago
$this->drupalPostForm('/admin/config/islandora/core', ['edit-jwt-expiry' => "2 weeks"], $this->t('Save configuration'));
$this->assertSession()->pageTextContainsOnce('The configuration options have been saved.');
}
}