Sha256: 9d3014e0d122935581bd40b01ee48f5be5138a0e81572a365a61037d4d36bb29

Contents?: true

Size: 1.56 KB

Versions: 6

Compression:

Stored size: 1.56 KB

Contents

FactoryBot.define do
  factory :some_task, :class => ForemanTasks::Task do
    sequence(:label) { |n| "task#{n}" }
    type { 'ForemanTasks::Task' }
    state { 'stopped' }
    result { 'success' }

    transient do
      set_owner { nil }
    end

    after(:create) do |task, evaluator|
      ForemanTasks::Lock.owner!(evaluator.set_owner, task.id) if evaluator.set_owner
    end

    factory :dynflow_task, :class => ForemanTasks::Task::DynflowTask do
      label { 'Support::DummyDynflowAction' }
      type { 'ForemanTasks::Task::DynflowTask' }
      started_at { '2014-10-01 11:15:55' }
      ended_at { '2014-10-01 11:15:57' }
      state { 'stopped' }
      result { 'success' }
      parent_task_id { nil }

      transient do
        sync_with_dynflow { false }
      end

      after(:build) do |task, evaluator|
        execution_plan = ForemanTasks.dynflow.world.plan(Support::DummyDynflowAction)
        # remove the task created automatically by the persistence
        ForemanTasks::Task.where(:external_id => execution_plan.id).delete_all
        task.update_attributes!(:external_id => execution_plan.id)
        if evaluator.sync_with_dynflow
          task.update_from_dynflow(execution_plan.to_hash)
        end
      end

      trait :user_create_task do
        label { 'Actions::User::Create' }
      end

      trait :product_create_task do
        label { 'Actions::Katello::Product::Create' }
      end

      trait :inconsistent_dynflow_task do
        after(:build) do |task|
          task.update_attributes!(:state => 'running')
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
foreman-tasks-0.15.11 test/factories/task_factory.rb
foreman-tasks-0.15.10 test/factories/task_factory.rb
foreman-tasks-0.15.9 test/factories/task_factory.rb
foreman-tasks-0.15.8 test/factories/task_factory.rb
foreman-tasks-0.15.7 test/factories/task_factory.rb
foreman-tasks-0.15.6 test/factories/task_factory.rb