Sha256: bd48b06f7b9270b25b5f6a60a2d4791d725fec1e65df2e24ae756dbb22132127

Contents?: true

Size: 1.53 KB

Versions: 1

Compression:

Stored size: 1.53 KB

Contents

#
# testing ruote
#
# Tue Aug 11 13:56:28 JST 2009
#

require File.join(File.dirname(__FILE__), 'base')


class FtBlockParticipantTest < Test::Unit::TestCase
  include FunctionalBase

  def test_workitems_dispatching_message

    pdef = Ruote.process_definition do
      sequence do
        set :var => 'v0', :val => 'v0val'
        set :field => 'f0', :val => 'f0val'
        alpha
        bravo
        charly
      end
    end

    @engine.register_participant :alpha do
      @tracer << "a\n"
    end
    @engine.register_participant :bravo do |workitem|
      @tracer << "b:f0:#{workitem.fields['f0']}\n"
    end
    @engine.register_participant :charly do |workitem, fexp|
      @tracer << "c:f0:#{workitem.fields['f0']}:#{fexp.lookup_variable('v0')}\n"
    end

    #noisy

    assert_trace pdef, "a\nb:f0:f0val\nc:f0:f0val:v0val"
  end

  TEST_BLOCK = Ruote.process_definition do
    sequence do
      alpha
      echo '${f:__result__}'
    end
  end

  def test_block_result

    return if Ruote::WIN
      # defective 'json' lib on windows render this test useless

    @engine.register_participant :alpha do |workitem|
      'seen'
    end

    #noisy

    assert_trace TEST_BLOCK, 'seen'
  end

  def test_non_jsonfiable_result

    return if Ruote::WIN
      # defective 'json' lib on windows render this test useless

    t = Time.now

    @engine.register_participant :alpha do |workitem|
      t
    end

    #noisy

    #assert_trace TEST_BLOCK, Ruote.time_to_utc_s(t)
    assert_trace TEST_BLOCK, defined?(DataMapper) ? '' : t.to_s
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ruote-2.1.7 test/functional/ft_24_block_participants.rb