public function testDescribeCredentials()
 {
     $req = new PasswordAuthenticationRequest();
     $req->action = AuthManager::ACTION_LOGIN;
     $req->username = '******';
     $ret = $req->describeCredentials();
     $this->assertInternalType('array', $ret);
     $this->assertArrayHasKey('provider', $ret);
     $this->assertInstanceOf('Message', $ret['provider']);
     $this->assertSame('authmanager-provider-password', $ret['provider']->getKey());
     $this->assertArrayHasKey('account', $ret);
     $this->assertInstanceOf('Message', $ret['account']);
     $this->assertSame(['UTSysop'], $ret['account']->getParams());
 }
 public function getFieldInfo()
 {
     $ret = parent::getFieldInfo();
     // Only add a domain field if we have the username field included
     if (isset($ret['username'])) {
         $ret['domain'] = ['type' => 'select', 'options' => [], 'label' => wfMessage('yourdomainname'), 'help' => wfMessage('authmanager-domain-help')];
         foreach ($this->domainList as $domain) {
             $ret['domain']['options'][$domain] = new \RawMessage('$1', [$domain]);
         }
     }
     return $ret;
 }