Skip to content
Snippets Groups Projects
Commit 92312786 authored by Grzegorz Bizon's avatar Grzegorz Bizon
Browse files

Add CI config entry location info to error message

This CI config entry location in configuration Hash.
parent 7c511c2f
No related branches found
No related tags found
1 merge request!4820Move global ci entries handling from legacy to new config
Pipeline #
Loading
@@ -8,9 +8,8 @@ module Gitlab
Loading
@@ -8,9 +8,8 @@ module Gitlab
class Entry class Entry
class InvalidError < StandardError; end class InvalidError < StandardError; end
   
attr_writer :key
attr_reader :config attr_reader :config
attr_accessor :parent, :description attr_accessor :key, :parent, :description
   
def initialize(config) def initialize(config)
@config = config @config = config
Loading
@@ -35,10 +34,6 @@ module Gitlab
Loading
@@ -35,10 +34,6 @@ module Gitlab
self.class.nodes.none? self.class.nodes.none?
end end
   
def key
@key || self.class.name.demodulize.underscore
end
def valid? def valid?
errors.none? errors.none?
end end
Loading
Loading
Loading
@@ -8,17 +8,24 @@ module Gitlab
Loading
@@ -8,17 +8,24 @@ module Gitlab
   
def initialize(node) def initialize(node)
super(node) super(node)
@node = node
end end
   
def messages def messages
errors.full_messages.map do |error| errors.full_messages.map do |error|
"#{key} #{error}".humanize "#{location} #{error}".humanize
end end
end end
   
def self.name def self.name
'Validator' 'Validator'
end end
private
def location
key || @node.class.name.demodulize.underscore
end
end end
end end
end end
Loading
Loading
Loading
@@ -13,12 +13,6 @@ describe Gitlab::Ci::Config::Node::Global do
Loading
@@ -13,12 +13,6 @@ describe Gitlab::Ci::Config::Node::Global do
end end
end end
   
describe '#key' do
it 'returns underscored class name' do
expect(global.key).to eq 'global'
end
end
context 'when hash is valid' do context 'when hash is valid' do
context 'when all entries defined' do context 'when all entries defined' do
let(:hash) do let(:hash) do
Loading
Loading
Loading
@@ -5,6 +5,10 @@ describe Gitlab::Ci::Config::Node::Validator do
Loading
@@ -5,6 +5,10 @@ describe Gitlab::Ci::Config::Node::Validator do
let(:validator_instance) { validator.new(node) } let(:validator_instance) { validator.new(node) }
let(:node) { spy('node') } let(:node) { spy('node') }
   
before do
allow(node).to receive(:key).and_return('node')
end
describe 'delegated validator' do describe 'delegated validator' do
before do before do
validator.class_eval do validator.class_eval do
Loading
@@ -42,7 +46,8 @@ describe Gitlab::Ci::Config::Node::Validator do
Loading
@@ -42,7 +46,8 @@ describe Gitlab::Ci::Config::Node::Validator do
it 'returns errors' do it 'returns errors' do
validator_instance.validate validator_instance.validate
   
expect(validator_instance.messages).not_to be_empty expect(validator_instance.messages)
.to include "Node test attribute can't be blank"
end end
end end
end end
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment