nextcloud/tests/lib/Memcache/MemcachedTest.php

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

58 lines
1.7 KiB
PHP
Raw Normal View History

2013-03-17 11:01:10 -04:00
<?php
2013-07-16 09:46:27 -04:00
2013-03-17 11:01:10 -04:00
/**
* SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
* SPDX-FileCopyrightText: 2016 ownCloud, Inc.
* SPDX-License-Identifier: AGPL-3.0-or-later
2013-03-17 11:01:10 -04:00
*/
2013-07-16 09:46:27 -04:00
namespace Test\Memcache;
use OC\Memcache\Memcached;
/**
* @group Memcache
* @group Memcached
*/
class MemcachedTest extends Cache {
public static function setUpBeforeClass(): void {
parent::setUpBeforeClass();
if (!Memcached::isAvailable()) {
self::markTestSkipped('The memcached extension is not available.');
}
$instance = new Memcached(self::getUniqueID());
if ($instance->set(self::getUniqueID(), self::getUniqueID()) === false) {
self::markTestSkipped('memcached server seems to be down.');
}
}
protected function setUp(): void {
parent::setUp();
$this->instance = new Memcached($this->getUniqueID());
2013-03-17 11:01:10 -04:00
}
public function testClear(): void {
// Memcached is sometimes broken with clear(), so we don't test it thoroughly
$value = 'ipsum lorum';
$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 11:01:10 -04:00
}