ServerAddressTest.php 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Framework\HTTP\Test\Unit\PhpEnvironment;
  7. class ServerAddressTest extends \PHPUnit\Framework\TestCase
  8. {
  9. /**
  10. * @var \Magento\Framework\HTTP\PhpEnvironment\ServerAddress
  11. */
  12. protected $_serverAddress;
  13. /**
  14. * @var \PHPUnit_Framework_MockObject_MockObject|\Magento\Framework\App\Request\Http
  15. */
  16. protected $_request;
  17. protected function setUp()
  18. {
  19. $this->_request = $this->getMockBuilder(
  20. \Magento\Framework\App\Request\Http::class
  21. )->disableOriginalConstructor()->setMethods(
  22. ['getServer']
  23. )->getMock();
  24. $objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
  25. $this->_serverAddress = $objectManager->getObject(
  26. \Magento\Framework\HTTP\PhpEnvironment\ServerAddress::class,
  27. ['httpRequest' => $this->_request]
  28. );
  29. }
  30. /**
  31. * @dataProvider getServerAddressProvider
  32. */
  33. public function testGetServerAddress($serverVar, $expected, $ipToLong)
  34. {
  35. $this->_request->expects(
  36. $this->atLeastOnce()
  37. )->method(
  38. 'getServer'
  39. )->with(
  40. 'SERVER_ADDR'
  41. )->will(
  42. $this->returnValue($serverVar)
  43. );
  44. $this->assertEquals($expected, $this->_serverAddress->getServerAddress($ipToLong));
  45. }
  46. /**
  47. * @return array
  48. */
  49. public function getServerAddressProvider()
  50. {
  51. return [
  52. [null, false, false],
  53. ['192.168.0.1', '192.168.0.1', false],
  54. ['192.168.1.1', ip2long('192.168.1.1'), true]
  55. ];
  56. }
  57. }