2013-03-17 19:01:10 +04:00
|
|
|
<?php
|
2013-07-16 17:46:27 +04:00
|
|
|
|
2013-03-17 19:01:10 +04:00
|
|
|
/**
|
|
|
|
* Copyright (c) 2013 Robin Appelman <icewind@owncloud.com>
|
|
|
|
* This file is licensed under the Affero General Public License version 3 or
|
|
|
|
* later.
|
|
|
|
* See the COPYING-README file.
|
|
|
|
*/
|
|
|
|
|
2013-07-16 17:46:27 +04:00
|
|
|
namespace Test\Memcache;
|
|
|
|
|
2016-05-20 16:38:20 +03:00
|
|
|
class MemcachedTest extends Cache {
|
2020-04-10 17:51:06 +03:00
|
|
|
public static function setUpBeforeClass(): void {
|
2014-11-11 01:30:38 +03:00
|
|
|
parent::setUpBeforeClass();
|
|
|
|
|
2013-12-09 17:31:35 +04:00
|
|
|
if (!\OC\Memcache\Memcached::isAvailable()) {
|
|
|
|
self::markTestSkipped('The memcached extension is not available.');
|
|
|
|
}
|
2014-12-02 15:51:36 +03:00
|
|
|
$instance = new \OC\Memcache\Memcached(self::getUniqueID());
|
|
|
|
if ($instance->set(self::getUniqueID(), self::getUniqueID()) === false) {
|
2013-12-09 04:02:42 +04:00
|
|
|
self::markTestSkipped('memcached server seems to be down.');
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-11-21 18:40:38 +03:00
|
|
|
protected function setUp(): void {
|
2014-11-11 01:30:38 +03:00
|
|
|
parent::setUp();
|
2014-12-02 15:51:36 +03:00
|
|
|
$this->instance = new \OC\Memcache\Memcached($this->getUniqueID());
|
2013-03-17 19:01:10 +04:00
|
|
|
}
|
2015-09-05 22:02:49 +03:00
|
|
|
|
|
|
|
public function testClear() {
|
|
|
|
// Memcached is sometimes broken with clear(), so we don't test it thoroughly
|
2020-10-05 16:12:57 +03:00
|
|
|
$value = 'ipsum lorum';
|
2015-09-05 22:02:49 +03:00
|
|
|
$this->instance->set('1_value1', $value);
|
|
|
|
$this->instance->set('1_value2', $value);
|
|
|
|
$this->instance->set('2_value1', $value);
|
|
|
|
$this->instance->set('3_value1', $value);
|
|
|
|
|
|
|
|
$this->assertTrue($this->instance->clear('1_'));
|
|
|
|
|
|
|
|
$this->assertFalse($this->instance->hasKey('1_value1'));
|
|
|
|
$this->assertFalse($this->instance->hasKey('1_value2'));
|
|
|
|
//$this->assertTrue($this->instance->hasKey('2_value1'));
|
|
|
|
//$this->assertTrue($this->instance->hasKey('3_value1'));
|
|
|
|
|
|
|
|
$this->assertTrue($this->instance->clear());
|
|
|
|
|
|
|
|
$this->assertFalse($this->instance->hasKey('1_value1'));
|
|
|
|
$this->assertFalse($this->instance->hasKey('1_value2'));
|
|
|
|
$this->assertFalse($this->instance->hasKey('2_value1'));
|
|
|
|
$this->assertFalse($this->instance->hasKey('3_value1'));
|
|
|
|
}
|
2013-03-17 19:01:10 +04:00
|
|
|
}
|