public function testEnqueueStatusMockRedis() { //dont run redis test for php less than 5.3 $version = explode('.', PHP_VERSION); if (!($version[0] >= 5 && $version[1] >= 3)) { //error_log("PHP version less than 5.3, Skipping Redis Tests..."); return; } else { require_once THINKUP_ROOT_PATH . 'webapp/plugins/twitterrealtime/model/class.StreamMessageQueueRedis.php'; } $stream_data = $this->setUpData(true); $twitter_data = $this->setUpTwitterData(); $queue = new StreamMessageQueueRedis(); $queue->redis = new MockRedis(); StreamMessageQueueFactory::$queue = $queue; $consumer_user_stream = new ConsumerUserStream('username', 'password'); $consumer_user_stream->setKey('*****@*****.**', 1); $procs_data = FixtureBuilder::build('stream_procs', array('process_id' => getmypid(), 'email' => '*****@*****.**', 'instance_id' => 1)); $consumer_user_stream->enqueueStatus("string1"); $consumer_user_stream->enqueueStatus("string2"); $this->assertIdentical(array('string1', 'string2'), MockRedis::$queue); StreamMessageQueueFactory::$queue = null; MockRedis::$queue = null; // stream proc data set $sql = "select process_id, email, instance_id, unix_timestamp(last_report) as last_report from " . $this->table_prefix . "stream_procs"; $stmt = PluginOptionMysqlDAO::$PDO->query($sql); $data = $stmt->fetchAll(); $process_id = getmypid(); $this->assertIdentical($data[0]['process_id'], $process_id . ''); $recent_time = time() - 50; $this->assertTrue($data[0]['last_report'] > $recent_time); }
public static function getQueue() { // get stream plugin settings $plugin_option_dao = DAOFactory::GetDAO('PluginOptionDAO'); $options = $plugin_option_dao->getOptionsHash('twitterrealtime', true); if (is_null(self::$queue)) { if (isset($options['use_redis']) && $options['use_redis']->option_value == "true") { // we need a redis queue self::$queue = new StreamMessageQueueRedis(); } else { // we need a mysql queue self::$queue = new StreamMessageQueueMySQL(); } } return self::$queue; }
public function tearDown() { parent::tearDown(); StreamMessageQueueFactory::$queue = null; }