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:
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