markTestSkipped('TESTS_ZEND_QUEUE_DB is not enabled in TestConfiguration.php'); } date_default_timezone_set('GMT'); parent::setUp(); } /** * getAdapterName() is an method to help make AdapterTest work with any * new adapters * * You must overload this method * * @return string */ public function getAdapterName() { return 'Db'; } /** * getAdapterName() is an method to help make AdapterTest work with any * new adapters * * You may overload this method. The default return is * 'Zend_Queue_Adapter_' . $this->getAdapterName() * * @return string */ public function getAdapterFullName() { return 'Zend_Queue_Adapter_' . $this->getAdapterName(); } public function getTestConfig() { $driverOptions = array(); if (defined('TESTS_ZEND_QUEUE_DB')) { require_once 'Zend/Json.php'; $driverOptions = Zend_Json::decode(TESTS_ZEND_QUEUE_DB); } return array( 'options' => array(Zend_Db_Select::FOR_UPDATE => true), 'driverOptions' => $driverOptions, ); } // test the constants public function testConst() { $this->markTestSkipped('no constants to test'); } // additional non-standard tests public function test_constructor2() { try { $config = $this->getTestConfig(); /** * @see Zend_Db_Select */ require_once 'Zend/Db/Select.php'; $config['options'][Zend_Db_Select::FOR_UPDATE] = array(); $queue = $this->createQueue(__FUNCTION__, $config); $this->fail('FOR_UPDATE accepted an array'); } catch (Exception $e) { $this->assertTrue(true, 'FOR_UPDATE cannot be an array'); } foreach (array('host', 'username', 'password', 'dbname') as $i => $arg) { try { $config = $this->getTestConfig(); unset($config['driverOptions'][$arg]); $queue = $this->createQueue(__FUNCTION__, $config); $this->fail("$arg is required but was missing."); } catch (Exception $e) { $this->assertTrue(true, $arg . ' is required.'); } } } /** * @group ZF-7650 */ public function testReceiveWillRetrieveZeroItems() { $options = $this->getTestConfig(); $options['name'] = '/temp-queue/ZF7650'; $queue = new Zend_Queue('Db', $options); $queue2 = $queue->createQueue('queue'); $queue->send('My Test Message 1'); $queue->send('My Test Message 2'); $messages = $queue->receive(0); $this->assertEquals(0, count($messages)); } }