Sha256: f0d2fc6b10e087edb5f37122ef57c59f77aec9cae0615f0d9d47e2f2222ccb08

Contents?: true

Size: 1.62 KB

Versions: 32

Compression:

Stored size: 1.62 KB

Contents

require File.expand_path('../../spec_helper', __FILE__)

describe 'builders' do
  after :each do
    JenkinsPipelineBuilder.registry.clear_versions
  end

  before :all do
    JenkinsPipelineBuilder.credentials = {
      server_ip: '127.0.0.1',
      server_port: 8080,
      username: 'username',
      password: 'password',
      log_location: '/dev/null'
    }
  end

  before :each do
    builder = Nokogiri::XML::Builder.new { |xml| xml.builders }
    @n_xml = builder.doc
  end

  after :each do |example|
    name = example.description.gsub ' ', '_'
    File.open("./out/xml/builder_#{name}.xml", 'w') { |f| @n_xml.write_xml_to f }
  end

  context 'multi_job builder' do
    before :each do
      allow(JenkinsPipelineBuilder.client).to receive(:plugin).and_return double(
        list_installed: { 'jenkins-multijob-plugin' => '20.0' })
    end
    it 'generates a configuration' do
      params = { builders: { multi_job: { phases: { foo: { jobs: [{ name: 'foo' }] } } } } }

      JenkinsPipelineBuilder.registry.traverse_registry_path('job', params, @n_xml)

      builder = @n_xml.root.children.first
      expect(builder.name).to match 'com.tikal.jenkins.plugins.multijob.MultiJobBuilder'
    end

    it 'provides job specific config' do
      params = { builders: { multi_job: { phases: { foo: { jobs: [{ name: 'foo', config: {
        predefined_build_parameters: 'bar'
      } }] } } } } }

      JenkinsPipelineBuilder.registry.traverse_registry_path('job', params, @n_xml)

      node = @n_xml.xpath '//hudson.plugins.parameterizedtrigger.PredefinedBuildParameters'
      expect(node.children.first.content).to eq 'bar'
    end
  end
end

Version data entries

32 entries across 32 versions & 1 rubygems

Version Path
jenkins_pipeline_builder-0.10.8 spec/lib/jenkins_pipeline_builder/extensions/builders_spec.rb
jenkins_pipeline_builder-0.10.7 spec/lib/jenkins_pipeline_builder/extensions/builders_spec.rb
jenkins_pipeline_builder-0.10.6 spec/lib/jenkins_pipeline_builder/extensions/builders_spec.rb
jenkins_pipeline_builder-0.10.5 spec/lib/jenkins_pipeline_builder/extensions/builders_spec.rb
jenkins_pipeline_builder-0.10.4 spec/lib/jenkins_pipeline_builder/extensions/builders_spec.rb
jenkins_pipeline_builder-0.10.3 spec/lib/jenkins_pipeline_builder/extensions/builders_spec.rb
jenkins_pipeline_builder-0.10.2 spec/lib/jenkins_pipeline_builder/extensions/builders_spec.rb
jenkins_pipeline_builder-0.10.1 spec/lib/jenkins_pipeline_builder/extensions/builders_spec.rb
jenkins_pipeline_builder-0.10.0 spec/lib/jenkins_pipeline_builder/extensions/builders_spec.rb
jenkins_pipeline_builder-0.9.10 spec/lib/jenkins_pipeline_builder/extensions/builders_spec.rb
jenkins_pipeline_builder-0.9.9 spec/lib/jenkins_pipeline_builder/extensions/builders_spec.rb
jenkins_pipeline_builder-0.9.8 spec/lib/jenkins_pipeline_builder/extensions/builders_spec.rb
jenkins_pipeline_builder-0.9.7 spec/lib/jenkins_pipeline_builder/extensions/builders_spec.rb
jenkins_pipeline_builder-0.9.6 spec/lib/jenkins_pipeline_builder/extensions/builders_spec.rb
jenkins_pipeline_builder-0.9.4 spec/lib/jenkins_pipeline_builder/extensions/builders_spec.rb
jenkins_pipeline_builder-0.9.3 spec/lib/jenkins_pipeline_builder/extensions/builders_spec.rb
jenkins_pipeline_builder-0.9.2 spec/lib/jenkins_pipeline_builder/extensions/builders_spec.rb
jenkins_pipeline_builder-0.9.1 spec/lib/jenkins_pipeline_builder/extensions/builders_spec.rb
jenkins_pipeline_builder-0.9.0 spec/lib/jenkins_pipeline_builder/extensions/builders_spec.rb
jenkins_pipeline_builder-0.8.5 spec/lib/jenkins_pipeline_builder/extensions/builders_spec.rb