diff options
author | diosmosis <benakamoorthi@fastmail.fm> | 2014-02-27 17:21:41 +0400 |
---|---|---|
committer | diosmosis <benakamoorthi@fastmail.fm> | 2014-02-27 17:21:41 +0400 |
commit | 13a08d58897ba2921a037b309e75593c3fbbabcd (patch) | |
tree | d0ed9565efaa10a1c6d71d797ddbb319f5a37177 /plugins/DBStats/tests | |
parent | 4ad2b987467fd57c0ef5a0bbaa8c7f66845d69e1 (diff) |
Refs #4189, added expected screenshot for DBStats, added actual & mock data access class to DBStats, fix bug that occurs when deleting merged assets that do not exist and fix diffviewer generation regression (expected URL was incorrect).
Diffstat (limited to 'plugins/DBStats/tests')
-rw-r--r-- | plugins/DBStats/tests/Mocks/MockDataAccess.php | 151 | ||||
-rw-r--r-- | plugins/DBStats/tests/UI/expected-ui-screenshots/DBStats_admin_page.png | bin | 0 -> 312771 bytes |
2 files changed, 151 insertions, 0 deletions
diff --git a/plugins/DBStats/tests/Mocks/MockDataAccess.php b/plugins/DBStats/tests/Mocks/MockDataAccess.php new file mode 100644 index 0000000000..b394a2d599 --- /dev/null +++ b/plugins/DBStats/tests/Mocks/MockDataAccess.php @@ -0,0 +1,151 @@ +<?php +/** + * Piwik - Open source web analytics + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + * + */ +namespace Piwik\Plugins\DBStats\Mocks; + +use Piwik\Piwik; +use Piwik\Common; + +class MockDataAccess +{ + public static $tableStatuses = array( + 'user' => array(5, 8192, 8192), + 'access' => array(9, 8192, 1024), + 'site' => array(10, 32000, 8192), + 'site_url' => array(8, 8192, 8192), + 'goal' => array(5, 16000, 8192), + 'logger_message' => array(100, 48000, 1024), + 'log_action' => array(3000, 64000, 32000), + 'log_visit' => array(1300, 64000, 16000), + 'log_conversion_item' => array(600, 64000, 16000), + 'log_conversion' => array(1000, 64000, 16000), + 'log_link_visit_action' => array(3000, 64000, 16000), + 'log_profiling' => array(0, 8192, 8192), + 'option' => array(200, 16000, 8192), + 'session' => array(0, 8192, 8192), + 'archive_numeric' => array(8000, 16000, 16000), + 'archive_blob' => array(8000, 128000, 1024) + ); + + public static $numericRowCountsByArchiveName = array( + array('label' => 'numericName1', 'row_count' => 93), + array('label' => 'numericName2', 'row_count' => 203), + array('label' => 'done', 'row_count' => 400), + array('label' => 'done.plugin', 'row_count' => 150), + array('label' => 'numericName3', 'row_count' => 340), + array('label' => 'numericName4', 'row_count' => 240), + ); + + public static $blobRowCountsByArchiveName = array( + array('label' => 'blobName1', 'row_count' => 123), + array('label' => 'blobName2', 'row_count' => 145), + array('label' => 'blobName3', 'row_count' => 83), + array('label' => 'blobName4', 'row_count' => 45), + ); + + public function getDBStatus() + { + return array( + 'Uptime' => 10000, + 'Threads' => 10, + 'Questions' => 15, + 'Slow queries' => 20, + 'Flush tables' => 300, + 'Open tables' => 2, + 'Opens' => 'unavailable', + 'Queries per second avg' => 'unavailable' + ); + } + + public function getTableStatus($tableName) + { + list($rows, $rowLength, $indexRowLength) = self::$tableStatuses[$this->getTableNameKey($tableName)]; + + return array( + 'Name' => $tableName, + 'Engine' => 'InnoDB', + 'Version' => 10, + 'Row_format' => 'Compact', + 'Rows' => $rows, + 'Avg_row_length' => $rowLength, + 'Data_length' => $rows * $rowLength, + 'Max_data_length' => 0, + 'Index_length' => $rows * $indexRowLength, + 'Data_free' => 236978176, + 'Auto_increment' => null, + 'Create_time' => '2014-01-01 23:54:56', + 'Update_time' => null, + 'Check_time' => null, + 'Collation' => 'utf8_general_ci', + 'Checksum' => null, + 'Create_options' => "", + 'Comment' => "" + ); + } + + public function getAllTablesStatus() + { + $result = array(); + foreach (self::$tableStatuses as $tableName => $ignore) { + if ($tableName == "archive_numeric" + || $tableName == "archive_blob" + ) { + continue; + } + + $unprefixed = Common::prefixTable($tableName); + $result[] = $this->getTableStatus($unprefixed); + } + + $result[] = $this->getTableStatus(Common::prefixTable('archive_numeric_2012_01')); + $result[] = $this->getTableStatus(Common::prefixTable('archive_blob_2012_01')); + + $result[] = $this->getTableStatus(Common::prefixTable('archive_numeric_2012_02')); + $result[] = $this->getTableStatus(Common::prefixTable('archive_blob_2012_02')); + + $result[] = $this->getTableStatus(Common::prefixTable('archive_numeric_2012_03')); + $result[] = $this->getTableStatus(Common::prefixTable('archive_blob_2012_03')); + + $result[] = $this->getTableStatus(Common::prefixTable('archive_numeric_2012_04')); + $result[] = $this->getTableStatus(Common::prefixTable('archive_blob_2012_04')); + + return $result; + } + + public function getTableNameKey($tableName) + { + $result = Common::unprefixTable($tableName); + if (strpos($tableName, "archive_numeric")) { + $result = "archive_numeric"; + } else if (strpos($tableName, "archive_blob")) { + $result = "archive_blob"; + } + return $result; + } + + public function getRowCountsByArchiveName($tableName, $extraCols) + { + if (strpos($tableName, "achive_numeric")) { + return self::$numericRowCountsByArchiveName; + } else { + return self::$blobRowCountsByArchiveName; + } + } + + public function getColumnsFromTable($tableName) + { + return array( + array('Field' => 'field1', 'Type' => 'datetime'), + array('Field' => 'field2', 'Type' => 'int(11) unsigned'), + array('Field' => 'field3', 'Type' => 'varchar(10)'), + array('Field' => 'field4', 'Type' => 'varchar(24)'), + array('Field' => 'field5', 'Type' => 'char(32)'), + array('Field' => 'field6', 'Type' => 'timestamp'), + ); + } +}
\ No newline at end of file diff --git a/plugins/DBStats/tests/UI/expected-ui-screenshots/DBStats_admin_page.png b/plugins/DBStats/tests/UI/expected-ui-screenshots/DBStats_admin_page.png Binary files differnew file mode 100644 index 0000000000..6d1e0ba667 --- /dev/null +++ b/plugins/DBStats/tests/UI/expected-ui-screenshots/DBStats_admin_page.png |