From 898ae71f0b01b3d19dd3550d4774651a1f771969 Mon Sep 17 00:00:00 2001 From: Dan Marsden Date: Tue, 16 Apr 2019 12:12:35 +1200 Subject: [PATCH] Fix up unit tests for Totara 12. a --- tests/phpunit/setting_idpmetadata_test.php | 35 ++++++++++----- tests/phpunit/settings_test.php | 50 ---------------------- 2 files changed, 24 insertions(+), 61 deletions(-) delete mode 100644 tests/phpunit/settings_test.php diff --git a/tests/phpunit/setting_idpmetadata_test.php b/tests/phpunit/setting_idpmetadata_test.php index c8d41ad2c..ea9d27289 100644 --- a/tests/phpunit/setting_idpmetadata_test.php +++ b/tests/phpunit/setting_idpmetadata_test.php @@ -30,11 +30,11 @@ class setting_idpmetadata_test extends advanced_testcase { /** @var setting_idpmetadata */ - private $config; + private static $config; protected function setUp() { parent::setUp(); - $this->config = new setting_idpmetadata(); + self::$config = new setting_idpmetadata(); } private function get_test_metadata_url() { @@ -47,7 +47,7 @@ private function get_test_metadata_url() { public function test_it_validates_the_xml() { $this->resetAfterTest(); $xml = file_get_contents(__DIR__ . '/../fixtures/metadata.xml'); - $data = $this->config->validate($xml); + $data = self::$config->validate($xml); self::assertTrue($data); } @@ -57,7 +57,7 @@ public function test_it_saves_all_idp_information() { $this->resetAfterTest(); $xml = file_get_contents(__DIR__ . '/../fixtures/metadata.xml'); - $this->config->write_setting($xml); + self::$config->write_setting($xml); $actual = get_config('auth_saml2'); self::assertSame($xml, $actual->idpmetadata, 'Invalid config metadata.'); @@ -85,7 +85,7 @@ public function test_it_saves_all_idps_information_from_single_xml() { $this->resetAfterTest(); $xml = file_get_contents(__DIR__ . '/../fixtures/dualmetadata.xml'); - $this->config->write_setting($xml); + self::$config->write_setting($xml); $actual = get_config('auth_saml2'); self::assertSame($xml, $actual->idpmetadata, 'Invalid config metadata.'); @@ -112,14 +112,14 @@ public function test_it_saves_all_idps_information_from_single_xml() { } public function test_it_allows_empty_values() { - self::assertTrue($this->config->validate(''), 'Validate empty string.'); - self::assertTrue($this->config->validate(' '), ' Should trim spaces.'); - self::assertTrue($this->config->validate("\n \n"), 'Should trim newlines.'); + self::assertTrue(self::$config->validate(''), 'Validate empty string.'); + self::assertTrue(self::$config->validate(' '), ' Should trim spaces.'); + self::assertTrue(self::$config->validate("\n \n"), 'Should trim newlines.'); } public function test_it_gets_idp_data_for_xml() { $xml = file_get_contents(__DIR__ . '/../fixtures/metadata.xml'); - $data = $this->config->get_idps_data($xml); + $data = self::$config->get_idps_data($xml); self::assertCount(1, $data); $this->validate_idp_data_array($data); } @@ -127,13 +127,13 @@ public function test_it_gets_idp_data_for_xml() { public function test_it_gets_idp_data_for_two_urls() { $url = $this->get_test_metadata_url(); $url = "{$url}\n{$url}?second"; - $data = $this->config->get_idps_data($url); + $data = self::$config->get_idps_data($url); self::assertCount(2, $data); $this->validate_idp_data_array($data); } public function test_it_returns_error_if_metadata_url_is_not_valid() { - $error = $this->config->validate('http://invalid.url.metadata.test'); + $error = self::$config->validate('http://invalid.url.metadata.test'); self::assertContains('Invalid metadata', $error); self::assertContains('http://invalid.url.metadata.test', $error); } @@ -147,4 +147,17 @@ private function validate_idp_data_array($idps) { self::assertNotNull($idp->get_rawxml()); } } + + /** + * Cleanup after all tests are executed. + * + * @static + * @return void + */ + public static function tearDownAfterClass() { // @codingStandardsIgnoreLine - ignore case of function. + parent::tearDownAfterClass(); + if (self::$config) { + self::$config = null; + } + } } diff --git a/tests/phpunit/settings_test.php b/tests/phpunit/settings_test.php deleted file mode 100644 index b9e35ce84..000000000 --- a/tests/phpunit/settings_test.php +++ /dev/null @@ -1,50 +0,0 @@ -. - -/** - * @package auth_saml2 - * @author Daniel Thee Roperto - * @copyright 2018 Catalyst IT Australia {@link http://www.catalyst-au.net} - * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later - */ - -use auth_saml2\test\mock_settings; - -defined('MOODLE_INTERNAL') || die(); - -require_once(__DIR__ . '/../../_autoload.php'); - -/** - * @package auth_saml2 - * @author Daniel Thee Roperto - * @copyright 2018 Catalyst IT Australia {@link http://www.catalyst-au.net} - * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later - */ -class auth_saml2_settings_test extends advanced_testcase { - public function test_mapping_moodle_options() { - global $ADMIN; - - $this->resetAfterTest(); - - $settings = new mock_settings(); - $ADMIN = (object)['fulltree' => true]; - require(__DIR__ . '/../../settings.php'); - - $expected = ['username', 'idnumber', 'email', 'alternatename']; - $actual = array_keys($settings->fields['id_s_auth_saml2_mdlattr']->choices); - self::assertSame($expected, $actual); - } -}