Commit a677db78 authored by Kamil Trzciński's avatar Kamil Trzciński

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

Add environment url validation

Closes #46326

See merge request gitlab-org/gitlab-ce!26805
parents 1fce09ed 0a4f44de
......@@ -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',
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment