diff --git a/tests/lib/SimpleSAML/Auth/SourceTest.php b/tests/lib/SimpleSAML/Auth/SourceTest.php new file mode 100644 index 0000000000000000000000000000000000000000..0cbf1e849027d7bf63493d449160591915dad832 --- /dev/null +++ b/tests/lib/SimpleSAML/Auth/SourceTest.php @@ -0,0 +1,42 @@ +<?php + +namespace SimpleSAML\Test\Auth; + +use SimpleSAML\Auth\SourceFactory; +use SimpleSAML\Test\Utils\ClearStateTestCase; + +/** + * Tests for SimpleSAML_Auth_Source + */ +class SourceTest extends ClearStateTestCase +{ + public function testParseAuthSource() + { + $class = new \ReflectionClass('SimpleSAML_Auth_Source'); + $method = $class->getMethod('parseAuthSource'); + $method->setAccessible(true); + + // test direct instantiation of the auth source object + $authSource = $method->invokeArgs(null, ['test', ['SimpleSAML\Test\Auth\TestAuthSource']]); + $this->assertInstanceOf('SimpleSAML\Test\Auth\TestAuthSource', $authSource); + + // test instantiation via an auth source factory + $authSource = $method->invokeArgs(null, ['test', ['SimpleSAML\Test\Auth\TestAuthSourceFactory']]); + $this->assertInstanceOf('SimpleSAML\Test\Auth\TestAuthSource', $authSource); + } +} + +class TestAuthSource extends \SimpleSAML_Auth_Source +{ + public function authenticate(&$state) + { + } +} + +class TestAuthSourceFactory implements SourceFactory +{ + public function create(array $info, array $config) + { + return new TestAuthSource($info, $config); + } +}