summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomasz Maczukin <tomasz@maczukin.pl>2018-02-28 20:56:35 +0100
committerTomasz Maczukin <tomasz@maczukin.pl>2018-03-28 13:57:18 +0200
commitdbd7455583a10679f0e365cfeacd4729a4b543ec (patch)
tree5a9b6da4f80b90ef8ec372fecc555b97c2a91cc8
parent7ef24a47714802edd8ad5470a6147b60172a0a28 (diff)
downloadgitlab-ce-dbd7455583a10679f0e365cfeacd4729a4b543ec.tar.gz
Use _human_readable for Runner's registration API
-rw-r--r--lib/api/runner.rb4
-rw-r--r--spec/requests/api/runner_spec.rb14
2 files changed, 14 insertions, 4 deletions
diff --git a/lib/api/runner.rb b/lib/api/runner.rb
index 3a26155be6d..74ddaf26bb6 100644
--- a/lib/api/runner.rb
+++ b/lib/api/runner.rb
@@ -14,10 +14,10 @@ module API
optional :locked, type: Boolean, desc: 'Should Runner be locked for current project'
optional :run_untagged, type: Boolean, desc: 'Should Runner handle untagged jobs'
optional :tag_list, type: Array[String], desc: %q(List of Runner's tags)
- optional :maximum_job_timeout, type: Integer, desc: 'Maximum timeout set when this Runner will handle the job'
+ optional :maximum_job_timeout_human_readable, type: String, desc: 'Maximum timeout set when this Runner will handle the job'
end
post '/' do
- attributes = attributes_for_keys([:description, :locked, :run_untagged, :tag_list, :maximum_job_timeout])
+ attributes = attributes_for_keys([:description, :locked, :run_untagged, :tag_list, :maximum_job_timeout_human_readable])
.merge(get_runner_details_from_request)
runner =
diff --git a/spec/requests/api/runner_spec.rb b/spec/requests/api/runner_spec.rb
index a6a4f510406..55c4150a393 100644
--- a/spec/requests/api/runner_spec.rb
+++ b/spec/requests/api/runner_spec.rb
@@ -112,10 +112,20 @@ describe API::Runner do
context 'when maximum job timeout is specified' do
it 'creates runner' do
post api('/runners'), token: registration_token,
- maximum_job_timeout: 7200
+ maximum_job_timeout_human_readable: '2h 30m'
expect(response).to have_gitlab_http_status 201
- expect(Ci::Runner.first.maximum_job_timeout).to eq(7200)
+ expect(Ci::Runner.first.maximum_job_timeout).to eq(9000)
+ end
+
+ context 'when maximum job timeout is empty' do
+ it 'creates runner' do
+ post api('/runners'), token: registration_token,
+ maximum_job_timeout_human_readable: ''
+
+ expect(response).to have_gitlab_http_status 201
+ expect(Ci::Runner.first.maximum_job_timeout).to be_nil
+ end
end
end