ConsolidatedConfigTest.php 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Integration\Test\Unit\Model;
  7. use Magento\Framework\Serialize\SerializerInterface;
  8. use Magento\Integration\Model\ConsolidatedConfig as Config;
  9. use Magento\Integration\Model\Cache\TypeConsolidated as Type;
  10. /**
  11. * Unit test for \Magento\Integration\Model\ConsolidatedConfig
  12. */
  13. class ConsolidatedConfigTest extends \PHPUnit\Framework\TestCase
  14. {
  15. /**
  16. * Integration config model
  17. *
  18. * @var Config
  19. */
  20. private $configModel;
  21. /**
  22. * @var Type|\PHPUnit_Framework_MockObject_MockObject
  23. */
  24. private $configCacheTypeMock;
  25. /**
  26. * @var \Magento\Integration\Model\Config\Consolidated\Reader|\PHPUnit_Framework_MockObject_MockObject
  27. */
  28. private $configReaderMock;
  29. /**
  30. * @var SerializerInterface|\PHPUnit_Framework_MockObject_MockObject
  31. */
  32. private $serializer;
  33. protected function setUp()
  34. {
  35. $this->configCacheTypeMock = $this->getMockBuilder(\Magento\Integration\Model\Cache\TypeConsolidated::class)
  36. ->disableOriginalConstructor()
  37. ->getMock();
  38. $this->configReaderMock = $this->getMockBuilder(\Magento\Integration\Model\Config\Consolidated\Reader::class)
  39. ->disableOriginalConstructor()
  40. ->getMock();
  41. $this->serializer = $this->getMockBuilder(SerializerInterface::class)
  42. ->disableOriginalConstructor()
  43. ->getMock();
  44. $objectManagerHelper = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
  45. $this->configModel = $objectManagerHelper->getObject(
  46. \Magento\Integration\Model\ConsolidatedConfig::class,
  47. [
  48. 'configCacheType' => $this->configCacheTypeMock,
  49. 'configReader' => $this->configReaderMock,
  50. 'serializer' => $this->serializer,
  51. ]
  52. );
  53. }
  54. public function testGetIntegrationsFromConfigCacheType()
  55. {
  56. $integrations = ['foo', 'bar', 'baz'];
  57. $serializedIntegrations = '["foo","bar","baz"]';
  58. $this->configCacheTypeMock->expects($this->once())
  59. ->method('load')
  60. ->with(Config::CACHE_ID)
  61. ->will($this->returnValue($serializedIntegrations));
  62. $this->serializer->expects($this->once())
  63. ->method('unserialize')
  64. ->with($serializedIntegrations)
  65. ->willReturn($integrations);
  66. $this->assertEquals($integrations, $this->configModel->getIntegrations());
  67. }
  68. public function testGetIntegrationsFromConfigReader()
  69. {
  70. $integrations = ['foo', 'bar', 'baz'];
  71. $serializedIntegrations = '["foo","bar","baz"]';
  72. $this->configCacheTypeMock->expects($this->once())
  73. ->method('load')
  74. ->with(Config::CACHE_ID)
  75. ->will($this->returnValue(null));
  76. $this->configReaderMock->expects($this->once())
  77. ->method('read')
  78. ->will($this->returnValue($integrations));
  79. $this->serializer->expects($this->once())
  80. ->method('serialize')
  81. ->with($integrations)
  82. ->willReturn($serializedIntegrations);
  83. $this->configCacheTypeMock->expects($this->once())
  84. ->method('save')
  85. ->with($serializedIntegrations, Config::CACHE_ID, [Type::CACHE_TAG]);
  86. $this->assertEquals($integrations, $this->configModel->getIntegrations());
  87. }
  88. }