Sha256: 379cc9b77a143a2a9ee2fde4e0390443ae18dc39f32bd583814fec6dac1ce238

Contents?: true

Size: 1.28 KB

Versions: 17

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 }
      assert_equal 1, result

      i += 1
      result = input.cached('some_key') { i }
      assert_equal 1, result

      i += 1
      result = input.cached('different_key') { i }
      assert_equal 3, result
    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 }
      assert_equal 1, result

      i += 1
      result = input.cached('some_key') { i }
      assert_equal 2, result

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

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
foreman_remote_execution-13.2.7 test/unit/renderer_scope_input_test.rb
foreman_remote_execution-15.0.0 test/unit/renderer_scope_input_test.rb
foreman_remote_execution-14.1.4 test/unit/renderer_scope_input_test.rb
foreman_remote_execution-14.1.3 test/unit/renderer_scope_input_test.rb
foreman_remote_execution-14.1.2 test/unit/renderer_scope_input_test.rb
foreman_remote_execution-14.1.1 test/unit/renderer_scope_input_test.rb
foreman_remote_execution-14.0.2 test/unit/renderer_scope_input_test.rb
foreman_remote_execution-14.0.1 test/unit/renderer_scope_input_test.rb
foreman_remote_execution-13.2.6 test/unit/renderer_scope_input_test.rb
foreman_remote_execution-14.0.0 test/unit/renderer_scope_input_test.rb
foreman_remote_execution-13.2.5 test/unit/renderer_scope_input_test.rb
foreman_remote_execution-13.2.4 test/unit/renderer_scope_input_test.rb
foreman_remote_execution-13.2.3 test/unit/renderer_scope_input_test.rb
foreman_remote_execution-13.2.2 test/unit/renderer_scope_input_test.rb
foreman_remote_execution-13.2.1 test/unit/renderer_scope_input_test.rb
foreman_remote_execution-13.2.0 test/unit/renderer_scope_input_test.rb
foreman_remote_execution-13.0.0 test/unit/renderer_scope_input_test.rb