public static function setUpBeforeClass() { self::$dbm = \TestHelperMw::getDBManager(); if (!self::$dbm instanceof \Aimeos\MW\DB\Manager\DBAL) { return; } $schema = new \Doctrine\DBAL\Schema\Schema(); $cacheTable = $schema->createTable('mw_cache_test'); $cacheTable->addColumn('id', 'string', array('length' => 255)); $cacheTable->addColumn('siteid', 'integer', array('notnull' => false)); $cacheTable->addColumn('expire', 'datetime', array('notnull' => false)); $cacheTable->addColumn('value', 'text', array('length' => 0xffff)); $cacheTable->addUniqueIndex(array('id', 'siteid')); $cacheTable->addIndex(array('expire')); $tagTable = $schema->createTable('mw_cache_tag_test'); $tagTable->addColumn('tid', 'string', array('length' => 255)); $tagTable->addColumn('tsiteid', 'integer', array('notnull' => false)); $tagTable->addColumn('tname', 'string', array('length' => 255)); $tagTable->addUniqueIndex(array('tid', 'tsiteid', 'tname')); $tagTable->addForeignKeyConstraint('mw_cache_test', array('tid', 'tsiteid'), array('id', 'siteid'), array('onDelete' => 'CASCADE')); $conn = self::$dbm->acquire(); foreach ($schema->toSQL($conn->getRawObject()->getDatabasePlatform()) as $sql) { $conn->create($sql)->execute()->finish(); } self::$dbm->release($conn); }
/** * Returns the database manager object * * @return \Aimeos\MW\DB\Manager\Iface Database manager object */ public static function getDBManager() { if (!isset(self::$dbm)) { self::$dbm = self::createDBManager(); } return self::$dbm; }
/** * Tears down the fixture, for example, closes a network connection. * This method is called after a test is executed. * * @access protected */ protected function tearDown() { $this->dbm = \TestHelperMw::getDBManager(); $conn = $this->dbm->acquire(); $conn->create('DROP INDEX "idx_msdt_smallint" ON "mw_setup_dbschema_test"')->execute()->finish(); $conn->create('DROP TABLE "mw_setup_dbschema_test"')->execute()->finish(); $this->dbm->release($conn); }
/** * Sets up the fixture, for example, opens a network connection. * This method is called before a test is executed. * * @access protected */ protected function setUp() { $this->config = \TestHelperMw::getConfig(); if ($this->config->get('resource/db/adapter', false) === false) { $this->markTestSkipped('No database configured'); } $this->dbm = \TestHelperMw::getDBManager(); }
protected function tearDown() { if (($adapter = \TestHelperMw::getConfig()->get('resource/db/adapter', false)) === 'pgsql') { $this->dbm = \TestHelperMw::getDBManager(); $conn = $this->dbm->acquire(); $conn->create('DROP TABLE "mw_setup_dbschema_test"')->execute()->finish(); $this->dbm->release($conn); } }
/** * Tears down the fixture, for example, closes a network connection. * This method is called after a test is executed. * * @access protected */ protected function tearDown() { if (\TestHelperMw::getConfig()->get('resource/db/adapter', false) === false) { return; } $this->dbm = \TestHelperMw::getDBManager(); $conn = $this->dbm->acquire(); $conn->create('DROP TABLE "mw_log_test"')->execute()->finish(); $this->dbm->release($conn); }
/** * Sets up the fixture, for example, opens a network connection. * This method is called before a test is executed. * * @access protected */ protected function setUp() { if (\TestHelperMw::getConfig()->get('resource/db/adapter', false) === false) { $this->markTestSkipped('No database configured'); } $dbm = \TestHelperMw::getDBManager(); $conn = $dbm->acquire(); $this->object = new \Aimeos\MW\Criteria\SQL($conn); $dbm->release($conn); }
protected function setUp() { $config = \TestHelperMw::getConfig(); if ($config->get('resource/db/adapter', false) === false) { $this->markTestSkipped('No database configured'); } $dbm = \TestHelperMw::getDBManager(); $conn = $dbm->acquire(); $schema = new \Aimeos\MW\Setup\DBSchema\Mysql($conn, $config->get('resource/db/database', 'notfound'), 'mysql'); $this->object = new BaseImpl($schema, $conn); $dbm->release($conn); }
public static function setUpBeforeClass() { self::$dbm = \TestHelperMw::getDBManager(); if (!self::$dbm instanceof \Aimeos\MW\DB\Manager\DBAL) { return; } $schema = new \Doctrine\DBAL\Schema\Schema(); $table = $schema->createTable('mw_log_test'); $table->addColumn('facility', 'string', array('length' => 32)); $table->addColumn('request', 'string', array('length' => 32)); $table->addColumn('tstamp', 'string', array('length' => 20)); $table->addColumn('priority', 'integer', array()); $table->addColumn('message', 'text', array('length' => 0xffff)); $conn = self::$dbm->acquire(); foreach ($schema->toSQL($conn->getRawObject()->getDatabasePlatform()) as $sql) { $conn->create($sql)->execute()->finish(); } self::$dbm->release($conn); }
public function testToString() { $dbm = \TestHelperMw::getDBManager(); $conn = $dbm->acquire(); $dbm->release($conn); $types = array('list' => \Aimeos\MW\DB\Statement\Base::PARAM_STR, 'string' => \Aimeos\MW\DB\Statement\Base::PARAM_STR, 'float' => \Aimeos\MW\DB\Statement\Base::PARAM_FLOAT, 'int' => \Aimeos\MW\DB\Statement\Base::PARAM_INT, 'undefined' => \Aimeos\MW\DB\Statement\Base::PARAM_INT, 'bool' => \Aimeos\MW\DB\Statement\Base::PARAM_BOOL); $expr1 = array(); $expr1[] = new \Aimeos\MW\Criteria\Expression\Compare\SQL($conn, '==', 'list', array('a', 'b', 'c')); $expr1[] = new \Aimeos\MW\Criteria\Expression\Compare\SQL($conn, '~=', 'string', 'value'); $expr2 = array(); $expr2[] = new \Aimeos\MW\Criteria\Expression\Compare\SQL($conn, '<', 'float', 0.1); $expr2[] = new \Aimeos\MW\Criteria\Expression\Compare\SQL($conn, '>', 'int', 10); $objects = array(); $objects[] = new \Aimeos\MW\Criteria\Expression\Combine\SQL('&&', $expr1); $objects[] = new \Aimeos\MW\Criteria\Expression\Combine\SQL('&&', $expr2); $object = new \Aimeos\MW\Criteria\Expression\Combine\SQL('||', $objects); $test = new \Aimeos\MW\Criteria\Expression\Combine\SQL('!', array($object)); $expected = " NOT ( ( list IN ('a','b','c') AND string LIKE '%value%' ) OR ( float < 0.1 AND int > 10 ) )"; $this->assertEquals($expected, $test->toString($types)); $obj = new \Aimeos\MW\Criteria\Expression\Combine\SQL('&&', array()); $this->assertEquals('', $obj->toString($types)); $this->setExpectedException('\\Aimeos\\MW\\Common\\Exception'); new \Aimeos\MW\Criteria\Expression\Combine\SQL('', array()); }
protected function setUp() { $this->config = \TestHelperMw::getConfig(); $this->object = new \Aimeos\MW\Filesystem\Manager\Standard($this->config); }
public function testFactoryFail() { $this->setExpectedException('\\Aimeos\\MW\\DB\\Exception'); \Aimeos\MW\DB\Factory::createManager(\TestHelperMw::getConfig(), 'notDefined'); }
protected function setUp() { $config = array('db' => \TestHelperMw::getConfig()->get('resource/db'), 'sql' => array('insert' => 'INSERT INTO mw_mqueue_test (queue, cname, rtime, message) VALUES (?, ?, ?, ?)', 'reserve' => 'UPDATE mw_mqueue_test SET cname = ?, rtime = ? WHERE id IN ( SELECT * FROM ( SELECT id FROM mw_mqueue_test WHERE queue = ? AND rtime < ? LIMIT 1 ) AS t )', 'get' => 'SELECT * FROM mw_mqueue_test WHERE queue = ? AND cname = ? AND rtime = ? LIMIT 1', 'delete' => 'DELETE FROM mw_mqueue_test WHERE id = ? AND queue = ?')); $mqueue = new \Aimeos\MW\MQueue\Standard($config); $this->object = $mqueue->getQueue('email'); }
public function testFactory() { $config = array('sql' => array('delete' => '', 'deletebytag' => '', 'get' => '', 'getbytag' => '', 'set' => '', 'settag' => ''), 'search' => array('cache.id' => '', 'cache.siteid' => '', 'cache.value' => '', 'cache.expire' => '', 'cache.tag.name' => '')); $object = \Aimeos\MW\Cache\Factory::createManager('DB', $config, \TestHelperMw::getDBManager()); $this->assertInstanceOf('\\Aimeos\\MW\\Cache\\Iface', $object); }
protected function setUp() { if (!self::$dbm instanceof \Aimeos\MW\DB\Manager\DBAL) { $this->markTestSkipped('No DBAL database manager configured'); } $this->config = array(); $this->config['search'] = array('id' => array('label' => 'Tree node ID', 'code' => 'tree.id', 'internalcode' => 'id', 'type' => 'integer', 'internaltype' => \Aimeos\MW\DB\Statement\Base::PARAM_INT), 'parentid' => array('label' => 'Tree node parent id', 'code' => 'tree.parentid', 'internalcode' => 'parentid', 'type' => 'integer', 'internaltype' => \Aimeos\MW\DB\Statement\Base::PARAM_INT), 'label' => array('label' => 'Tree node name', 'code' => 'tree.label', 'internalcode' => 'label', 'type' => 'string', 'internaltype' => \Aimeos\MW\DB\Statement\Base::PARAM_STR), 'code' => array('label' => 'Tree node code', 'code' => 'tree.code', 'internalcode' => 'code', 'type' => 'string', 'internaltype' => \Aimeos\MW\DB\Statement\Base::PARAM_STR), 'status' => array('label' => 'Tree node status', 'code' => 'tree.status', 'internalcode' => 'status', 'type' => 'boolean', 'internaltype' => \Aimeos\MW\DB\Statement\Base::PARAM_BOOL), 'level' => array('label' => 'Tree node level', 'code' => 'tree.level', 'internalcode' => 'level', 'type' => 'integer', 'internaltype' => \Aimeos\MW\DB\Statement\Base::PARAM_INT), 'left' => array('label' => 'Tree node left number', 'code' => 'tree.left', 'internalcode' => 'nleft', 'type' => 'integer', 'internaltype' => \Aimeos\MW\DB\Statement\Base::PARAM_INT), 'right' => array('label' => 'Tree node right number', 'code' => 'tree.right', 'internalcode' => 'nright', 'type' => 'integer', 'internaltype' => \Aimeos\MW\DB\Statement\Base::PARAM_INT)); $this->config['sql'] = array('delete' => ' DELETE FROM "mw_tree_test" WHERE nleft >= ? AND nright <= ? ', 'get' => ' SELECT node."id", node."label", node."code", node."status", node."level", node."parentid", node."nleft" AS "left", node."nright" AS "right" FROM "mw_tree_test" AS parent, "mw_tree_test" AS node WHERE node.nleft >= parent.nleft AND node.nleft <= parent.nright AND parent.id = ? AND node.level <= parent.level + ? AND :cond ORDER BY node.nleft ', 'insert' => ' INSERT INTO "mw_tree_test" ( label, code, status, parentid, level, nleft, nright ) VALUES ( ?, ?, ?, ?, ?, ?, ? ) ', 'move-left' => ' UPDATE "mw_tree_test" SET nleft = nleft + ?, level = level + ? WHERE nleft >= ? AND nleft <= ? ', 'move-right' => ' UPDATE "mw_tree_test" SET nright = nright + ? WHERE nright >= ? AND nright <= ? ', 'search' => ' SELECT "id", "label", "code", "status", "level", "nleft" AS "left", "nright" AS "right" FROM "mw_tree_test" AS node WHERE nleft >= ? AND nright <= ? AND :cond ORDER BY :order ', 'update' => ' UPDATE "mw_tree_test" SET label = ?, code = ?, status = ? WHERE id = ? ', 'update-parentid' => ' UPDATE "mw_tree_test" SET parentid = ? WHERE id = ? ', 'transstart' => 'BEGIN', 'transcommit' => 'COMMIT', 'transrollback' => 'ROLLBACK'); switch (\TestHelperMw::getConfig()->get('resource/db/adapter')) { case 'mysql': $this->config['sql']['newid'] = 'SELECT LAST_INSERT_ID()'; break; case 'pgsql': $this->config['sql']['newid'] = 'SELECT lastval()'; break; default: $this->markTestSkipped('Only for MySQL and PostgreSQL'); } $conn = self::$dbm->acquire(); $sql = 'INSERT INTO "mw_tree_test" (parentid, status, label, code, level, nleft, nright) VALUES (0, 1, \'root\', \'root\', 0, 1, 18)'; $conn->create($sql)->execute()->finish(); $sql = 'INSERT INTO "mw_tree_test" (status, label, code, level, nleft, nright) VALUES (1, \'l1n1\', \'l1n1\', 1, 2, 7)'; $conn->create($sql)->execute()->finish(); $sql = 'INSERT INTO "mw_tree_test" (status, label, code, level, nleft, nright) VALUES (1, \'l2n1\', \'l2n1\', 2, 3, 6)'; $conn->create($sql)->execute()->finish(); $sql = 'INSERT INTO "mw_tree_test" (status, label, code, level, nleft, nright) VALUES (1, \'l3n1\', \'l3n1\', 3, 4, 5)'; $conn->create($sql)->execute()->finish(); $sql = 'INSERT INTO "mw_tree_test" (status, label, code, level, nleft, nright) VALUES (1, \'l1n2\', \'l1n2\', 1, 8, 15)'; $conn->create($sql)->execute()->finish(); $sql = 'INSERT INTO "mw_tree_test" (status, label, code, level, nleft, nright) VALUES (1, \'l2n2\', \'l2n2\', 2, 9, 14)'; $conn->create($sql)->execute()->finish(); $sql = 'INSERT INTO "mw_tree_test" (status, label, code, level, nleft, nright) VALUES (1, \'l3n2\', \'l3n2\', 3, 10, 11)'; $conn->create($sql)->execute()->finish(); $sql = 'INSERT INTO "mw_tree_test" (status, label, code, level, nleft, nright) VALUES (1, \'l3n3\', \'l3n3\', 3, 12, 13)'; $conn->create($sql)->execute()->finish(); $sql = 'INSERT INTO "mw_tree_test" (status, label, code, level, nleft, nright) VALUES (1, \'l1n3\', \'l1n3\', 1, 16, 17)'; $conn->create($sql)->execute()->finish(); $sql = 'INSERT INTO "mw_tree_test" (status, label, code, level, nleft, nright) VALUES (1, \'root2\', \'root2\', 0, 19, 20)'; $conn->create($sql)->execute()->finish(); self::$dbm->release($conn); }
public function testFactory() { $dbm = \Aimeos\MW\DB\Factory::createManager(\TestHelperMw::getConfig()); $this->setExpectedException('\\Aimeos\\MW\\Tree\\Exception'); \Aimeos\MW\Tree\Factory::createManager('DBNestedSet', array(), $dbm); }
/** * Tears down the fixture, for example, closes a network connection. * This method is called after a test is executed. * * @access protected */ protected function tearDown() { $dbm = \TestHelperMw::getDBManager(); $dbm->release($this->conn); }
/** * Tears down the fixture, for example, closes a network connection. * This method is called after a test is executed. * * @access protected */ protected function tearDown() { $sql = 'DROP TABLE "mw_tree_test"'; $this->dbm = \TestHelperMw::getDBManager(); $conn = $this->dbm->acquire(); $conn->create($sql)->execute()->finish(); $this->dbm->release($conn); }
protected function setUp() { $config = array('db' => \TestHelperMw::getConfig()->get('resource/db')); $this->object = new \Aimeos\MW\MQueue\Standard($config); }