Esempio n. 1
0
    /**
     * 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');
        }
        $this->config = array('siteid' => 1);
        $this->config['search'] = array('cache.id' => array('label' => 'Cache ID', 'code' => 'cache.id', 'internalcode' => 'id', 'type' => 'string', 'internaltype' => \Aimeos\MW\DB\Statement\Base::PARAM_STR), 'cache.siteid' => array('label' => 'Cache site ID', 'code' => 'cache.siteid', 'internalcode' => 'siteid', 'type' => 'integer', 'internaltype' => \Aimeos\MW\DB\Statement\Base::PARAM_INT), 'cache.value' => array('label' => 'Cached value', 'code' => 'cache.value', 'internalcode' => 'value', 'type' => 'string', 'internaltype' => \Aimeos\MW\DB\Statement\Base::PARAM_STR), 'cache.expire' => array('label' => 'Cache expiration date', 'code' => 'cache.expire', 'internalcode' => 'expire', 'type' => 'datetime', 'internaltype' => \Aimeos\MW\DB\Statement\Base::PARAM_STR), 'cache.tag.name' => array('label' => 'Cache tag name', 'code' => 'cache.tag.name', 'internalcode' => 'tname', 'type' => 'string', 'internaltype' => \Aimeos\MW\DB\Statement\Base::PARAM_STR));
        $this->config['sql'] = array('delete' => '
				DELETE FROM "mw_cache_test" WHERE "siteid" = ? AND :cond
			', 'deletebytag' => '
				DELETE FROM "mw_cache_test" WHERE "siteid" = ? AND id IN (
					SELECT "tid" FROM "mw_cache_tag_test" WHERE "tsiteid" = ? AND :cond
				)
			', 'get' => '
				SELECT "id", "value", "expire" FROM "mw_cache_test" WHERE "siteid" = ? AND :cond
			', 'getbytag' => '
				SELECT "id", "value", "expire" FROM "mw_cache_test"
				JOIN "mw_cache_tag_test" ON "tid" = "id"
				WHERE siteid = ? AND tsiteid = ? AND :cond
			', 'set' => '
				INSERT INTO "mw_cache_test" ( "id", "siteid", "expire", "value" ) VALUES ( ?, ?, ?, ? )
			', 'settag' => '
				INSERT INTO "mw_cache_tag_test" ( "tid", "tsiteid", "tname" ) VALUES ( ?, ?, ? )
			');
        $this->dbm = \TestHelperMw::getDBManager();
        $conn = $this->dbm->acquire();
        $sql = 'DROP TABLE IF EXISTS "mw_cache_tag_test"';
        $conn->create($sql)->execute()->finish();
        $sql = 'DROP TABLE IF EXISTS "mw_cache_test"';
        $conn->create($sql)->execute()->finish();
        $sql = '
			CREATE TABLE IF NOT EXISTS "mw_cache_test" (
				"id" VARCHAR(255) NOT NULL,
				"siteid" INTEGER NULL,
				"expire" DATETIME NULL,
				"value" MEDIUMTEXT NOT NULL,
				KEY ("expire"),
				CONSTRAINT UNIQUE KEY ("id", "siteid")
			);
		';
        $conn->create($sql)->execute()->finish();
        $sql = '
			CREATE TABLE IF NOT EXISTS "mw_cache_tag_test" (
				"tid" VARCHAR(255) NOT NULL,
				"tsiteid" INTEGER NULL,
				"tname" VARCHAR(255) NOT NULL,
				CONSTRAINT UNIQUE ("tid", "tsiteid", "tname"),
				CONSTRAINT FOREIGN KEY ("tid") REFERENCES "mw_cache_test" ("id") ON DELETE CASCADE
			);
		';
        $conn->create($sql)->execute()->finish();
        $sql = 'INSERT INTO "mw_cache_test" ("id", "siteid", "expire", "value") VALUES (\'t:1\', 1, NULL, \'test 1\')';
        $conn->create($sql)->execute()->finish();
        $sql = 'INSERT INTO "mw_cache_test" ("id", "siteid", "expire", "value") VALUES (\'t:2\', 1, \'2000-01-01 00:00:00\', \'test 2\')';
        $conn->create($sql)->execute()->finish();
        $sql = 'INSERT INTO "mw_cache_tag_test" ("tid", "tsiteid", "tname") VALUES (\'t:1\', 1, \'tag:1\')';
        $conn->create($sql)->execute()->finish();
        $this->dbm->release($conn);
        $this->object = new \Aimeos\MW\Cache\DB($this->config, $this->dbm);
    }
Esempio n. 2
0
 /**
  * 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();
     $this->conn = $dbm->acquire();
 }
Esempio n. 3
0
 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);
     }
 }
Esempio n. 4
0
 /**
  * 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);
 }
Esempio n. 5
0
 /**
  * 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);
 }
Esempio n. 6
0
 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);
 }
Esempio n. 7
0
    /**
     * Sets up the fixture, for example, opens a network connection.
     * This method is called before a test is executed.
     *
     * @access protected
     */
    protected function setUp()
    {
        $config = \TestHelperMw::getConfig();
        if ($config->get('resource/db/adapter', false) === false) {
            $this->markTestSkipped('No database configured');
        }
        $this->dbm = \TestHelperMw::getDBManager();
        $conn = $this->dbm->acquire();
        $sql = '
			CREATE TABLE IF NOT EXISTS "mw_setup_dbschema_test" (
				"integer" INTEGER NOT NULL AUTO_INCREMENT,
				"varchar16" VARCHAR(16) NOT NULL DEFAULT \'default\',
				"smallint" SMALLINT NOT NULL,
				"integernull" INTEGER,
			CONSTRAINT "unq_mwsdt_integer" UNIQUE ("integer")
			);
		';
        $conn->create($sql)->execute()->finish();
        $conn->create('CREATE INDEX "idx_msdt_smallint" ON "mw_setup_dbschema_test" ("smallint")')->execute()->finish();
        $this->object = new \Aimeos\MW\Setup\DBSchema\Mysql($conn, $config->get('resource/db/database', 'notfound'));
        $this->dbm->release($conn);
    }
