diff options
author | Valery Sizov <valery@gitlab.com> | 2015-06-16 09:15:55 +0000 |
---|---|---|
committer | Valery Sizov <valery@gitlab.com> | 2015-06-16 09:15:55 +0000 |
commit | 58dcfe0e3d3bb7b12e3f7aa4aed49bd0cc97c912 (patch) | |
tree | a145ba62b6147cd7768594ecd3b3952bdb488b89 | |
parent | 895e39531884828ba6793eb77c8d78ef9b5b1b96 (diff) | |
parent | 5aa3da1076d663d36f662fd3b9e1cce600fab82a (diff) | |
download | gitlab-ci-58dcfe0e3d3bb7b12e3f7aa4aed49bd0cc97c912.tar.gz |
Merge branch 'yaml_invalid_handling' into 'master'
Invalid yaml handling
See merge request !159
-rw-r--r-- | lib/gitlab_ci_yaml_processor.rb | 4 | ||||
-rw-r--r-- | spec/lib/gitlab_ci_yaml_processor_spec.rb | 8 |
2 files changed, 9 insertions, 3 deletions
diff --git a/lib/gitlab_ci_yaml_processor.rb b/lib/gitlab_ci_yaml_processor.rb index 967146d..67903d5 100644 --- a/lib/gitlab_ci_yaml_processor.rb +++ b/lib/gitlab_ci_yaml_processor.rb @@ -2,20 +2,18 @@ class GitlabCiYamlProcessor attr_reader :before_script, :skip_refs, :errors def initialize(config) - @errors = "" @valid = true @config = YAML.load(config).deep_symbolize_keys @before_script = @config[:before_script] || [] @config.delete(:before_script) - + @jobs = @config.select{|key, value| value[:type] != "deploy"} @deploy_jobs = @config.select{|key, value| value[:type] == "deploy"} rescue Exception => e - @errors = e.message @valid = false end diff --git a/spec/lib/gitlab_ci_yaml_processor_spec.rb b/spec/lib/gitlab_ci_yaml_processor_spec.rb index 8976c12..14d273a 100644 --- a/spec/lib/gitlab_ci_yaml_processor_spec.rb +++ b/spec/lib/gitlab_ci_yaml_processor_spec.rb @@ -118,4 +118,12 @@ describe GitlabCiYamlProcessor do config_processor.deploy_builds_for_ref("master").size.should == 1 end end + + describe "Error handling" do + it "indicated that object is invalid" do + config_processor = GitlabCiYamlProcessor.new("invalid_yaml\n!ccdvlf%612334@@@@") + + config_processor.valid?.should be_false + end + end end
\ No newline at end of file |