Navigation Menu

Skip to content

Commit

Permalink
Update tests to not use test stub.
Browse files Browse the repository at this point in the history
Also try and fix sasl test on travis, which does have sasl.
  • Loading branch information
markstory committed Aug 12, 2017
1 parent 94b4174 commit 61d198b
Showing 1 changed file with 30 additions and 54 deletions.
84 changes: 30 additions & 54 deletions tests/TestCase/Cache/Engine/MemcachedEngineTest.php
Expand Up @@ -19,34 +19,6 @@
use Cake\TestSuite\TestCase;
use Memcached;

/**
* TestMemcachedEngine
*/
class TestMemcachedEngine extends MemcachedEngine
{

/**
* public accessor to _parseServerString
*
* @param string $server
* @return array
*/
public function parseServerString($server)
{
return $this->_parseServerString($server);
}

public function setMemcached($memcached)
{
$this->_Memcached = $memcached;
}

public function getMemcached()
{
return $this->_Memcached;
}
}

/**
* MemcachedEngineTest class
*/
Expand Down Expand Up @@ -140,23 +112,23 @@ public function testConfig()
*/
public function testCompressionSetting()
{
$Memcached = new TestMemcachedEngine();
$Memcached = new MemcachedEngine();
$Memcached->init([
'engine' => 'Memcached',
'servers' => ['127.0.0.1:11211'],
'compress' => false
]);

$this->assertFalse($Memcached->getMemcached()->getOption(\Memcached::OPT_COMPRESSION));
$this->assertFalse($Memcached->getOption(\Memcached::OPT_COMPRESSION));

$MemcachedCompressed = new TestMemcachedEngine();
$MemcachedCompressed = new MemcachedEngine();
$MemcachedCompressed->init([
'engine' => 'Memcached',
'servers' => ['127.0.0.1:11211'],
'compress' => true
]);

$this->assertTrue($MemcachedCompressed->getMemcached()->getOption(\Memcached::OPT_COMPRESSION));
$this->assertTrue($MemcachedCompressed->getOption(\Memcached::OPT_COMPRESSION));
}

/**
Expand All @@ -166,34 +138,33 @@ public function testCompressionSetting()
*/
public function testOptionsSetting()
{
$memcached = new TestMemcachedEngine();
$memcached = new MemcachedEngine();
$memcached->init([
'engine' => 'Memcached',
'servers' => ['127.0.0.1:11211'],
'options' => [
Memcached::OPT_BINARY_PROTOCOL => true
]
]);
$this->assertEquals(1, $memcached->getMemcached()->getOption(Memcached::OPT_BINARY_PROTOCOL));
$this->assertEquals(1, $memcached->getOption(Memcached::OPT_BINARY_PROTOCOL));
}

/**
* test accepts only valid serializer engine
*
* @expectedException InvalidArgumentException
* @expectedExceptionMessage invalid_serializer is not a valid serializer engine for Memcached
* @return void
*/
public function testInvalidSerializerSetting()
{
$Memcached = new TestMemcachedEngine();
$Memcached = new MemcachedEngine();
$config = [
'className' => 'Memcached',
'servers' => ['127.0.0.1:11211'],
'persistent' => false,
'serialize' => 'invalid_serializer'
];

$this->expectException(\InvalidArgumentException::class);
$this->expectExceptionMessage('invalid_serializer is not a valid serializer engine for Memcached');
$Memcached->init($config);
}

Expand All @@ -204,7 +175,7 @@ public function testInvalidSerializerSetting()
*/
public function testPhpSerializerSetting()
{
$Memcached = new TestMemcachedEngine();
$Memcached = new MemcachedEngine();
$config = [
'className' => 'Memcached',
'servers' => ['127.0.0.1:11211'],
Expand All @@ -213,7 +184,7 @@ public function testPhpSerializerSetting()
];

$Memcached->init($config);
$this->assertEquals(Memcached::SERIALIZER_PHP, $Memcached->getMemcached()->getOption(Memcached::OPT_SERIALIZER));
$this->assertEquals(Memcached::SERIALIZER_PHP, $Memcached->getOption(Memcached::OPT_SERIALIZER));
}

