Use _human_readable for Runner's registration API

This commit is contained in:
Tomasz Maczukin 2018-02-28 20:56:35 +01:00
parent 7ef24a4771
commit dbd7455583
No known key found for this signature in database
GPG key ID: 7E9EB2E4B0F625CD
2 changed files with 14 additions and 4 deletions

View file

@ -14,10 +14,10 @@ module API
optional :locked, type: Boolean, desc: 'Should Runner be locked for current project' optional :locked, type: Boolean, desc: 'Should Runner be locked for current project'
optional :run_untagged, type: Boolean, desc: 'Should Runner handle untagged jobs' 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 :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 end
post '/' do 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) .merge(get_runner_details_from_request)
runner = runner =

View file

@ -112,10 +112,20 @@ describe API::Runner do
context 'when maximum job timeout is specified' do context 'when maximum job timeout is specified' do
it 'creates runner' do it 'creates runner' do
post api('/runners'), token: registration_token, 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(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
end end