Merge pull request #656 from adamgsoc2013/UT_tbl_tracking
add Unit test cases for PMA_tbl_*
This commit is contained in:
commit
d7e3184f69
@ -588,7 +588,7 @@ function PMA_getHtmlForDataDefinitionStatements($data, $filter_users,
|
||||
$filter_ts_from, $filter_ts_to, $url_params, $drop_image_or_text
|
||||
) {
|
||||
$i = 1;
|
||||
$html = '<table id="ddl_versions" class="data" width="100%">';
|
||||
$html = '<table id="ddl_versions" class="data" width="100%">';
|
||||
$html .= '<thead>';
|
||||
$html .= '<tr>';
|
||||
$html .= '<th width="18">#</th>';
|
||||
|
||||
@ -116,6 +116,48 @@ class PMA_TblRelationTest extends PHPUnit_Framework_TestCase
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests for PMA_backquoteSplit() method.
|
||||
*
|
||||
* @return void
|
||||
* @test
|
||||
*/
|
||||
public function testPMABackquoteSplit()
|
||||
{
|
||||
$text = "test `PMA` Back `quote` Split";
|
||||
|
||||
$this->assertEquals(
|
||||
array('`PMA`', '`quote`'),
|
||||
PMA_backquoteSplit($text)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests for PMA_getSQLToCreateForeignKey() method.
|
||||
*
|
||||
* @return void
|
||||
* @test
|
||||
*/
|
||||
public function testPMAGetSQLToCreateForeignKey()
|
||||
{
|
||||
$table = "PMA_table";
|
||||
$field = "PMA_field";
|
||||
$foreignDb = "foreignDb";
|
||||
$foreignTable = "foreignTable";
|
||||
$foreignField = "foreignField";
|
||||
|
||||
$sql = PMA_getSQLToCreateForeignKey(
|
||||
$table, $field, $foreignDb, $foreignTable, $foreignField
|
||||
);
|
||||
$sql_excepted = 'ALTER TABLE `PMA_table` ADD '
|
||||
. 'FOREIGN KEY (`PMA_field`) REFERENCES '
|
||||
. '`foreignDb`.`foreignTable`(`foreignField`);';
|
||||
$this->assertEquals(
|
||||
$sql_excepted,
|
||||
$sql
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests for PMA_getSQLToDropForeignKey() method.
|
||||
*
|
||||
|
||||
@ -574,8 +574,8 @@ class PMA_TblTrackingTest extends PHPUnit_Framework_TestCase
|
||||
$_REQUEST['logtype'] = 'logtype';
|
||||
$url_query = "select * from PMA";
|
||||
$data = array(
|
||||
'tracking'=>'tracking',
|
||||
'ddlog' => array('ddlog'),
|
||||
'tracking'=>'tracking',
|
||||
'ddlog' => array('ddlog'),
|
||||
'dmlog' => array('dmlog')
|
||||
);
|
||||
$url_params = array();
|
||||
@ -588,7 +588,7 @@ class PMA_TblTrackingTest extends PHPUnit_Framework_TestCase
|
||||
|
||||
$html = PMA_getHtmlForTrackingReport(
|
||||
$url_query, $data, $url_params,
|
||||
$selection_schema, $selection_data,
|
||||
$selection_schema, $selection_data,
|
||||
$selection_both, $filter_ts_to,
|
||||
$filter_ts_from, $filter_users
|
||||
);
|
||||
@ -672,14 +672,14 @@ class PMA_TblTrackingTest extends PHPUnit_Framework_TestCase
|
||||
$_REQUEST['version'] = "10";
|
||||
$url_query = "select * from PMA";
|
||||
$data = array(
|
||||
'tracking'=>'tracking',
|
||||
'tracking'=>'tracking',
|
||||
'dmlog' => array(
|
||||
array(
|
||||
'statement' => 'statement',
|
||||
'date' => 'date',
|
||||
'username' => 'username',
|
||||
)
|
||||
),
|
||||
),
|
||||
'ddlog' => array('ddlog')
|
||||
);
|
||||
$url_params = array();
|
||||
@ -691,7 +691,7 @@ class PMA_TblTrackingTest extends PHPUnit_Framework_TestCase
|
||||
|
||||
$html = PMA_getHtmlForDataManipulationStatements(
|
||||
$data, $filter_users,
|
||||
$filter_ts_from, $filter_ts_to, $url_params,
|
||||
$filter_ts_from, $filter_ts_to, $url_params,
|
||||
$ddlog_count, $drop_image_or_text
|
||||
);
|
||||
|
||||
@ -721,6 +721,72 @@ class PMA_TblTrackingTest extends PHPUnit_Framework_TestCase
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests for PMA_getHtmlForDataDefinitionStatements() method.
|
||||
*
|
||||
* @return void
|
||||
* @test
|
||||
*/
|
||||
public function testPMAGetHtmlForDataDefinitionStatements()
|
||||
{
|
||||
$_REQUEST['version'] = "10";
|
||||
$url_query = "select * from PMA";
|
||||
|
||||
$data = array(
|
||||
'tracking'=>'tracking',
|
||||
'ddlog' => array(
|
||||
array(
|
||||
'statement' => 'statement',
|
||||
'date' => 'date',
|
||||
'username' => 'username',
|
||||
)
|
||||
),
|
||||
'dmlog' => array('dmlog')
|
||||
);
|
||||
$filter_users = array("*");
|
||||
$filter_ts_to = 9999999999;
|
||||
$filter_ts_from = 0;
|
||||
$url_params = array();
|
||||
$drop_image_or_text = "text";
|
||||
|
||||
list($html, $count) = PMA_getHtmlForDataDefinitionStatements(
|
||||
$data, $filter_users,
|
||||
$filter_ts_from, $filter_ts_to, $url_params, $drop_image_or_text
|
||||
);
|
||||
|
||||
$this->assertContains(
|
||||
__('Date'),
|
||||
$html
|
||||
);
|
||||
|
||||
$this->assertContains(
|
||||
__('Username'),
|
||||
$html
|
||||
);
|
||||
|
||||
$this->assertContains(
|
||||
__('Data definition statement'),
|
||||
$html
|
||||
);
|
||||
|
||||
$this->assertContains(
|
||||
__('Delete'),
|
||||
$html
|
||||
);
|
||||
|
||||
//PMA_getHtmlForDataDefinitionStatement
|
||||
$this->assertContains(
|
||||
htmlspecialchars($data['ddlog'][0]['username']),
|
||||
$html
|
||||
);
|
||||
|
||||
$this->assertEquals(
|
||||
2,
|
||||
$count
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests for PMA_getHtmlForIndexes() method.
|
||||
*
|
||||
@ -742,7 +808,7 @@ class PMA_TblTrackingTest extends PHPUnit_Framework_TestCase
|
||||
'Comment' => 'Comment',
|
||||
),
|
||||
);
|
||||
|
||||
|
||||
$html = PMA_getHtmlForIndexes($indexs);
|
||||
|
||||
$this->assertContains(
|
||||
@ -793,7 +859,7 @@ class PMA_TblTrackingTest extends PHPUnit_Framework_TestCase
|
||||
$this->assertContains(
|
||||
htmlspecialchars($indexs[0]['Collation']),
|
||||
$html
|
||||
);
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -814,12 +880,76 @@ class PMA_TblTrackingTest extends PHPUnit_Framework_TestCase
|
||||
$_REQUEST['update'] = false;
|
||||
$_REQUEST['delete'] = true;
|
||||
$_REQUEST['truncate'] = true;
|
||||
|
||||
|
||||
$tracking_set = PMA_getTrackingSet();
|
||||
$this->assertEquals(
|
||||
'RENAME TABLE,CREATE TABLE,DROP TABLE,DROP INDEX,INSERT,DELETE,TRUNCATE',
|
||||
$tracking_set
|
||||
);
|
||||
);
|
||||
|
||||
//other set to true
|
||||
$_REQUEST['alter_table'] = true;
|
||||
$_REQUEST['rename_table'] = false;
|
||||
$_REQUEST['create_table'] = false;
|
||||
$_REQUEST['drop_table'] = false;
|
||||
$_REQUEST['create_index'] = true;
|
||||
$_REQUEST['drop_index'] = false;
|
||||
$_REQUEST['insert'] = false;
|
||||
$_REQUEST['update'] = true;
|
||||
$_REQUEST['delete'] = false;
|
||||
$_REQUEST['truncate'] = false;
|
||||
|
||||
$tracking_set = PMA_getTrackingSet();
|
||||
$this->assertEquals(
|
||||
'ALTER TABLE,CREATE INDEX,UPDATE',
|
||||
$tracking_set
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Tests for PMA_getEntries() method.
|
||||
*
|
||||
* @return void
|
||||
* @test
|
||||
*/
|
||||
public function testPMAGetEntries()
|
||||
{
|
||||
$_REQUEST['logtype'] = 'schema';
|
||||
$data = array(
|
||||
'tracking'=>'tracking',
|
||||
'ddlog' => array(
|
||||
array(
|
||||
'statement' => 'statement1',
|
||||
'date' => 'date2',
|
||||
'username' => 'username3',
|
||||
)
|
||||
),
|
||||
'dmlog' => array(
|
||||
array(
|
||||
'statement' => 'statement1',
|
||||
'date' => 'date2',
|
||||
'username' => 'username3',
|
||||
)
|
||||
),
|
||||
);
|
||||
$filter_users = array("*");
|
||||
$filter_ts_to = 9999999999;
|
||||
$filter_ts_from = 0;
|
||||
$url_params = array();
|
||||
$drop_image_or_text = "text";
|
||||
|
||||
$entries = PMA_getEntries(
|
||||
$data, $filter_ts_from, $filter_ts_to, $filter_users
|
||||
);
|
||||
$this->assertEquals(
|
||||
'username3',
|
||||
$entries[0]['username']
|
||||
);
|
||||
$this->assertEquals(
|
||||
'statement1',
|
||||
$entries[0]['statement']
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -36,11 +36,11 @@ class PMA_TblViewsTest extends PHPUnit_Framework_TestCase
|
||||
*/
|
||||
$GLOBALS['server'] = 1;
|
||||
$GLOBALS['cfg']['Server']['pmadb'] = '';
|
||||
|
||||
|
||||
$dbi = $this->getMockBuilder('PMA_DatabaseInterface')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
||||
|
||||
$dbi->expects($this->any())
|
||||
->method('tryQuery')
|
||||
->will($this->returnValue('executeResult2'));
|
||||
@ -55,22 +55,40 @@ class PMA_TblViewsTest extends PHPUnit_Framework_TestCase
|
||||
'relation' => 'relation',
|
||||
'column_info' => 'column_info',
|
||||
);
|
||||
|
||||
|
||||
//_SESSION
|
||||
$_SESSION['relation'][$GLOBALS['server']] = array(
|
||||
'table_coords' => "table_name",
|
||||
'displaywork' => 'displaywork',
|
||||
'db' => "information_schema",
|
||||
'table_info' => 'table_info',
|
||||
'relwork' => 'relwork',
|
||||
'commwork' => 'commwork',
|
||||
'displaywork' => 'displaywork',
|
||||
'pdfwork' => 'pdfwork',
|
||||
'designerwork' => 'designerwork',
|
||||
'column_info' => 'column_info',
|
||||
'designer_coords' => 'designer_coords',
|
||||
'relation' => 'relation',
|
||||
'relwork' => 'relwork',
|
||||
);
|
||||
|
||||
$meta1 = new FieldMeta();
|
||||
$meta1->table = "meta1_table";
|
||||
$meta1->name = "meta1_name";
|
||||
$meta1->name = "meta1_name";
|
||||
$meta2 = new FieldMeta();
|
||||
$meta2->table = "meta2_table";
|
||||
$meta2->name = "meta2_name";
|
||||
|
||||
|
||||
$getFieldsMeta = array($meta1, $meta2);
|
||||
|
||||
$dbi->expects($this->any())
|
||||
->method('getFieldsMeta')
|
||||
->will($this->returnValue($getFieldsMeta));
|
||||
|
||||
$GLOBALS['dbi'] = $dbi;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Tests for PMA_getColumnMap() method.
|
||||
*
|
||||
@ -83,7 +101,7 @@ class PMA_TblViewsTest extends PHPUnit_Framework_TestCase
|
||||
$view_columns = array(
|
||||
"view_columns1", "view_columns2"
|
||||
);
|
||||
|
||||
|
||||
$column_map = PMA_getColumnMap($sql_query, $view_columns);
|
||||
|
||||
$this->assertEquals(
|
||||
@ -103,7 +121,7 @@ class PMA_TblViewsTest extends PHPUnit_Framework_TestCase
|
||||
$column_map[1]
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Tests for PMA_getExistingTranformationData() method.
|
||||
*
|
||||
@ -114,13 +132,61 @@ class PMA_TblViewsTest extends PHPUnit_Framework_TestCase
|
||||
{
|
||||
$db = "PMA_db";
|
||||
$ret = PMA_getExistingTranformationData($db);
|
||||
|
||||
|
||||
//validate that is the same as $GLOBALS['dbi']->tryQuery
|
||||
$this->assertEquals(
|
||||
'executeResult2',
|
||||
$ret
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests for PMA_getNewTransformationDataSql() method.
|
||||
*
|
||||
* @return void
|
||||
* @test
|
||||
*/
|
||||
public function testPMAGetNewTransformationDataSql()
|
||||
{
|
||||
$dbi = $GLOBALS['dbi'];
|
||||
$value = array(
|
||||
'table_name' => "table_name",
|
||||
'column_name' => "column_name",
|
||||
'comment' => "comment",
|
||||
'mimetype' => "mimetype",
|
||||
'transformation' => "transformation",
|
||||
'transformation_options' => "transformation_options",
|
||||
);
|
||||
|
||||
$dbi->expects($this->at(0))->method('fetchAssoc')
|
||||
->will($this->returnValue($value));
|
||||
|
||||
$GLOBALS['dbi'] = $dbi;
|
||||
|
||||
$db = "PMA_db";
|
||||
$pma_tranformation_data = array();
|
||||
$column_map = array(
|
||||
array(
|
||||
"table_name" => "table_name",
|
||||
"refering_column" => "column_name"
|
||||
)
|
||||
);
|
||||
$view_name = "view_name";
|
||||
|
||||
$ret = PMA_getNewTransformationDataSql(
|
||||
$pma_tranformation_data, $column_map, $view_name, $db
|
||||
);
|
||||
|
||||
$sql = "INSERT INTO `information_schema`.`column_info` "
|
||||
. "(`db_name`, `table_name`, `column_name`, `comment`, `mimetype`, "
|
||||
. "`transformation`, `transformation_options`) VALUES "
|
||||
. "('PMA_db', 'view_name', 'column_name', 'comment', 'mimetype', "
|
||||
. "'transformation', 'transformation_options')";
|
||||
$this->assertEquals(
|
||||
$sql,
|
||||
$ret
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Loading…
Reference in New Issue
Block a user