CollectionTest.php 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Security\Model\ResourceModel\AdminSessionInfo;
  7. use Magento\Framework\Stdlib\DateTime\DateTime;
  8. class CollectionTest extends \PHPUnit\Framework\TestCase
  9. {
  10. /**
  11. * @var \Magento\Security\Model\ResourceModel\AdminSessionInfo\Collection
  12. */
  13. protected $collectionModel;
  14. /**
  15. * @var \Magento\Framework\ObjectManagerInterface
  16. */
  17. protected $objectManager;
  18. /**
  19. * Set up
  20. */
  21. protected function setUp()
  22. {
  23. $this->objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
  24. $this->collectionModel = $this->objectManager
  25. ->create(\Magento\Security\Model\ResourceModel\AdminSessionInfo\Collection::class);
  26. }
  27. /**
  28. * updateActiveSessionsStatus() test
  29. *
  30. * @magentoDataFixture Magento/Security/_files/adminsession.php
  31. */
  32. public function testUpdateActiveSessionsStatus()
  33. {
  34. $quantity = $this->collectionModel->updateActiveSessionsStatus(
  35. \Magento\Security\Model\AdminSessionInfo::LOGGED_OUT_BY_LOGIN,
  36. 1,
  37. '569e2277752e9'
  38. );
  39. $this->assertGreaterThanOrEqual(1, $quantity);
  40. }
  41. /**
  42. * filterByUser() test
  43. *
  44. * @magentoDataFixture Magento/Security/_files/adminsession.php
  45. */
  46. public function testFilterByUser()
  47. {
  48. $this->collectionModel->filterByUser(
  49. 1,
  50. \Magento\Security\Model\AdminSessionInfo::LOGGED_IN,
  51. '569e2e3d752e9'
  52. );
  53. $this->collectionModel->load();
  54. $this->assertGreaterThanOrEqual(1, $this->collectionModel->getSize());
  55. }
  56. /**
  57. * filterExpiredSessions() test
  58. *
  59. * @magentoDataFixture Magento/Security/_files/adminsession.php
  60. */
  61. public function testFilterExpiredSessions()
  62. {
  63. $startTime = strtotime('2016-01-19 15:42:13') - 1;
  64. $dateTime = $this->objectManager
  65. ->get(DateTime::class);
  66. $currentTime = $dateTime->gmtTimestamp();
  67. $sessionLifetime = $currentTime - $startTime;
  68. $this->collectionModel->filterExpiredSessions($sessionLifetime);
  69. $this->collectionModel->load();
  70. $this->assertGreaterThanOrEqual(1, $this->collectionModel->getSize());
  71. }
  72. /**
  73. * deleteSessionsOlderThen() test
  74. *
  75. * @magentoDataFixture Magento/Security/_files/adminsession.php
  76. */
  77. public function testDeleteSessionsOlderThen()
  78. {
  79. $startTime = strtotime('2016-01-19 15:42:13');
  80. $this->collectionModel->deleteSessionsOlderThen($startTime);
  81. $this->collectionModel->load();
  82. $this->assertGreaterThanOrEqual(1, $this->collectionModel->getSize());
  83. }
  84. }