Overview

Packages

  • Jyxo_Beholder
  • Jyxo_Charset
  • Jyxo_Color
  • Jyxo_Css
  • Jyxo_ErrorHandling
  • Jyxo_FirePhp
  • Jyxo_Gettext
    • Parser
  • Jyxo_Html
  • Jyxo_Input
    • Chain
    • Filter
    • Validator
  • Jyxo_Mail
    • Email
    • Parser
    • Sender
  • Jyxo_Rpc
    • Json
    • Xml
  • Jyxo_Shell
  • Jyxo_SpamFilter
  • Jyxo_Spl
  • Jyxo_String
  • Jyxo_Svn
  • Jyxo_Time
  • Jyxo_Timer
  • Jyxo_Webdav
  • Jyxo_XmlReader
  • PHP

Classes

  • Jyxo_Beholder_Executor
  • Jyxo_Beholder_Result
  • Jyxo_Beholder_TestCase
  • Jyxo_Beholder_TestCase_FileSystem
  • Jyxo_Beholder_TestCase_HttpResponse
  • Jyxo_Beholder_TestCase_Imap
  • Jyxo_Beholder_TestCase_JsonRpc
  • Jyxo_Beholder_TestCase_Memcached
  • Jyxo_Beholder_TestCase_Mysql
  • Jyxo_Beholder_TestCase_Pgsql
  • Jyxo_Beholder_TestCase_PhpExtension
  • Jyxo_Beholder_TestCase_PhpVersion
  • Jyxo_Beholder_TestCase_PhpZend
  • Jyxo_Beholder_TestCase_Smtp
  • Jyxo_Beholder_TestCase_Webdav
  • Jyxo_Beholder_TestCase_XmlRpc
  • Overview
  • Package
  • Class
  • Tree
  • Deprecated
  1: <?php
  2: 
  3: /**
  4:  * Jyxo PHP Library
  5:  *
  6:  * LICENSE
  7:  *
  8:  * This source file is subject to the new BSD license that is bundled
  9:  * with this package in the file license.txt.
 10:  * It is also available through the world-wide-web at this URL:
 11:  * https://github.com/jyxo/php/blob/master/license.txt
 12:  */
 13: 
 14: /**
 15:  * Tests memcache availability.
 16:  *
 17:  * @category Jyxo
 18:  * @package Jyxo_Beholder
 19:  * @copyright Copyright (c) 2005-2011 Jyxo, s.r.o.
 20:  * @license https://github.com/jyxo/php/blob/master/license.txt
 21:  * @author Jaroslav HanslĂ­k
 22:  */
 23: class Jyxo_Beholder_TestCase_Memcached extends Jyxo_Beholder_TestCase
 24: {
 25:     /**
 26:      * Server ip address.
 27:      *
 28:      * @var string
 29:      */
 30:     private $ip;
 31: 
 32:     /**
 33:      * Port.
 34:      *
 35:      * @var integer
 36:      */
 37:     private $port;
 38: 
 39:     /**
 40:      * Constructor.
 41:      *
 42:      * @param string $description Test description
 43:      * @param string $ip Server address
 44:      * @param integer $port Port
 45:      */
 46:     public function __construct($description, $ip, $port)
 47:     {
 48:         parent::__construct($description);
 49: 
 50:         $this->ip = (string) $ip;
 51:         $this->port = (int) $port;
 52:     }
 53: 
 54:     /**
 55:      * Performs the test.
 56:      *
 57:      * @return Jyxo_Beholder_Result
 58:      */
 59:     public function run()
 60:     {
 61:         // The memcache extension is required
 62:         if (!extension_loaded('memcache')) {
 63:             return new Jyxo_Beholder_Result(Jyxo_Beholder_Result::NOT_APPLICABLE, 'Extension memcache missing');
 64:         }
 65: 
 66:         $random = md5(uniqid(time(), true));
 67:         $key = 'beholder-' . $random;
 68:         $value = $random;
 69: 
 70:         // Status label
 71:         $description = gethostbyaddr($this->ip) . ':' . $this->port;
 72: 
 73:         // Connection
 74:         $memcache = new Memcache();
 75:         if (false === $memcache->connect($this->ip, $this->port)) {
 76:             return new Jyxo_Beholder_Result(Jyxo_Beholder_Result::FAILURE, sprintf('Connection error %s', $description));
 77:         }
 78: 
 79:         // Saving
 80:         if (false === $memcache->set($key, $value)) {
 81:             $memcache->close();
 82:             return new Jyxo_Beholder_Result(Jyxo_Beholder_Result::FAILURE, sprintf('Write error %s', $description));
 83:         }
 84: 
 85:         // Check
 86:         $check = $memcache->get($key);
 87:         if ((false === $check) || ($check !== $value)) {
 88:             $memcache->close();
 89:             return new Jyxo_Beholder_Result(Jyxo_Beholder_Result::FAILURE, sprintf('Read error %s', $description));
 90:         }
 91: 
 92:         // Deleting
 93:         if (false === $memcache->delete($key)) {
 94:             $memcache->close();
 95:             return new Jyxo_Beholder_Result(Jyxo_Beholder_Result::FAILURE, sprintf('Delete error %s', $description));
 96:         }
 97: 
 98:         $memcache->close();
 99: 
100:         // OK
101:         return new Jyxo_Beholder_Result(Jyxo_Beholder_Result::SUCCESS, $description);
102:     }
103: }
104: 
Jyxo PHP Library API documentation generated by ApiGen 2.3.0