Sha256: 2f3d88023ca9df80a2cb000be9d775ed757dc66ada3f7394e036d2be044fed4c

Contents?: true

Size: 1.82 KB

Versions: 24

Compression:

Stored size: 1.82 KB

Contents

require File.dirname(__FILE__) + "/../test_helper"

unit_tests do
  test "take_work returns result of push_work when it is available" do
    server = DeepTest::Server.new(DeepTest::Options.new({}))
    server.write_work :work
    assert_equal :work, server.take_work
  end

  test "take_work raises error when no work is currently available" do
    assert_raises(DeepTest::Server::NoWorkUnitsAvailableError) do
      DeepTest::Server.new(DeepTest::Options.new({})).take_work
    end
  end

  test "take_work raises error when there is no work left to" do
    server = DeepTest::Server.new(DeepTest::Options.new({}))
    server.done_with_work

    assert_raises(DeepTest::Server::NoWorkUnitsRemainingError) do
      server.take_work
    end
  end

  test "take_result returns result of push_result when it is available" do
    server = DeepTest::Server.new(DeepTest::Options.new({}))
    t = Thread.new {server.take_result}
    server.write_result :result
    assert_equal :result, t.value
  end

  test "take_result timeouts out after configurable number of seconds" do
    server = DeepTest::Server.new(
      DeepTest::Options.new(:timeout_in_seconds => 0.01)
    )
    Thread.new {sleep 0.1; server.write_result :too_late}
    assert_raises(DeepTest::Server::ResultOverdueError) {server.take_result}
  end

  test "write_work returns nil" do
    server = DeepTest::Server.new(DeepTest::Options.new({}))
    assert_equal nil, server.write_work(:a)
  end

  test "write_result returns nil" do
    server = DeepTest::Server.new(DeepTest::Options.new({}))
    assert_equal nil, server.write_result(:a)
  end

  test "start returns instance of server" do
    DRb.expects(:start_service)
    DRb.expects(:uri)
    DeepTest.logger.expects(:info)

    server = DeepTest::Server.start(DeepTest::Options.new({}))
    assert_kind_of DeepTest::Server, server
  end
end

Version data entries

24 entries across 24 versions & 4 rubygems

Version Path
jason-o-matic-deep_test-1.2.2.1 test/deep_test/server_test.rb
jason-o-matic-deep_test-1.2.2.10 test/deep_test/server_test.rb
jason-o-matic-deep_test-1.2.2.11 test/deep_test/server_test.rb
jason-o-matic-deep_test-1.2.2.12 test/deep_test/server_test.rb
jason-o-matic-deep_test-1.2.2.13 test/deep_test/server_test.rb
jason-o-matic-deep_test-1.2.2.14 test/deep_test/server_test.rb
jason-o-matic-deep_test-1.2.2.2 test/deep_test/server_test.rb
jason-o-matic-deep_test-1.2.2.3 test/deep_test/server_test.rb
jason-o-matic-deep_test-1.2.2.4 test/deep_test/server_test.rb
jason-o-matic-deep_test-1.2.2.5 test/deep_test/server_test.rb
jason-o-matic-deep_test-1.2.2.6 test/deep_test/server_test.rb
jason-o-matic-deep_test-1.2.2.7 test/deep_test/server_test.rb
jason-o-matic-deep_test-1.2.2.8 test/deep_test/server_test.rb
jason-o-matic-deep_test-1.2.2.9 test/deep_test/server_test.rb
jperkins-deep_test-1.2.2 test/deep_test/server_test.rb
jason-o-matic-deep_test-1.2.2.15 test/deep_test/server_test.rb
jstorimer-deep-test-1.4.0 test/deep_test/server_test.rb
jstorimer-deep-test-1.3.0 test/deep_test/server_test.rb
jstorimer-deep-test-1.2.0 test/deep_test/server_test.rb
jstorimer-deep-test-1.1.0 test/deep_test/server_test.rb