Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yii2
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
PSDI Army
yii2
Commits
825258ef
Commit
825258ef
authored
Sep 05, 2013
by
Carsten Brandt
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
cubrid unit tests WIP
parent
2387d003
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
241 additions
and
0 deletions
+241
-0
config.php
tests/unit/data/config.php
+6
-0
cubrid.sql
tests/unit/data/cubrid.sql
+100
-0
QueryBuilderTest.php
tests/unit/framework/db/QueryBuilderTest.php
+3
-0
CubridActiveRecordTest.php
tests/unit/framework/db/cubrid/CubridActiveRecordTest.php
+13
-0
CubridCommandTest.php
tests/unit/framework/db/cubrid/CubridCommandTest.php
+13
-0
CubridConnectionTest.php
tests/unit/framework/db/cubrid/CubridConnectionTest.php
+13
-0
CubridQueryBuilderTest.php
tests/unit/framework/db/cubrid/CubridQueryBuilderTest.php
+80
-0
CubridQueryTest.php
tests/unit/framework/db/cubrid/CubridQueryTest.php
+13
-0
No files found.
tests/unit/data/config.php
View file @
825258ef
<?php
return
array
(
'databases'
=>
array
(
'cubrid'
=>
array
(
'dsn'
=>
'cubrid:dbname=demodb;host=localhost;port=33000'
,
'username'
=>
'dba'
,
'password'
=>
''
,
'fixture'
=>
__DIR__
.
'/cubrid.sql'
,
),
'mysql'
=>
array
(
'dsn'
=>
'mysql:host=127.0.0.1;dbname=yiitest'
,
'username'
=>
'travis'
,
...
...
tests/unit/data/cubrid.sql
0 → 100644
View file @
825258ef
/**
* This is the database schema for testing CUBRID support of Yii DAO and Active Record.
* The database setup in config.php is required to perform then relevant tests:
*/
DROP
TABLE
IF
EXISTS
tbl_order_item
;
DROP
TABLE
IF
EXISTS
tbl_item
;
DROP
TABLE
IF
EXISTS
tbl_order
;
DROP
TABLE
IF
EXISTS
tbl_category
;
DROP
TABLE
IF
EXISTS
tbl_customer
;
DROP
TABLE
IF
EXISTS
tbl_type
;
DROP
TABLE
IF
EXISTS
tbl_constraints
;
CREATE
TABLE
`tbl_constraints`
(
`id`
integer
not
null
,
`field1`
varchar
(
255
)
);
CREATE
TABLE
`tbl_customer`
(
`id`
int
(
11
)
NOT
NULL
AUTO_INCREMENT
,
`email`
varchar
(
128
)
NOT
NULL
,
`name`
varchar
(
128
)
NOT
NULL
,
`address`
string
,
`status`
int
(
11
)
DEFAULT
0
,
PRIMARY
KEY
(
`id`
)
);
CREATE
TABLE
`tbl_category`
(
`id`
int
(
11
)
NOT
NULL
AUTO_INCREMENT
,
`name`
varchar
(
128
)
NOT
NULL
,
PRIMARY
KEY
(
`id`
)
);
CREATE
TABLE
`tbl_item`
(
`id`
int
(
11
)
NOT
NULL
AUTO_INCREMENT
,
`name`
varchar
(
128
)
NOT
NULL
,
`category_id`
int
(
11
)
NOT
NULL
,
PRIMARY
KEY
(
`id`
),
CONSTRAINT
`FK_item_category_id`
FOREIGN
KEY
(
`category_id`
)
REFERENCES
`tbl_category`
(
`id`
)
ON
DELETE
CASCADE
);
CREATE
TABLE
`tbl_order`
(
`id`
int
(
11
)
NOT
NULL
AUTO_INCREMENT
,
`customer_id`
int
(
11
)
NOT
NULL
,
`create_time`
int
(
11
)
NOT
NULL
,
`total`
decimal
(
10
,
0
)
NOT
NULL
,
PRIMARY
KEY
(
`id`
),
CONSTRAINT
`FK_order_customer_id`
FOREIGN
KEY
(
`customer_id`
)
REFERENCES
`tbl_customer`
(
`id`
)
ON
DELETE
CASCADE
);
CREATE
TABLE
`tbl_order_item`
(
`order_id`
int
(
11
)
NOT
NULL
,
`item_id`
int
(
11
)
NOT
NULL
,
`quantity`
int
(
11
)
NOT
NULL
,
`subtotal`
decimal
(
10
,
0
)
NOT
NULL
,
PRIMARY
KEY
(
`order_id`
,
`item_id`
),
CONSTRAINT
`FK_order_item_order_id`
FOREIGN
KEY
(
`order_id`
)
REFERENCES
`tbl_order`
(
`id`
)
ON
DELETE
CASCADE
,
CONSTRAINT
`FK_order_item_item_id`
FOREIGN
KEY
(
`item_id`
)
REFERENCES
`tbl_item`
(
`id`
)
ON
DELETE
CASCADE
);
CREATE
TABLE
`tbl_type`
(
`int_col`
int
(
11
)
NOT
NULL
,
`int_col2`
int
(
11
)
DEFAULT
'1'
,
`char_col`
char
(
100
)
NOT
NULL
,
`char_col2`
varchar
(
100
)
DEFAULT
'something'
,
`char_col3`
string
,
`float_col`
double
NOT
NULL
,
`float_col2`
double
DEFAULT
'1.23'
,
`blob_col`
blob
,
`numeric_col`
decimal
(
5
,
2
)
DEFAULT
'33.22'
,
`time`
timestamp
NOT
NULL
DEFAULT
'2002-01-01 00:00:00'
,
`bool_col`
bit
(
1
)
NOT
NULL
,
`bool_col2`
bit
(
1
)
DEFAULT
B
'1'
);
INSERT
INTO
tbl_customer
(
email
,
name
,
address
,
status
)
VALUES
(
'user1@example.com'
,
'user1'
,
'address1'
,
1
);
INSERT
INTO
tbl_customer
(
email
,
name
,
address
,
status
)
VALUES
(
'user2@example.com'
,
'user2'
,
'address2'
,
1
);
INSERT
INTO
tbl_customer
(
email
,
name
,
address
,
status
)
VALUES
(
'user3@example.com'
,
'user3'
,
'address3'
,
2
);
INSERT
INTO
tbl_category
(
name
)
VALUES
(
'Books'
);
INSERT
INTO
tbl_category
(
name
)
VALUES
(
'Movies'
);
INSERT
INTO
tbl_item
(
name
,
category_id
)
VALUES
(
'Agile Web Application Development with Yii1.1 and PHP5'
,
1
);
INSERT
INTO
tbl_item
(
name
,
category_id
)
VALUES
(
'Yii 1.1 Application Development Cookbook'
,
1
);
INSERT
INTO
tbl_item
(
name
,
category_id
)
VALUES
(
'Ice Age'
,
2
);
INSERT
INTO
tbl_item
(
name
,
category_id
)
VALUES
(
'Toy Story'
,
2
);
INSERT
INTO
tbl_item
(
name
,
category_id
)
VALUES
(
'Cars'
,
2
);
INSERT
INTO
tbl_order
(
customer_id
,
create_time
,
total
)
VALUES
(
1
,
1325282384
,
110
.
0
);
INSERT
INTO
tbl_order
(
customer_id
,
create_time
,
total
)
VALUES
(
2
,
1325334482
,
33
.
0
);
INSERT
INTO
tbl_order
(
customer_id
,
create_time
,
total
)
VALUES
(
2
,
1325502201
,
40
.
0
);
INSERT
INTO
tbl_order_item
(
order_id
,
item_id
,
quantity
,
subtotal
)
VALUES
(
1
,
1
,
1
,
30
.
0
);
INSERT
INTO
tbl_order_item
(
order_id
,
item_id
,
quantity
,
subtotal
)
VALUES
(
1
,
2
,
2
,
40
.
0
);
INSERT
INTO
tbl_order_item
(
order_id
,
item_id
,
quantity
,
subtotal
)
VALUES
(
2
,
4
,
1
,
10
.
0
);
INSERT
INTO
tbl_order_item
(
order_id
,
item_id
,
quantity
,
subtotal
)
VALUES
(
2
,
5
,
1
,
15
.
0
);
INSERT
INTO
tbl_order_item
(
order_id
,
item_id
,
quantity
,
subtotal
)
VALUES
(
2
,
3
,
1
,
8
.
0
);
INSERT
INTO
tbl_order_item
(
order_id
,
item_id
,
quantity
,
subtotal
)
VALUES
(
3
,
2
,
1
,
40
.
0
);
tests/unit/framework/db/QueryBuilderTest.php
View file @
825258ef
...
...
@@ -8,6 +8,7 @@ use yii\db\mysql\QueryBuilder as MysqlQueryBuilder;
use
yii\db\sqlite\QueryBuilder
as
SqliteQueryBuilder
;
use
yii\db\mssql\QueryBuilder
as
MssqlQueryBuilder
;
use
yii\db\pgsql\QueryBuilder
as
PgsqlQueryBuilder
;
use
yii\db\cubrid\QueryBuilder
as
CubridQueryBuilder
;
class
QueryBuilderTest
extends
DatabaseTestCase
{
...
...
@@ -32,6 +33,8 @@ class QueryBuilderTest extends DatabaseTestCase
return
new
MssqlQueryBuilder
(
$this
->
getConnection
());
case
'pgsql'
:
return
new
PgsqlQueryBuilder
(
$this
->
getConnection
());
case
'cubrid'
:
return
new
CubridQueryBuilder
(
$this
->
getConnection
());
}
throw
new
\Exception
(
'Test is not implemented for '
.
$this
->
driverName
);
}
...
...
tests/unit/framework/db/cubrid/CubridActiveRecordTest.php
0 → 100644
View file @
825258ef
<?php
namespace
yiiunit\framework\db\cubrid
;
use
yiiunit\framework\db\ActiveRecordTest
;
class
CubridActiveRecordTest
extends
ActiveRecordTest
{
protected
function
setUp
()
{
$this
->
driverName
=
'cubrid'
;
parent
::
setUp
();
}
}
tests/unit/framework/db/cubrid/CubridCommandTest.php
0 → 100644
View file @
825258ef
<?php
namespace
yiiunit\framework\db\cubrid
;
use
yiiunit\framework\db\CommandTest
;
class
CubridCommandTest
extends
CommandTest
{
protected
function
setUp
()
{
$this
->
driverName
=
'cubrid'
;
parent
::
setUp
();
}
}
tests/unit/framework/db/cubrid/CubridConnectionTest.php
0 → 100644
View file @
825258ef
<?php
namespace
yiiunit\framework\db\cubrid
;
use
yiiunit\framework\db\ConnectionTest
;
class
CubridConnectionTest
extends
ConnectionTest
{
protected
function
setUp
()
{
$this
->
driverName
=
'cubrid'
;
parent
::
setUp
();
}
}
tests/unit/framework/db/cubrid/CubridQueryBuilderTest.php
0 → 100644
View file @
825258ef
<?php
namespace
yiiunit\framework\db\cubrid
;
use
yii\base\NotSupportedException
;
use
yii\db\sqlite\Schema
;
use
yiiunit\framework\db\QueryBuilderTest
;
class
CubridQueryBuilderTest
extends
QueryBuilderTest
{
public
$driverName
=
'cubrid'
;
/**
* this is not used as a dataprovider for testGetColumnType to speed up the test
* when used as dataprovider every single line will cause a reconnect with the database which is not needed here
*/
public
function
columnTypes
()
{
return
array
(
array
(
Schema
::
TYPE_PK
,
'int NOT NULL AUTO_INCREMENT PRIMARY KEY'
),
array
(
Schema
::
TYPE_PK
.
'(8)'
,
'int NOT NULL AUTO_INCREMENT PRIMARY KEY'
),
array
(
Schema
::
TYPE_PK
.
' CHECK (value > 5)'
,
'int NOT NULL AUTO_INCREMENT PRIMARY KEY CHECK (value > 5)'
),
array
(
Schema
::
TYPE_PK
.
'(8) CHECK (value > 5)'
,
'int NOT NULL AUTO_INCREMENT PRIMARY KEY CHECK (value > 5)'
),
array
(
Schema
::
TYPE_STRING
,
'varchar(255)'
),
array
(
Schema
::
TYPE_STRING
.
'(32)'
,
'varchar(32)'
),
array
(
Schema
::
TYPE_STRING
.
' CHECK (value LIKE "test%")'
,
'varchar(255) CHECK (value LIKE "test%")'
),
array
(
Schema
::
TYPE_STRING
.
'(32) CHECK (value LIKE "test%")'
,
'varchar(32) CHECK (value LIKE "test%")'
),
array
(
Schema
::
TYPE_STRING
.
' NOT NULL'
,
'varchar(255) NOT NULL'
),
array
(
Schema
::
TYPE_TEXT
,
'varchar'
),
array
(
Schema
::
TYPE_TEXT
.
'(255)'
,
'varchar'
),
array
(
Schema
::
TYPE_TEXT
.
' CHECK (value LIKE "test%")'
,
'varchar CHECK (value LIKE "test%")'
),
array
(
Schema
::
TYPE_TEXT
.
'(255) CHECK (value LIKE "test%")'
,
'varchar CHECK (value LIKE "test%")'
),
array
(
Schema
::
TYPE_TEXT
.
' NOT NULL'
,
'varchar NOT NULL'
),
array
(
Schema
::
TYPE_TEXT
.
'(255) NOT NULL'
,
'varchar NOT NULL'
),
array
(
Schema
::
TYPE_SMALLINT
,
'smallint'
),
array
(
Schema
::
TYPE_SMALLINT
.
'(8)'
,
'smallint'
),
array
(
Schema
::
TYPE_INTEGER
,
'int'
),
array
(
Schema
::
TYPE_INTEGER
.
'(8)'
,
'int'
),
array
(
Schema
::
TYPE_INTEGER
.
' CHECK (value > 5)'
,
'int CHECK (value > 5)'
),
array
(
Schema
::
TYPE_INTEGER
.
'(8) CHECK (value > 5)'
,
'int CHECK (value > 5)'
),
array
(
Schema
::
TYPE_INTEGER
.
' NOT NULL'
,
'int NOT NULL'
),
array
(
Schema
::
TYPE_BIGINT
,
'bigint'
),
array
(
Schema
::
TYPE_BIGINT
.
'(8)'
,
'bigint'
),
array
(
Schema
::
TYPE_BIGINT
.
' CHECK (value > 5)'
,
'bigint CHECK (value > 5)'
),
array
(
Schema
::
TYPE_BIGINT
.
'(8) CHECK (value > 5)'
,
'bigint CHECK (value > 5)'
),
array
(
Schema
::
TYPE_BIGINT
.
' NOT NULL'
,
'bigint NOT NULL'
),
array
(
Schema
::
TYPE_FLOAT
,
'float(7)'
),
array
(
Schema
::
TYPE_FLOAT
.
'(16)'
,
'float(16)'
),
array
(
Schema
::
TYPE_FLOAT
.
' CHECK (value > 5.6)'
,
'float(7) CHECK (value > 5.6)'
),
array
(
Schema
::
TYPE_FLOAT
.
'(16) CHECK (value > 5.6)'
,
'float(16) CHECK (value > 5.6)'
),
array
(
Schema
::
TYPE_FLOAT
.
' NOT NULL'
,
'float(7) NOT NULL'
),
array
(
Schema
::
TYPE_DECIMAL
,
'decimal(10,0)'
),
array
(
Schema
::
TYPE_DECIMAL
.
'(12,4)'
,
'decimal(12,4)'
),
array
(
Schema
::
TYPE_DECIMAL
.
' CHECK (value > 5.6)'
,
'decimal(10,0) CHECK (value > 5.6)'
),
array
(
Schema
::
TYPE_DECIMAL
.
'(12,4) CHECK (value > 5.6)'
,
'decimal(12,4) CHECK (value > 5.6)'
),
array
(
Schema
::
TYPE_DECIMAL
.
' NOT NULL'
,
'decimal(10,0) NOT NULL'
),
array
(
Schema
::
TYPE_DATETIME
,
'datetime'
),
array
(
Schema
::
TYPE_DATETIME
.
" CHECK(value BETWEEN '2011-01-01' AND '2013-01-01')"
,
"datetime CHECK(value BETWEEN '2011-01-01' AND '2013-01-01')"
),
array
(
Schema
::
TYPE_DATETIME
.
' NOT NULL'
,
'datetime NOT NULL'
),
array
(
Schema
::
TYPE_TIMESTAMP
,
'timestamp'
),
array
(
Schema
::
TYPE_TIMESTAMP
.
" CHECK(value BETWEEN '2011-01-01' AND '2013-01-01')"
,
"timestamp CHECK(value BETWEEN '2011-01-01' AND '2013-01-01')"
),
array
(
Schema
::
TYPE_TIMESTAMP
.
' NOT NULL'
,
'timestamp NOT NULL'
),
array
(
Schema
::
TYPE_TIME
,
'time'
),
array
(
Schema
::
TYPE_TIME
.
" CHECK(value BETWEEN '12:00:00' AND '13:01:01')"
,
"time CHECK(value BETWEEN '12:00:00' AND '13:01:01')"
),
array
(
Schema
::
TYPE_TIME
.
' NOT NULL'
,
'time NOT NULL'
),
array
(
Schema
::
TYPE_DATE
,
'date'
),
array
(
Schema
::
TYPE_DATE
.
" CHECK(value BETWEEN '2011-01-01' AND '2013-01-01')"
,
"date CHECK(value BETWEEN '2011-01-01' AND '2013-01-01')"
),
array
(
Schema
::
TYPE_DATE
.
' NOT NULL'
,
'date NOT NULL'
),
array
(
Schema
::
TYPE_BINARY
,
'blob'
),
array
(
Schema
::
TYPE_BOOLEAN
,
'bit(1)'
),
array
(
Schema
::
TYPE_BOOLEAN
.
' NOT NULL DEFAULT 1'
,
'bit(1) NOT NULL DEFAULT 1'
),
array
(
Schema
::
TYPE_MONEY
,
'decimal(19,4)'
),
array
(
Schema
::
TYPE_MONEY
.
'(16,2)'
,
'decimal(16,2)'
),
array
(
Schema
::
TYPE_MONEY
.
' CHECK (value > 0.0)'
,
'decimal(19,4) CHECK (value > 0.0)'
),
array
(
Schema
::
TYPE_MONEY
.
'(16,2) CHECK (value > 0.0)'
,
'decimal(16,2) CHECK (value > 0.0)'
),
array
(
Schema
::
TYPE_MONEY
.
' NOT NULL'
,
'decimal(19,4) NOT NULL'
),
);
}
}
tests/unit/framework/db/cubrid/CubridQueryTest.php
0 → 100644
View file @
825258ef
<?php
namespace
yiiunit\framework\db\cubrid
;
use
yiiunit\framework\db\QueryTest
;
class
CubridQueryTest
extends
QueryTest
{
protected
function
setUp
()
{
$this
->
driverName
=
'cubrid'
;
parent
::
setUp
();
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment