Merge branch '46326-environment-url-validation' into 'master'

Add environment url validation

Closes #46326

See merge request gitlab-org/gitlab-ce!26805
This commit is contained in:
Kamil Trzciński 2019-04-09 09:28:56 +00:00
commit a677db7807
2 changed files with 42 additions and 0 deletions

View file

@ -36,10 +36,12 @@ module Gitlab
validates :config, allowed_keys: ALLOWED_KEYS
validates :url,
type: String,
length: { maximum: 255 },
allow_nil: true
validates :action,
type: String,
inclusion: { in: %w[start stop], message: 'should be start or stop' },
allow_nil: true

View file

@ -100,6 +100,26 @@ describe Gitlab::Ci::Config::Entry::Environment do
end
end
context 'when wrong action type is used' do
let(:config) do
{ name: 'production',
action: ['stop'] }
end
describe '#valid?' do
it 'is not valid' do
expect(entry).not_to be_valid
end
end
describe '#errors' do
it 'contains error about wrong action type' do
expect(entry.errors)
.to include 'environment action should be a string'
end
end
end
context 'when invalid action is used' do
let(:config) do
{ name: 'production',
@ -151,6 +171,26 @@ describe Gitlab::Ci::Config::Entry::Environment do
end
end
context 'when wrong url type is used' do
let(:config) do
{ name: 'production',
url: ['https://meow.meow'] }
end
describe '#valid?' do
it 'is not valid' do
expect(entry).not_to be_valid
end
end
describe '#errors' do
it 'contains error about wrong url type' do
expect(entry.errors)
.to include 'environment url should be a string'
end
end
end
context 'when variables are used for environment' do
let(:config) do
{ name: 'review/$CI_COMMIT_REF_NAME',