Sha256: b0eedbb9205ddb83c9cbdbdfa3a9c7f63a4b5d77125889d26ec6551992ffd694

Contents?: true

Size: 1.44 KB

Versions: 52

Compression:

Stored size: 1.44 KB

Contents

require 'foreman_tasks_test_helper'

module ForemanTasks
  class KeepCurrentRequestIDTest < ActiveSupport::TestCase
    class DummyAction < Actions::EntryAction
      middleware.use ::Actions::Middleware::KeepCurrentRequestID

      def plan(plan = false)
        plan_self if plan
      end

      def run
        output[:run_result] = ::Logging.mdc['request']
      end

      def finalize
        output[:finalize_result] = ::Logging.mdc['request']
      end
    end

    describe Actions::Middleware::KeepCurrentRequestID do
      include ::Dynflow::Testing

      before { @old_id = ::Logging.mdc['request'] }
      after  { ::Logging.mdc['request'] = @old_id }

      let(:expected_id) { 'an_id' }

      it 'stores the id on planning' do
        ::Logging.mdc['request'] = expected_id
        action = create_and_plan_action(DummyAction)
        _(action.input[:current_request_id]).must_equal expected_id
      end

      it 'restores the id for run' do
        ::Logging.mdc['request'] = expected_id
        action = create_and_plan_action(DummyAction, true)
        action = run_action action
        _(action.output[:run_result]).must_equal expected_id
      end

      it 'restores the id for finalize' do
        ::Logging.mdc['request'] = expected_id
        action = create_and_plan_action(DummyAction, true)
        action = finalize_action(run_action(action))
        _(action.output[:finalize_result]).must_equal expected_id
      end
    end
  end
end

Version data entries

52 entries across 52 versions & 1 rubygems

Version Path
foreman-tasks-9.0.4 test/lib/actions/middleware/keep_current_request_id_test.rb
foreman-tasks-9.1.0 test/lib/actions/middleware/keep_current_request_id_test.rb
foreman-tasks-9.0.2 test/lib/actions/middleware/keep_current_request_id_test.rb
foreman-tasks-9.0.1 test/lib/actions/middleware/keep_current_request_id_test.rb
foreman-tasks-8.3.3 test/lib/actions/middleware/keep_current_request_id_test.rb
foreman-tasks-9.0.0 test/lib/actions/middleware/keep_current_request_id_test.rb
foreman-tasks-8.2.1 test/lib/actions/middleware/keep_current_request_id_test.rb
foreman-tasks-8.1.4 test/lib/actions/middleware/keep_current_request_id_test.rb
foreman-tasks-8.3.2 test/lib/actions/middleware/keep_current_request_id_test.rb
foreman-tasks-8.3.1 test/lib/actions/middleware/keep_current_request_id_test.rb
foreman-tasks-8.1.3 test/lib/actions/middleware/keep_current_request_id_test.rb
foreman-tasks-8.3.0 test/lib/actions/middleware/keep_current_request_id_test.rb
foreman-tasks-8.2.0 test/lib/actions/middleware/keep_current_request_id_test.rb
foreman-tasks-8.1.2 test/lib/actions/middleware/keep_current_request_id_test.rb
foreman-tasks-8.1.1 test/lib/actions/middleware/keep_current_request_id_test.rb
foreman-tasks-8.1.0 test/lib/actions/middleware/keep_current_request_id_test.rb
foreman-tasks-8.0.2 test/lib/actions/middleware/keep_current_request_id_test.rb
foreman-tasks-8.0.1 test/lib/actions/middleware/keep_current_request_id_test.rb
foreman-tasks-8.0.0 test/lib/actions/middleware/keep_current_request_id_test.rb
foreman-tasks-7.2.1 test/lib/actions/middleware/keep_current_request_id_test.rb