/**
Expand All @@ -228,7 +199,7 @@ public function testJsonSerializerSetting()
'Memcached extension is not compiled with json support'
);

$Memcached = new TestMemcachedEngine();
$Memcached = new MemcachedEngine();
$config = [
'engine' => 'Memcached',
'servers' => ['127.0.0.1:11211'],
Expand All @@ -237,7 +208,7 @@ public function testJsonSerializerSetting()
];

$Memcached->init($config);
$this->assertEquals(Memcached::SERIALIZER_JSON, $Memcached->getMemcached()->getOption(Memcached::OPT_SERIALIZER));
$this->assertEquals(Memcached::SERIALIZER_JSON, $Memcached->getOption(Memcached::OPT_SERIALIZER));
}

/**
Expand All @@ -252,7 +223,7 @@ public function testIgbinarySerializerSetting()
'Memcached extension is not compiled with igbinary support'
);

$Memcached = new TestMemcachedEngine();
$Memcached = new MemcachedEngine();
$config = [
'engine' => 'Memcached',
'servers' => ['127.0.0.1:11211'],
Expand All @@ -261,7 +232,7 @@ public function testIgbinarySerializerSetting()
];

$Memcached->init($config);
$this->assertEquals(Memcached::SERIALIZER_IGBINARY, $Memcached->getMemcached()->getOption(Memcached::OPT_SERIALIZER));
$this->assertEquals(Memcached::SERIALIZER_IGBINARY, $Memcached->getOption(Memcached::OPT_SERIALIZER));
}

/**
Expand All @@ -276,7 +247,7 @@ public function testMsgpackSerializerSetting()
'Memcached extension is not compiled with msgpack support'
);

$Memcached = new TestMemcachedEngine();
$Memcached = new MemcachedEngine();
$config = [
'engine' => 'Memcached',
'servers' => ['127.0.0.1:11211'],
Expand All @@ -285,7 +256,7 @@ public function testMsgpackSerializerSetting()
];

$Memcached->init($config);
$this->assertEquals(Memcached::SERIALIZER_MSGPACK, $Memcached->getMemcached()->getOption(Memcached::OPT_SERIALIZER));
$this->assertEquals(Memcached::SERIALIZER_MSGPACK, $Memcached->getOption(Memcached::OPT_SERIALIZER));
}

/**
Expand All @@ -300,7 +271,7 @@ public function testJsonSerializerThrowException()
'Memcached extension is compiled with json support'
);

$Memcached = new TestMemcachedEngine();
$Memcached = new MemcachedEngine();
$config = [
'className' => 'Memcached',
'servers' => ['127.0.0.1:11211'],
Expand All @@ -325,7 +296,7 @@ public function testMsgpackSerializerThrowException()
'Memcached extension is compiled with msgpack support'
);

$Memcached = new TestMemcachedEngine();
$Memcached = new MemcachedEngine();
$config = [
'engine' => 'Memcached',
'servers' => ['127.0.0.1:11211'],
Expand All @@ -350,7 +321,7 @@ public function testIgbinarySerializerThrowException()
'Memcached extension is compiled with igbinary support'
);

$Memcached = new TestMemcachedEngine();
$Memcached = new MemcachedEngine();
$config = [
'engine' => 'Memcached',
'servers' => ['127.0.0.1:11211'],
Expand All @@ -373,15 +344,20 @@ public function testIgbinarySerializerThrowException()
*/
public function testSaslAuthException()
{
$MemcachedEngine = new TestMemcachedEngine();
$this->skipIf(
method_exists('setSaslAuthData', Memcached::class),
'Cannot test exception when sasl has been compiled in.'
);
$MemcachedEngine = new MemcachedEngine();
$config = [
'engine' => 'Memcached',
'servers' => ['127.0.0.1:11211'],
'persistent' => false,
'username' => 'test',
'password' => 'password'
];

$this->expectException(\InvalidArgumentException::class);
$this->expectExceptionMessage('Memcached extension is not built with SASL support');
$MemcachedEngine->init($config);
}

Expand Down Expand Up @@ -441,7 +417,7 @@ public function testConnectIpv6()
*/
public function testParseServerStringWithU()
{
$Memcached = new TestMemcachedEngine();
$Memcached = new MemcachedEngine();
$result = $Memcached->parseServerString('udomain.net:13211');
$this->assertEquals(['udomain.net', '13211'], $result);
}
Expand All @@ -453,7 +429,7 @@ public function testParseServerStringWithU()
*/
public function testParseServerStringNonLatin()
{
$Memcached = new TestMemcachedEngine();
$Memcached = new MemcachedEngine();
$result = $Memcached->parseServerString('schülervz.net:13211');
$this->assertEquals(['schülervz.net', '13211'], $result);

Expand All @@ -468,7 +444,7 @@ public function testParseServerStringNonLatin()
*/
public function testParseServerStringUnix()
{
$Memcached = new TestMemcachedEngine();
$Memcached = new MemcachedEngine();
$result = $Memcached->parseServerString('unix:///path/to/memcachedd.sock');
$this->assertEquals(['/path/to/memcachedd.sock', 0], $result);
}
Expand Down

0 comments on commit 61d198b

Please sign in to comment.