UserTest.php 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. <?php
  2. /*
  3. * This file is part of the Symfony package.
  4. *
  5. * (c) Fabien Potencier <fabien.potencier@symfony-project.com>
  6. *
  7. * For the full copyright and license information, please view the LICENSE
  8. * file that was distributed with this source code.
  9. */
  10. namespace Symfony\Tests\Component\Security\User;
  11. use Symfony\Component\Security\User\User;
  12. class UserTest extends \PHPUnit_Framework_TestCase
  13. {
  14. /**
  15. * @covers Symfony\Component\Security\User\User::__construct
  16. * @expectedException InvalidArgumentException
  17. */
  18. public function testConstructorException()
  19. {
  20. new User('', 'superpass');
  21. }
  22. /**
  23. * @covers Symfony\Component\Security\User\User::__construct
  24. * @covers Symfony\Component\Security\User\User::getRoles
  25. */
  26. public function testGetRoles()
  27. {
  28. $user = new User('fabien', 'superpass');
  29. $this->assertEquals(array(), $user->getRoles());
  30. $user = new User('fabien', 'superpass', array('ROLE_ADMIN'));
  31. $this->assertEquals(array('ROLE_ADMIN'), $user->getRoles());
  32. }
  33. /**
  34. * @covers Symfony\Component\Security\User\User::__construct
  35. * @covers Symfony\Component\Security\User\User::getPassword
  36. */
  37. public function testGetPassword()
  38. {
  39. $user = new User('fabien', 'superpass');
  40. $this->assertEquals('superpass', $user->getPassword());
  41. }
  42. /**
  43. * @covers Symfony\Component\Security\User\User::__construct
  44. * @covers Symfony\Component\Security\User\User::getUsername
  45. */
  46. public function testGetUsername()
  47. {
  48. $user = new User('fabien', 'superpass');
  49. $this->assertEquals('fabien', $user->getUsername());
  50. }
  51. /**
  52. * @covers Symfony\Component\Security\User\User::getSalt
  53. */
  54. public function testGetSalt()
  55. {
  56. $user = new User('fabien', 'superpass');
  57. $this->assertEquals('', $user->getSalt());
  58. }
  59. /**
  60. * @covers Symfony\Component\Security\User\User::isAccountNonExpired
  61. */
  62. public function testIsAccountNonExpired()
  63. {
  64. $user = new User('fabien', 'superpass');
  65. $this->assertTrue($user->isAccountNonExpired());
  66. $user = new User('fabien', 'superpass', array(), true, false);
  67. $this->assertFalse($user->isAccountNonExpired());
  68. }
  69. /**
  70. * @covers Symfony\Component\Security\User\User::isCredentialsNonExpired
  71. */
  72. public function testIsCredentialsNonExpired()
  73. {
  74. $user = new User('fabien', 'superpass');
  75. $this->assertTrue($user->isCredentialsNonExpired());
  76. $user = new User('fabien', 'superpass', array(), true, true, false);
  77. $this->assertFalse($user->isCredentialsNonExpired());
  78. }
  79. /**
  80. * @covers Symfony\Component\Security\User\User::isAccountNonLocked
  81. */
  82. public function testIsAccountNonLocked()
  83. {
  84. $user = new User('fabien', 'superpass');
  85. $this->assertTrue($user->isAccountNonLocked());
  86. $user = new User('fabien', 'superpass', array(), true, true, true, false);
  87. $this->assertFalse($user->isAccountNonLocked());
  88. }
  89. /**
  90. * @covers Symfony\Component\Security\User\User::isEnabled
  91. */
  92. public function testIsEnabled()
  93. {
  94. $user = new User('fabien', 'superpass');
  95. $this->assertTrue($user->isEnabled());
  96. $user = new User('fabien', 'superpass', array(), false);
  97. $this->assertFalse($user->isEnabled());
  98. }
  99. /**
  100. * @covers Symfony\Component\Security\User\User::eraseCredentials
  101. */
  102. public function testEraseCredentials()
  103. {
  104. $user = new User('fabien', 'superpass');
  105. $user->eraseCredentials();
  106. $this->assertNull($user->getPassword());
  107. }
  108. /**
  109. * @covers Symfony\Component\Security\User\User::__toString
  110. */
  111. public function testMagicToString()
  112. {
  113. $user = new User('fabien', 'superpass');
  114. $this->assertEquals('fabien', (string) $user);
  115. }
  116. }