diff options
author | diosmosis <diosmosis@users.noreply.github.com> | 2020-12-02 06:03:21 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-02 06:03:21 +0300 |
commit | 32ed3a8c83fed313d5859aef47574aa3bce5a635 (patch) | |
tree | c4fa7b65a945d00e4e165a5375a865506e001b23 /tests | |
parent | 72dabb63267d431075169f6ada8c72bfd329e6e8 (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.php | 8 | ||||
-rw-r--r-- | tests/PHPUnit/Integration/DataAccess/ModelTest.php | 5 |
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, ]); } } |