Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordiosmosis <benakamoorthi@fastmail.fm>2014-02-27 17:21:41 +0400
committerdiosmosis <benakamoorthi@fastmail.fm>2014-02-27 17:21:41 +0400
commit13a08d58897ba2921a037b309e75593c3fbbabcd (patch)
treed0ed9565efaa10a1c6d71d797ddbb319f5a37177 /plugins/DBStats/tests
parent4ad2b987467fd57c0ef5a0bbaa8c7f66845d69e1 (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.php151
-rw-r--r--plugins/DBStats/tests/UI/expected-ui-screenshots/DBStats_admin_page.pngbin0 -> 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
new file mode 100644
index 0000000000..6d1e0ba667
--- /dev/null
+++ b/plugins/DBStats/tests/UI/expected-ui-screenshots/DBStats_admin_page.png
Binary files differ