Download the PHP package cirrusidentity/simplesamlphp-test-utils without Composer
On this page you can find all versions of the php package cirrusidentity/simplesamlphp-test-utils. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download cirrusidentity/simplesamlphp-test-utils
More information about cirrusidentity/simplesamlphp-test-utils
Files in cirrusidentity/simplesamlphp-test-utils
Package simplesamlphp-test-utils
Short Description Utilities to aid in testing simpleSAMLphp modules
License LGPL-2.1-only
Informations about the package simplesamlphp-test-utils
simplesamlphp-test-utils
Utilities to aid in testing SimpleSAMLphp modules
Installation
Install as a dev dependency using composer
composer require --dev cirrusidentity/simplesamlphp-test-utils:dev-master
Update the dependency
composer update -dev cirrusidentity/simplesamlphp-test-utils
Usage
This project makes heavy use of AspectMock
to make SSP's internal easier to test.
Adjust your phpunit bootstrap.php per https://github.com/Codeception/AspectMock to setup AspectMock
and also ensure you set backupGlobals="false"
in phpunit.xml. See this projects boostrap.php
on
some workarounds for getting AspectMock to play nicely with SSP's custom class loader
You can sanity check your project by calling SanityChecker::confirmAspectMockConfigured()
in a test. See AspectMockConfiguredTest
for an example.
Clearing Static State
You should reset AspectMock
after each test.
Several SSP components also cache things across all tests. Some of these classes are
marked with the \SimpleSAML\Utils\ClearableState
interface and you can clear this state
at the appropriate time for your tests.
Mock Redirects
Your module may need to redirect the user somewhere. If you try to create a unit test
for a redirect you'll normally have trouble since SSP's redirect method eventually calls exit
You can use MockHttp
(which internally uses AspectMock
) to change the behavior of the redirect method
to throw an exception instead. You can then catch the exception and asserted the correct URL
was being redirect to
Mock Auth Sources
See MockAuthSourceTest.
bootstrap.php
needs to explicitly load the Source.php file
$kernel->loadFile($projectRoot . '/vendor/simplesamlphp/simplesamlphp/lib/SimpleSAML/Auth/Source.php');
All versions of simplesamlphp-test-utils with dependencies
simplesamlphp/simplesamlphp Version >=1.18
codeception/aspect-mock Version 3.1.*