summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Müller <DeepDiver1975@users.noreply.github.com>2016-04-22 13:33:54 +0200
committerThomas Müller <DeepDiver1975@users.noreply.github.com>2016-04-22 13:33:54 +0200
commit43323b00627a90c5b6504f2f29d321bacaa7e053 (patch)
treea4a449c61bdc4deb83cc3d51d465193bc4b28d50
parente0514d2c042b6148f3fe1a20208d025ca0c34b20 (diff)
parent04cee6a7db2bc6cf48f6d873d92865c988539a86 (diff)
downloadnextcloud-server-43323b00627a90c5b6504f2f29d321bacaa7e053.tar.gz
nextcloud-server-43323b00627a90c5b6504f2f29d321bacaa7e053.zip
Merge pull request #24183 from owncloud/change-background-job-sort-order
Change the sort order of background jobs to be DESC instead of ASC
-rw-r--r--lib/private/backgroundjob/joblist.php6
-rw-r--r--tests/lib/backgroundjob/joblist.php17
2 files changed, 16 insertions, 7 deletions
diff --git a/lib/private/backgroundjob/joblist.php b/lib/private/backgroundjob/joblist.php
index b8230fca4de..2429b830446 100644
--- a/lib/private/backgroundjob/joblist.php
+++ b/lib/private/backgroundjob/joblist.php
@@ -172,8 +172,8 @@ class JobList implements IJobList {
$query = $this->connection->getQueryBuilder();
$query->select('*')
->from('jobs')
- ->where($query->expr()->gt('id', $query->createNamedParameter($lastId, IQueryBuilder::PARAM_INT)))
- ->orderBy('id', 'ASC')
+ ->where($query->expr()->lt('id', $query->createNamedParameter($lastId, IQueryBuilder::PARAM_INT)))
+ ->orderBy('id', 'DESC')
->setMaxResults(1);
$result = $query->execute();
$row = $result->fetch();
@@ -187,7 +187,7 @@ class JobList implements IJobList {
$query = $this->connection->getQueryBuilder();
$query->select('*')
->from('jobs')
- ->orderBy('id', 'ASC')
+ ->orderBy('id', 'DESC')
->setMaxResults(1);
$result = $query->execute();
$row = $result->fetch();
diff --git a/tests/lib/backgroundjob/joblist.php b/tests/lib/backgroundjob/joblist.php
index c0796d8253a..fcc3c440818 100644
--- a/tests/lib/backgroundjob/joblist.php
+++ b/tests/lib/backgroundjob/joblist.php
@@ -9,6 +9,7 @@
namespace Test\BackgroundJob;
use OCP\BackgroundJob\IJob;
+use OCP\IDBConnection;
use Test\TestCase;
/**
@@ -28,10 +29,17 @@ class JobList extends TestCase {
parent::setUp();
$connection = \OC::$server->getDatabaseConnection();
+ $this->clearJobsList($connection);
$this->config = $this->getMock('\OCP\IConfig');
$this->instance = new \OC\BackgroundJob\JobList($connection, $this->config);
}
+ protected function clearJobsList(IDBConnection $connection) {
+ $query = $connection->getQueryBuilder();
+ $query->delete('jobs');
+ $query->execute();
+ }
+
protected function getAllSorted() {
$jobs = $this->instance->getAll();
@@ -149,11 +157,11 @@ class JobList extends TestCase {
$this->config->expects($this->once())
->method('getAppValue')
->with('backgroundjob', 'lastjob', 0)
- ->will($this->returnValue($savedJob1->getId()));
+ ->will($this->returnValue($savedJob2->getId()));
$nextJob = $this->instance->getNext();
- $this->assertEquals($savedJob2, $nextJob);
+ $this->assertEquals($savedJob1, $nextJob);
$this->instance->remove($job, 1);
$this->instance->remove($job, 2);
@@ -166,16 +174,17 @@ class JobList extends TestCase {
$jobs = $this->getAllSorted();
+ $savedJob1 = $jobs[count($jobs) - 2];
$savedJob2 = $jobs[count($jobs) - 1];
$this->config->expects($this->once())
->method('getAppValue')
->with('backgroundjob', 'lastjob', 0)
- ->will($this->returnValue($savedJob2->getId()));
+ ->will($this->returnValue($savedJob1->getId()));
$nextJob = $this->instance->getNext();
- $this->assertEquals($jobs[0], $nextJob);
+ $this->assertEquals($savedJob2, $nextJob);
$this->instance->remove($job, 1);
$this->instance->remove($job, 2);