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
path: root/tests
diff options
context:
space:
mode:
authordiosmosis <diosmosis@users.noreply.github.com>2020-12-02 06:03:21 +0300
committerGitHub <noreply@github.com>2020-12-02 06:03:21 +0300
commit32ed3a8c83fed313d5859aef47574aa3bce5a635 (patch)
treec4fa7b65a945d00e4e165a5375a865506e001b23 /tests
parent72dabb63267d431075169f6ada8c72bfd329e6e8 (diff)
only select invalidations that were added before a sites archiving began (#16844)
Diffstat (limited to 'tests')
-rw-r--r--tests/PHPUnit/Integration/CronArchive/QueueConsumerTest.php8
-rw-r--r--tests/PHPUnit/Integration/DataAccess/ModelTest.php5
2 files changed, 10 insertions, 3 deletions
diff --git a/tests/PHPUnit/Integration/CronArchive/QueueConsumerTest.php b/tests/PHPUnit/Integration/CronArchive/QueueConsumerTest.php
index 9e4f1cab73..bcd1a9bdb6 100644
--- a/tests/PHPUnit/Integration/CronArchive/QueueConsumerTest.php
+++ b/tests/PHPUnit/Integration/CronArchive/QueueConsumerTest.php
@@ -105,6 +105,9 @@ class QueueConsumerTest extends IntegrationTestCase
['idarchive' => 1, 'name' => 'done', 'idsite' => 1, 'date1' => '2018-03-01', 'date2' => '2018-03-31', 'period' => 3, 'report' => null],
['idarchive' => 1, 'name' => 'done', 'idsite' => 1, 'date1' => '2018-03-01', 'date2' => '2018-03-31', 'period' => 3, 'report' => null],
['idarchive' => 1, 'name' => 'done', 'idsite' => 1, 'date1' => '2018-03-01', 'date2' => '2018-03-31', 'period' => 3, 'report' => null],
+
+ // high ts_invalidated, should not be selected
+ ['idarchive' => 1, 'name' => 'done', 'idsite' => 1, 'date1' => '2018-01-01', 'date2' => '2018-01-31', 'period' => 3, 'report' => null, 'ts_invalidated' => Date::factory(time() + 300)->getDatetime()],
];
shuffle($invalidations);
@@ -500,6 +503,8 @@ class QueueConsumerTest extends IntegrationTestCase
private function insertInvalidations(array $invalidations)
{
+ $now = Date::now()->getDatetime();
+
$table = Common::prefixTable('archive_invalidations');
foreach ($invalidations as $inv) {
$bind = [
@@ -509,10 +514,11 @@ class QueueConsumerTest extends IntegrationTestCase
$inv['date1'],
$inv['date2'],
$inv['period'],
+ isset($inv['ts_invalidated']) ? $inv['ts_invalidated'] : $now,
$inv['report'],
];
Db::query("INSERT INTO `$table` (idarchive, name, idsite, date1, date2, period, ts_invalidated, report, status)
- VALUES (?, ?, ?, ?, ?, ?, NOW(), ?, 0)", $bind);
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, 0)", $bind);
}
}
diff --git a/tests/PHPUnit/Integration/DataAccess/ModelTest.php b/tests/PHPUnit/Integration/DataAccess/ModelTest.php
index 15305796ee..070e1c8f64 100644
--- a/tests/PHPUnit/Integration/DataAccess/ModelTest.php
+++ b/tests/PHPUnit/Integration/DataAccess/ModelTest.php
@@ -505,7 +505,7 @@ class ModelTest extends IntegrationTestCase
),
);
- $actual = $this->model->getNextInvalidatedArchive(1, null, $useLimit = false);
+ $actual = $this->model->getNextInvalidatedArchive(1, '2030-01-01 00:00:00', null, $useLimit = false);
$this->assertEquals($expected, $actual);
}
@@ -547,11 +547,12 @@ class ModelTest extends IntegrationTestCase
private function insertInvalidations(array $invalidations)
{
$table = Common::prefixTable('archive_invalidations');
+ $now = Date::now()->getDatetime();
foreach ($invalidations as $invalidation) {
$sql = "INSERT INTO `$table` (idsite, date1, date2, period, `name`, status, ts_invalidated, ts_started) VALUES (?, ?, ?, ?, ?, ?, ?, ?)";
Db::query($sql, [
$invalidation['idsite'] ?? 1, $invalidation['date1'], $invalidation['date2'], $invalidation['period'], $invalidation['name'],
- $invalidation['status'] ?? 0, $invalidation['ts_invalidated'] ?? null, $invalidation['ts_started'] ?? null,
+ $invalidation['status'] ?? 0, $invalidation['ts_invalidated'] ?? $now, $invalidation['ts_started'] ?? null,
]);
}
}