]> scripts.mit.edu Git - autoinstallsdev/mediawiki.git/blobdiff - extensions/TitleBlacklist/tests/phpunit/TitleBlacklistPreAuthenticationProviderTest.php
MediaWiki 1.30.2
[autoinstallsdev/mediawiki.git] / extensions / TitleBlacklist / tests / phpunit / TitleBlacklistPreAuthenticationProviderTest.php
diff --git a/extensions/TitleBlacklist/tests/phpunit/TitleBlacklistPreAuthenticationProviderTest.php b/extensions/TitleBlacklist/tests/phpunit/TitleBlacklistPreAuthenticationProviderTest.php
new file mode 100644 (file)
index 0000000..e48868b
--- /dev/null
@@ -0,0 +1,36 @@
+<?php
+use MediaWiki\Auth\AuthManager;
+
+/**
+ * @group Database
+ */
+class TitleBlacklistPreAuthenticationProviderTest extends MediaWikiTestCase {
+       public function setUp() {
+               global $wgDisableAuthManager;
+               if ( !class_exists( AuthManager::class ) || $wgDisableAuthManager ) {
+                       $this->markTestSkipped( 'AuthManager is disabled' );
+               }
+
+               parent::setUp();
+       }
+
+       /**
+        * @dataProvider provideGetAuthenticationRequests
+        */
+       public function testGetAuthenticationRequests( $action, $username, $expectedReqs ) {
+               $provider = new TitleBlacklistPreAuthenticationProvider();
+               $provider->setManager( AuthManager::singleton() );
+               $reqs = $provider->getAuthenticationRequests( $action, [ 'username' => $username ] );
+               $this->assertEquals( $expectedReqs, $reqs );
+       }
+
+       public function provideGetAuthenticationRequests() {
+               return [
+                       [ AuthManager::ACTION_LOGIN, null, [] ],
+                       [ AuthManager::ACTION_CREATE, null, [] ],
+                       [ AuthManager::ACTION_CREATE, 'UTSysop', [ new TitleBlacklistAuthenticationRequest() ] ],
+                       [ AuthManager::ACTION_CHANGE, null, [] ],
+                       [ AuthManager::ACTION_REMOVE, null, [] ],
+               ];
+       }
+}