summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGrzegorz Bizon <grzesiek.bizon@gmail.com>2017-09-18 14:39:09 +0200
committerGrzegorz Bizon <grzesiek.bizon@gmail.com>2017-09-18 14:39:42 +0200
commitf028718641517a518f25c406afc71c4e54c914d3 (patch)
treec58699ef47b89b474f32ec291fe7c167296a323f
parent00e58f835a34b7b903f612bc5a6fe1a1b022703d (diff)
downloadgitlab-ce-f028718641517a518f25c406afc71c4e54c914d3.tar.gz
Raise exception when initializing unknown policy
-rw-r--r--lib/gitlab/ci/build/policy.rb6
-rw-r--r--spec/lib/gitlab/ci/build/policy_spec.rb7
2 files changed, 3 insertions, 10 deletions
diff --git a/lib/gitlab/ci/build/policy.rb b/lib/gitlab/ci/build/policy.rb
index 6ab2f86c2e9..d10cc7802d4 100644
--- a/lib/gitlab/ci/build/policy.rb
+++ b/lib/gitlab/ci/build/policy.rb
@@ -4,11 +4,7 @@ module Gitlab
module Policy
def self.fabricate(specs)
specifications = specs.to_h.map do |spec, value|
- begin
- self.const_get(spec.to_s.camelize).new(value)
- rescue NameError
- next
- end
+ self.const_get(spec.to_s.camelize).new(value)
end
specifications.compact
diff --git a/spec/lib/gitlab/ci/build/policy_spec.rb b/spec/lib/gitlab/ci/build/policy_spec.rb
index c4addafcea4..20ee3dd3e89 100644
--- a/spec/lib/gitlab/ci/build/policy_spec.rb
+++ b/spec/lib/gitlab/ci/build/policy_spec.rb
@@ -20,11 +20,8 @@ describe Gitlab::Ci::Build::Policy do
context 'when some policies are not defined' do
it 'gracefully skips unknown policies' do
- specs = described_class.fabricate(something: 'first', else: 'unknown')
-
- expect(specs).to be_an Array
- expect(specs).to be_one
- expect(policy).to have_received(:new).with('first')
+ expect { described_class.fabricate(unknown: 'first') }
+ .to raise_error(NameError)
end
end