Sha256: 4cdfa4b157f1acf768bab8d14acecf848783603abcb202f6d336c186966febb0

Contents?: true

Size: 1.28 KB

Versions: 85

Compression:

Stored size: 1.28 KB

Contents

require 'test_plugin_helper'

class RendererScopeInputTest < ActiveSupport::TestCase
  let(:source) { Foreman::Renderer::Source::String.new(content: '') }

  describe 'caching helper in real mode' do
    let(:input) do
      input = ForemanRemoteExecution::Renderer::Scope::Input.new(source: source)
      input.stubs(:invocation => OpenStruct.new(:job_invocation_id => 1))
      input
    end

    it 'caches the value under given key' do
      i = 1
      result = input.cached('some_key') { i }
      _(result).must_equal 1

      i += 1
      result = input.cached('some_key') { i }
      _(result).must_equal 1

      i += 1
      result = input.cached('different_key') { i }
      _(result).must_equal 3
    end
  end

  describe 'caching helper in preview mode' do
    let(:input) do
      input = ForemanRemoteExecution::Renderer::Scope::Input.new(source: source)
      input.stubs(:invocation => OpenStruct.new(:job_invocation_id => 1), :preview? => true)
      input
    end

    it 'does not cache the value' do
      i = 1
      result = input.cached('some_key') { i }
      _(result).must_equal 1

      i += 1
      result = input.cached('some_key') { i }
      _(result).must_equal 2

      i += 1
      result = input.cached('different_key') { i }
      _(result).must_equal 3
    end
  end
end

Version data entries

85 entries across 85 versions & 1 rubygems

Version Path
foreman_remote_execution-12.0.7 test/unit/renderer_scope_input_test.rb
foreman_remote_execution-10.1.3 test/unit/renderer_scope_input.rb
foreman_remote_execution-12.0.5 test/unit/renderer_scope_input_test.rb
foreman_remote_execution-12.0.4 test/unit/renderer_scope_input_test.rb
foreman_remote_execution-12.0.1 test/unit/renderer_scope_input_test.rb
foreman_remote_execution-12.0.2 test/unit/renderer_scope_input_test.rb
foreman_remote_execution-11.1.3 test/unit/renderer_scope_input.rb
foreman_remote_execution-10.1.2 test/unit/renderer_scope_input.rb
foreman_remote_execution-12.0.0 test/unit/renderer_scope_input_test.rb
foreman_remote_execution-10.1.1 test/unit/renderer_scope_input.rb
foreman_remote_execution-11.1.1 test/unit/renderer_scope_input.rb
foreman_remote_execution-11.1.0 test/unit/renderer_scope_input.rb
foreman_remote_execution-10.1.0 test/unit/renderer_scope_input.rb
foreman_remote_execution-8.3.3 test/unit/renderer_scope_input.rb
foreman_remote_execution-8.3.2 test/unit/renderer_scope_input.rb
foreman_remote_execution-11.0.0 test/unit/renderer_scope_input.rb
foreman_remote_execution-10.0.7 test/unit/renderer_scope_input.rb
foreman_remote_execution-8.3.1 test/unit/renderer_scope_input.rb
foreman_remote_execution-10.0.6 test/unit/renderer_scope_input.rb
foreman_remote_execution-10.0.5 test/unit/renderer_scope_input.rb