public function TokenTests::testTokenReplacement in Lightweight Directory Access Protocol (LDAP) 8.3
Test the replacement of tokens.
See http://drupal.org/node/1245736 for test tokens.
File
- ldap_servers/
tests/ src/ Unit/ TokenTests.php, line 96
Class
- TokenTests
- @coversDefaultClass \Drupal\ldap_servers\Processor\TokenProcessor @group ldap @runTestsInSeparateProcesses @preserveGlobalState disabled
Namespace
Drupal\Tests\ldap_servers\UnitCode
public function testTokenReplacement() {
$tokenHelper = new TokenProcessor($this->detailLog, $this->fileSystem);
$dn = $tokenHelper
->tokenReplace($this->ldapEntry, '[dn]');
$this
->assertEquals($this->ldapEntry['dn'], $dn);
$house0 = $tokenHelper
->tokenReplace($this->ldapEntry, '[house:0]');
$this
->assertEquals($this->ldapEntry['house'][0], $house0);
$mixed = $tokenHelper
->tokenReplace($this->ldapEntry, 'thisold[house:0]');
$this
->assertEquals('thisold' . $this->ldapEntry['house'][0], $mixed);
$compound = $tokenHelper
->tokenReplace($this->ldapEntry, '[samaccountname:0][house:0]');
$this
->assertEquals($this->ldapEntry['sAMAccountName'][0] . $this->ldapEntry['house'][0], $compound);
$literalValue = $tokenHelper
->tokenReplace($this->ldapEntry, 'literalvalue');
$this
->assertEquals('literalvalue', $literalValue);
$house0 = $tokenHelper
->tokenReplace($this->ldapEntry, '[house]');
$this
->assertEquals($this->ldapEntry['house'][0], $house0);
$houseLast = $tokenHelper
->tokenReplace($this->ldapEntry, '[house:last]');
$this
->assertEquals($this->ldapEntry['house'][1], $houseLast);
$sAMAccountName = $tokenHelper
->tokenReplace($this->ldapEntry, '[samaccountname:0]');
$this
->assertEquals($this->ldapEntry['sAMAccountName'][0], $sAMAccountName);
$sAMAccountNameMixedCase = $tokenHelper
->tokenReplace($this->ldapEntry, '[sAMAccountName:0]');
$this
->assertEquals($this->ldapEntry['sAMAccountName'][0], $sAMAccountNameMixedCase);
$sAMAccountName2 = $tokenHelper
->tokenReplace($this->ldapEntry, '[samaccountname]');
$this
->assertEquals($this->ldapEntry['sAMAccountName'][0], $sAMAccountName2);
$sAMAccountName3 = $tokenHelper
->tokenReplace($this->ldapEntry, '[sAMAccountName]');
$this
->assertEquals($this->ldapEntry['sAMAccountName'][0], $sAMAccountName3);
$base64encode = $tokenHelper
->tokenReplace($this->ldapEntry, '[guid;base64_encode]');
$this
->assertEquals(base64_encode($this->ldapEntry['guid'][0]), $base64encode);
$bin2hex = $tokenHelper
->tokenReplace($this->ldapEntry, '[guid;bin2hex]');
$this
->assertEquals(bin2hex($this->ldapEntry['guid'][0]), $bin2hex);
$msguid = $tokenHelper
->tokenReplace($this->ldapEntry, '[guid;msguid]');
$this
->assertEquals(ConversionHelper::convertMsguidToString($this->ldapEntry['guid'][0]), $msguid);
$binary = $tokenHelper
->tokenReplace($this->ldapEntry, '[guid;binary]');
$this
->assertEquals(ConversionHelper::binaryConversionToString($this->ldapEntry['guid'][0]), $binary);
$account = $this
->prophesize('\\Drupal\\user\\Entity\\User');
$value = new \stdClass();
$value->value = $this->ldapEntry['sAMAccountName'][0];
$account
->get('name')
->willReturn($value);
$nameReplacement = $tokenHelper
->tokenReplace($account
->reveal(), '[property.name]', 'user_account');
$this
->assertEquals($this->ldapEntry['sAMAccountName'][0], $nameReplacement);
}