0
0
Fork 0
mirror of https://github.com/nextcloud/server.git synced 2025-02-23 00:19:14 +00:00
nextcloud_server/tests/lib/Memcache/MemcachedTest.php
Côme Chilliet 2d8e696c24
Add apcu and ffmpeg to have less skipped tests
Also exclude test groups which rely on a service

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-02-07 11:23:28 +01:00

56 lines
1.7 KiB
PHP

<?php
/**
* 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.
*/
namespace Test\Memcache;
/**
* @group Memcache
* @group Memcached
*/
class MemcachedTest extends Cache {
public static function setUpBeforeClass(): void {
parent::setUpBeforeClass();
if (!\OC\Memcache\Memcached::isAvailable()) {
self::markTestSkipped('The memcached extension is not available.');
}
$instance = new \OC\Memcache\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 \OC\Memcache\Memcached($this->getUniqueID());
}
public function testClear() {
// 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'));
}
}