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:
commit
a677db7807
2 changed files with 42 additions and 0 deletions
|
@ -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
|
||||
|
||||
|
|
|
@ -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',
|
||||
|
|
Loading…
Reference in a new issue