Sha256: 5b4ecec024a01a7b6d60efb331b9986530c328e97789676a3bc7c047a9dff21e

Contents?: true

Size: 1.76 KB

Versions: 12

Compression:

Stored size: 1.76 KB

Contents

module JmeterPerf
  class ExtendedDSL < DSL
    def http_request_defaults(params = {}, &)
      params[:image_parser] = true if params.key? :download_resources
      params[:concurrentDwn] = true if params.key? :use_concurrent_pool
      params[:concurrentPool] = params[:use_concurrent_pool] if params.key? :use_concurrent_pool

      node = JmeterPerf::DSL::HTTPRequestDefaults.new(params).tap do |node|
        if params[:urls_must_match]
          node.doc.children.first.add_child(
            Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
              <<-EOS
              <stringProp name="HTTPSampler.embedded_url_re">#{params[:urls_must_match]}</stringProp>
              EOS
            )).children
          )
        end

        if params[:md5]
          node.doc.children.first.add_child(
            Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
              <<-EOS
                <boolProp name="HTTPSampler.md5">true</stringProp>
              EOS
            )).children
          )
        end

        if params[:proxy_host]
          node.doc.children.first.add_child(
            Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
              <<-EOS
                <stringProp name="HTTPSampler.proxyHost">#{params[:proxy_host]}</stringProp>
              EOS
            )).children
          )
        end

        if params[:proxy_port]
          node.doc.children.first.add_child(
            Nokogiri::XML(JmeterPerf::Helpers::String.strip_heredoc(
              <<-EOS
                <stringProp name="HTTPSampler.proxyPort">#{params[:proxy_port]}</stringProp>
              EOS
            )).children
          )
        end
      end

      attach_node(node, &)
    end

    alias_method :defaults, :http_request_defaults
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
jmeter_perf-1.1.1 lib/jmeter_perf/extend/config_elements/http_request_defaults.rb
jmeter_perf-1.1.0 lib/jmeter_perf/extend/config_elements/http_request_defaults.rb
jmeter_perf-1.0.10 lib/jmeter_perf/extend/config_elements/http_request_defaults.rb
jmeter_perf-1.0.9 lib/jmeter_perf/extend/config_elements/http_request_defaults.rb
jmeter_perf-1.0.8 lib/jmeter_perf/extend/config_elements/http_request_defaults.rb
jmeter_perf-1.0.7 lib/jmeter_perf/extend/config_elements/http_request_defaults.rb
jmeter_perf-1.0.6 lib/jmeter_perf/extend/config_elements/http_request_defaults.rb
jmeter_perf-1.0.5 lib/jmeter_perf/extend/config_elements/http_request_defaults.rb
jmeter_perf-1.0.4 lib/jmeter_perf/extend/config_elements/http_request_defaults.rb
jmeter_perf-1.0.2 lib/jmeter_perf/extend/config_elements/http_request_defaults.rb
jmeter_perf-1.0.1 lib/jmeter_perf/extend/config_elements/http_request_defaults.rb
jmeter_perf-1.0.0 lib/jmeter_perf/extend/config_elements/http_request_defaults.rb