18 $this->objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
29 $this->objectManager->getObject(
30 \
Magento\Framework\Cache\Backend\RemoteSynchronizedCache::class,
43 'empty_backend_option' => [
45 'remote_backend' =>
null,
46 'local_backend' =>
null,
49 'empty_remote_backend_option' => [
51 'remote_backend' => \Magento\Framework\Cache\Backend\Database::class,
52 'local_backend' =>
null,
55 'empty_local_backend_option' => [
57 'remote_backend' =>
null,
58 'local_backend' => \Cm_Cache_Backend_File::class,
71 $result = $this->objectManager->getObject(
72 \
Magento\Framework\Cache\Backend\RemoteSynchronizedCache::class,
77 $this->assertInstanceOf(\
Magento\Framework\Cache\Backend\RemoteSynchronizedCache::class,
$result);
85 $connectionMock = $this->getMockBuilder(\
Magento\Framework\DB\Adapter\Pdo\Mysql::class)
86 ->disableOriginalConstructor()
90 'not_empty_backend_option' => [
92 'remote_backend' => \Magento\Framework\Cache\Backend\Database::class,
93 'remote_backend_options' => [
94 'adapter_callback' =>
'',
95 'data_table' =>
'data_table',
96 'data_table_callback' =>
'data_table_callback',
97 'tags_table' =>
'tags_table',
98 'tags_table_callback' =>
'tags_table_callback',
100 'adapter' => $connectionMock,
102 'local_backend' => \Cm_Cache_Backend_File::class,
103 'local_backend_options' => [
104 'cache_dir' =>
'/tmp',
117 public function testLoad(
$options, $expected)
120 $database = $this->objectManager->getObject(
121 \
Magento\Framework\Cache\Backend\RemoteSynchronizedCache::class,
127 $this->assertEquals($expected, $database->load(5));
136 'cacheInvalidationTime_is_less_than_that_dataModificationTime' => [
139 'local_backend' => $this->
getFileMock(555,
'loaded_value'),
141 'expected' =>
'loaded_value',
143 'cacheInvalidationTime_is_greater_than_that_dataModificationTime' => [
146 'local_backend' => $this->
getFileMock(333,
'loaded_value'),
150 'cacheInvalidationTime_is_equal_to_the_dataModificationTime' => [
153 'local_backend' => $this->
getFileMock(444,
'loaded_value'),
155 'expected' =>
'loaded_value',
166 $databaseMock = $this->getMockBuilder(\
Magento\Framework\Cache\Backend\Database::class)
167 ->setMethods([
'load'])
168 ->disableOriginalConstructor()
170 $databaseMock->expects($this->once())
172 ->will($this->returnValue($cacheInvalidationTime));
174 return $databaseMock;
183 $fileMock = $this->getMockBuilder(\Cm_Cache_Backend_File::class)
184 ->setMethods([
'test',
'load'])
185 ->disableOriginalConstructor()
187 $fileMock->expects($this->once())
189 ->will($this->returnValue($dataModificationTime));
190 $fileMock->expects($this->any())
192 ->will($this->returnValue($cacheResult));
197 public function testRemove()
199 $databaseMock = $this->getMockBuilder(\
Magento\Framework\Cache\Backend\Database::class)
200 ->setMethods([
'save'])
201 ->disableOriginalConstructor()
203 $databaseMock->expects($this->once())
205 ->will($this->returnValue(
true));
207 $fileMock = $this->getMockBuilder(\Cm_Cache_Backend_File::class)
208 ->setMethods([
'remove'])
209 ->disableOriginalConstructor()
211 $fileMock->expects($this->once())
213 ->will($this->returnValue(
true));
216 $database = $this->objectManager->getObject(
217 \
Magento\Framework\Cache\Backend\RemoteSynchronizedCache::class,
220 'remote_backend' => $databaseMock,
221 'local_backend' => $fileMock,
226 $this->assertEquals(
true, $database->remove(5));
229 public function testClean()
231 $databaseMock = $this->getMockBuilder(\
Magento\Framework\Cache\Backend\Database::class)
232 ->setMethods([
'save'])
233 ->disableOriginalConstructor()
235 $databaseMock->expects($this->once())
237 ->will($this->returnValue(
true));
239 $fileMock = $this->getMockBuilder(\Cm_Cache_Backend_File::class)
240 ->setMethods([
'clean'])
241 ->disableOriginalConstructor()
243 $fileMock->expects($this->once())
245 ->will($this->returnValue(
true));
248 $database = $this->objectManager->getObject(
249 \
Magento\Framework\Cache\Backend\RemoteSynchronizedCache::class,
252 'remote_backend' => $databaseMock,
253 'local_backend' => $fileMock,
258 $this->assertEquals(
true, $database->clean());
testInitializeWithException($options)
initializeWithOutExceptionDataProvider()
initializeWithExceptionDataProvider()
testInitializeWithOutException($options)
getFileMock($dataModificationTime, $cacheResult)
getDatabaseMock($cacheInvalidationTime)