قرینه از
https://github.com/matomo-org/matomo.git
synced 2025-08-22 15:07:44 +00:00

* [Coding Style] Enable rule PSR1.Methods.CamelCapsMethodName.NotCamelCaps * [Coding Style] Use camel case for method names in API plugin tests (#22145) * [Coding Style] Use camel case for method names in Core* plugin tests (#22147) * [Coding Style] Use camel case for method names in core Unit tests (#22149) * [Coding Style] Use camel case for method names in Actions and BulkTracking plugin tests (#22146) * [Coding Style] Use camel case for method names in CustomDimensions and CustomJSTracker plugin tests (#22148) * [Coding Style] Use camel case for method names in core Integration tests (#22151) * [Coding Style] Use camel case for method names in more core plugin tests (#22153) * [Coding Style] Use camel case for method names in more core plugin tests (#22157) * [Coding Style] Use camel case for method names in more core plugin tests * Update plugins/Monolog/tests/Unit/Processor/ExceptionToTextProcessorTest.php Co-authored-by: Michal Kleiner <michal@innocraft.com> --------- Co-authored-by: Michal Kleiner <michal@innocraft.com> * [Coding Style] Use camel case for method names in more core plugin tests (#22159) * [Coding Style] Use camel case for method names in remaining tests (#22160) * [Coding Style] Use camel case for method names in remaining tests * rename expected test files --------- Co-authored-by: Michal Kleiner <michal@innocraft.com>
221 خطوط
14 KiB
PHP
221 خطوط
14 KiB
PHP
<?php
|
|
|
|
/**
|
|
* Matomo - free/libre analytics platform
|
|
*
|
|
* @link https://matomo.org
|
|
* @license https://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
|
*/
|
|
|
|
namespace Piwik\Plugins\Diagnostics\tests\Integration\Commands;
|
|
|
|
use Piwik\Tests\Fixtures\OneVisitorTwoVisits;
|
|
use Piwik\Tests\Framework\TestCase\ConsoleCommandTestCase;
|
|
use Piwik\Plugins\SegmentEditor\API as SegmentEditorAPI;
|
|
use Piwik\Plugins\VisitsSummary\API as VisitsSummaryAPI;
|
|
use Piwik\Date;
|
|
|
|
/**
|
|
* @group ArchivingStatusTest
|
|
*/
|
|
class ArchivingStatusTest extends ConsoleCommandTestCase
|
|
{
|
|
/**
|
|
* @var OneVisitorTwoVisits
|
|
*/
|
|
public static $fixture = null;
|
|
|
|
public static function setUpBeforeClass(): void
|
|
{
|
|
parent::setUpBeforeClass();
|
|
|
|
Date::$now = strtotime('2010-03-07 01:00:00');
|
|
|
|
// make sure archiving is initiated so there is data in the archive tables
|
|
VisitsSummaryAPI::getInstance()->get(self::$fixture->idSite, 'month', '2010-02-01');
|
|
VisitsSummaryAPI::getInstance()->get(self::$fixture->idSite, 'month', '2010-02-01', 'browserCode==FF');
|
|
VisitsSummaryAPI::getInstance()->get(self::$fixture->idSite, 'month', '2010-02-01', 'daysSinceFirstVisit==2');
|
|
VisitsSummaryAPI::getInstance()->get(self::$fixture->idSite, 'month', '2010-03-01');
|
|
VisitsSummaryAPI::getInstance()->get(self::$fixture->idSite, 'month', '2010-03-01', 'browserCode==FF');
|
|
VisitsSummaryAPI::getInstance()->get(self::$fixture->idSite, 'month', '2010-03-01', 'daysSinceFirstVisit==2');
|
|
|
|
// Create a segment
|
|
SegmentEditorAPI::getInstance()->add('test segment', 'browserCode==IE', self::$fixture->idSite);
|
|
|
|
Date::$now = strtotime('2010-04-07 06:00:00');
|
|
}
|
|
|
|
public function testCommandOutputIsAsExpected()
|
|
{
|
|
$expected = <<<OUTPUT
|
|
|
|
Invalidation Queue
|
|
+--------------+---------+------+--------+-------------------------+---------------------+-----------------+---------+------------+--------+
|
|
| Invalidation | Segment | Site | Period | Date | Time Queued | Waiting | Started | Processing | Status |
|
|
+--------------+---------+------+--------+-------------------------+---------------------+-----------------+---------+------------+--------+
|
|
| 1 | | 1 | Day | 2010-03-06 | 2010-03-07 01:00:00 | 31 days 5 hours | | | Queued |
|
|
| 2 | | 1 | Week | 2010-03-01 - 2010-03-07 | 2010-03-07 01:00:00 | 31 days 5 hours | | | Queued |
|
|
| 3 | | 1 | Month | 2010-03 | 2010-03-07 01:00:00 | 31 days 5 hours | | | Queued |
|
|
| 4 | | 1 | Year | 2010 | 2010-03-07 01:00:00 | 31 days 5 hours | | | Queued |
|
|
+--------------+---------+------+--------+-------------------------+---------------------+-----------------+---------+------------+--------+
|
|
|
|
Archiving Metrics
|
|
+--------------------------------------+---------------------+
|
|
| Metric | Value |
|
|
+--------------------------------------+---------------------+
|
|
| Total Invalidation Count | 4 |
|
|
| In Progress Invalidation Count | 0 |
|
|
| Scheduled Invalidation Count | 4 |
|
|
| Earliest invalidation ts_started | |
|
|
| Latest invalidation ts_started | |
|
|
| Earliest invalidation ts_invalidated | 2010-03-07 01:00:00 |
|
|
| Latest invalidation ts_invalidated | 2010-03-07 01:00:00 |
|
|
| Number of segment invalidations | 0 |
|
|
| Number of plugin invalidations | 0 |
|
|
| List of plugins being invalidated | |
|
|
+--------------------------------------+---------------------+
|
|
|
|
Archiving Configuration Settings
|
|
+----------+-------------------------------------------------------------+-------------------+
|
|
| Section | Setting | Value |
|
|
+----------+-------------------------------------------------------------+-------------------+
|
|
| database | enable_segment_first_table_join_prefix | |
|
|
| database | enable_first_table_join_prefix | |
|
|
| general | browser_archiving_disabled_enforce | 0 |
|
|
| general | enable_processing_unique_visitors_day | 1 |
|
|
| general | enable_processing_unique_visitors_week | 1 |
|
|
| general | enable_processing_unique_visitors_month | 1 |
|
|
| general | enable_processing_unique_visitors_year | 0 |
|
|
| general | enable_processing_unique_visitors_range | 0 |
|
|
| general | enable_processing_unique_visitors_multiple_sites | 0 |
|
|
| general | process_new_segments_from | beginning_of_time |
|
|
| general | time_before_today_archive_considered_outdated | 900 |
|
|
| general | time_before_week_archive_considered_outdated | -1 |
|
|
| general | time_before_month_archive_considered_outdated | -1 |
|
|
| general | time_before_year_archive_considered_outdated | -1 |
|
|
| general | time_before_range_archive_considered_outdated | -1 |
|
|
| general | enable_browser_archiving_triggering | 1 |
|
|
| general | archiving_range_force_on_browser_request | 1 |
|
|
| general | archiving_custom_ranges[] | |
|
|
| general | archiving_query_max_execution_time | 7200 |
|
|
| general | archiving_ranking_query_row_limit | 50000 |
|
|
| general | disable_archiving_segment_for_plugins | |
|
|
| general | disable_archive_actions_goals | 0 |
|
|
| general | datatable_archiving_maximum_rows_referrers | 1000 |
|
|
| general | datatable_archiving_maximum_rows_subtable_referrers | 50 |
|
|
| general | datatable_archiving_maximum_rows_userid_users | 50000 |
|
|
| general | datatable_archiving_maximum_rows_custom_dimensions | 1000 |
|
|
| general | datatable_archiving_maximum_rows_subtable_custom_dimensions | 1000 |
|
|
| general | datatable_archiving_maximum_rows_actions | 500 |
|
|
| general | datatable_archiving_maximum_rows_subtable_actions | 100 |
|
|
| general | datatable_archiving_maximum_rows_site_search | 500 |
|
|
| general | datatable_archiving_maximum_rows_events | 500 |
|
|
| general | datatable_archiving_maximum_rows_subtable_events | 500 |
|
|
| general | datatable_archiving_maximum_rows_products | 10000 |
|
|
| general | datatable_archiving_maximum_rows_standard | 500 |
|
|
+----------+-------------------------------------------------------------+-------------------+
|
|
OUTPUT;
|
|
|
|
$this->applicationTester->run([
|
|
'command' => 'diagnostics:archiving-status'
|
|
]);
|
|
$actual = $this->applicationTester->getDisplay();
|
|
|
|
$this->assertStringMatchesFormat($expected, $actual);
|
|
}
|
|
|
|
|
|
public function testCommandOutputWithStatsOptionIsAsExpected()
|
|
{
|
|
$expected = <<<OUTPUT
|
|
|
|
Invalidation Queue
|
|
+--------------+---------+------+--------+-------------------------+---------------------+-----------------+---------+------------+--------+
|
|
| Invalidation | Segment | Site | Period | Date | Time Queued | Waiting | Started | Processing | Status |
|
|
+--------------+---------+------+--------+-------------------------+---------------------+-----------------+---------+------------+--------+
|
|
| 1 | | 1 | Day | 2010-03-06 | 2010-03-07 01:00:00 | 31 days 5 hours | | | Queued |
|
|
| 2 | | 1 | Week | 2010-03-01 - 2010-03-07 | 2010-03-07 01:00:00 | 31 days 5 hours | | | Queued |
|
|
| 3 | | 1 | Month | 2010-03 | 2010-03-07 01:00:00 | 31 days 5 hours | | | Queued |
|
|
| 4 | | 1 | Year | 2010 | 2010-03-07 01:00:00 | 31 days 5 hours | | | Queued |
|
|
+--------------+---------+------+--------+-------------------------+---------------------+-----------------+---------+------------+--------+
|
|
|
|
Archiving Metrics
|
|
+--------------------------------------+---------------------+
|
|
| Metric | Value |
|
|
+--------------------------------------+---------------------+
|
|
| Total Invalidation Count | 4 |
|
|
| In Progress Invalidation Count | 0 |
|
|
| Scheduled Invalidation Count | 4 |
|
|
| Earliest invalidation ts_started | |
|
|
| Latest invalidation ts_started | |
|
|
| Earliest invalidation ts_invalidated | 2010-03-07 01:00:00 |
|
|
| Latest invalidation ts_invalidated | 2010-03-07 01:00:00 |
|
|
| Number of segment invalidations | 0 |
|
|
| Number of plugin invalidations | 0 |
|
|
| List of plugins being invalidated | |
|
|
+--------------------------------------+---------------------+
|
|
|
|
Instance Statistics
|
|
+----------------------+------------------------+
|
|
| Statistic Name | Value |
|
|
+----------------------+------------------------+
|
|
| Site Count | 3 |
|
|
| Segment Count | 1 |
|
|
| Database Version | mysql-version-redacted |
|
|
| Last full Month Hits | 8 |
|
|
| Last 12 Month Hits | 8 |
|
|
+----------------------+------------------------+
|
|
|
|
Archiving Configuration Settings
|
|
+----------+-------------------------------------------------------------+-------------------+
|
|
| Section | Setting | Value |
|
|
+----------+-------------------------------------------------------------+-------------------+
|
|
| database | enable_segment_first_table_join_prefix | |
|
|
| database | enable_first_table_join_prefix | |
|
|
| general | browser_archiving_disabled_enforce | 0 |
|
|
| general | enable_processing_unique_visitors_day | 1 |
|
|
| general | enable_processing_unique_visitors_week | 1 |
|
|
| general | enable_processing_unique_visitors_month | 1 |
|
|
| general | enable_processing_unique_visitors_year | 0 |
|
|
| general | enable_processing_unique_visitors_range | 0 |
|
|
| general | enable_processing_unique_visitors_multiple_sites | 0 |
|
|
| general | process_new_segments_from | beginning_of_time |
|
|
| general | time_before_today_archive_considered_outdated | 900 |
|
|
| general | time_before_week_archive_considered_outdated | -1 |
|
|
| general | time_before_month_archive_considered_outdated | -1 |
|
|
| general | time_before_year_archive_considered_outdated | -1 |
|
|
| general | time_before_range_archive_considered_outdated | -1 |
|
|
| general | enable_browser_archiving_triggering | 1 |
|
|
| general | archiving_range_force_on_browser_request | 1 |
|
|
| general | archiving_custom_ranges[] | |
|
|
| general | archiving_query_max_execution_time | 7200 |
|
|
| general | archiving_ranking_query_row_limit | 50000 |
|
|
| general | disable_archiving_segment_for_plugins | |
|
|
| general | disable_archive_actions_goals | 0 |
|
|
| general | datatable_archiving_maximum_rows_referrers | 1000 |
|
|
| general | datatable_archiving_maximum_rows_subtable_referrers | 50 |
|
|
| general | datatable_archiving_maximum_rows_userid_users | 50000 |
|
|
| general | datatable_archiving_maximum_rows_custom_dimensions | 1000 |
|
|
| general | datatable_archiving_maximum_rows_subtable_custom_dimensions | 1000 |
|
|
| general | datatable_archiving_maximum_rows_actions | 500 |
|
|
| general | datatable_archiving_maximum_rows_subtable_actions | 100 |
|
|
| general | datatable_archiving_maximum_rows_site_search | 500 |
|
|
| general | datatable_archiving_maximum_rows_events | 500 |
|
|
| general | datatable_archiving_maximum_rows_subtable_events | 500 |
|
|
| general | datatable_archiving_maximum_rows_products | 10000 |
|
|
| general | datatable_archiving_maximum_rows_standard | 500 |
|
|
+----------+-------------------------------------------------------------+-------------------+
|
|
OUTPUT;
|
|
|
|
$this->applicationTester->run(array(
|
|
'command' => 'diagnostics:archiving-status',
|
|
'--with-stats' => true
|
|
));
|
|
$actual = $this->applicationTester->getDisplay();
|
|
|
|
$this->assertStringMatchesFormat($expected, $actual);
|
|
}
|
|
}
|
|
|
|
ArchivingStatusTest::$fixture = new OneVisitorTwoVisits();
|