Skip to content

Commit 545e250

Browse files
authored
Merge pull request os-autoinst#6484 from Martchus/complex-query-limit
Avoid database error when more than one limit parameter is specified
2 parents 197890f + a86f362 commit 545e250

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

lib/OpenQA/WebAPI/Plugin/Helpers.pm

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -395,7 +395,8 @@ sub _compose_job_overview_search_args ($c) {
395395
$v->optional('limit', 'not_empty')->num(0, undef);
396396

397397
# add simple query params to search args
398-
for my $arg (qw(distri version flavor test limit)) {
398+
$search_args{limit} = $v->param('limit') if $v->is_valid('limit');
399+
for my $arg (qw(distri version flavor test)) {
399400
next unless $v->is_valid($arg);
400401
my $params = $v->every_param($arg);
401402
my $param_count = scalar @$params;

t/10-tests_overview.t

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,14 @@ subtest 'time parameter' => sub {
150150
like(get_summary, qr/at the time of.*show latest.*Incomplete: 1$/s, 'jobs newer than time parameter shown');
151151
};
152152

153+
subtest 'limit parameter' => sub {
154+
$t->get_ok(
155+
'/tests/overview?distri=opensuse&version=Factory&limit=2&limit=2',
156+
'no database error when specifying more than one limit'
157+
);
158+
is $t->tx->res->dom->find('table.overview td.name')->size, 2, 'number of jobs limited';
159+
};
160+
153161
# Advanced query parameters can be forwarded
154162
$form = {distri => 'opensuse', version => '13.1', result => 'passed'};
155163
$t->get_ok('/tests/overview' => form => $form)->status_is(200);

0 commit comments

Comments
 (0)