Esempio n. 8
0
    /**
     * 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');
        }
        $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 = ?
			', 'newid' => '
				SELECT LAST_INSERT_ID()
			', 'transstart' => 'BEGIN', 'transcommit' => 'COMMIT', 'transrollback' => 'ROLLBACK');
        $this->dbm = \TestHelperMw::getDBManager();
        $conn = $this->dbm->acquire();
        $sql = 'DROP TABLE IF EXISTS "mw_tree_test"';
        $conn->create($sql)->execute()->finish();
        $sql = '
			CREATE TABLE IF NOT EXISTS "mw_tree_test" (
				"id" INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
				"parentid" INTEGER NOT NULL,
				"label" VARCHAR(16) NOT NULL,
				"code" VARCHAR(32) NOT NULL,
				"level" INTEGER NOT NULL,
				"nleft" INTEGER NOT NULL,
				"nright" INTEGER NOT NULL,
				"status" SMALLINT NOT NULL
			);
		';
        $conn->create($sql)->execute()->finish();
        $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();
        $this->dbm->release($conn);
    }
Esempio n. 9
0
 public function testFactoryFail()
 {
     $this->setExpectedException('\\Aimeos\\MW\\DB\\Exception');
     \Aimeos\MW\DB\Factory::createManager(\TestHelperMw::getConfig(), 'notDefined');
 }
Esempio n. 10
0
 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');
 }
Esempio n. 11
0
 /**
  * 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');
     }
 }
Esempio n. 12
0
    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);
    }
Esempio n. 13
0
 protected function setUp()
 {
     $this->config = \TestHelperMw::getConfig();
     $this->object = new \Aimeos\MW\Filesystem\Manager\Standard($this->config);
 }
Esempio n. 14
0
 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);
 }
Esempio n. 15
0
 protected function setUp()
 {
     $config = array('db' => \TestHelperMw::getConfig()->get('resource/db'));
     $this->object = new \Aimeos\MW\MQueue\Standard($config);
 }