Sha256: 1e82e42f3beeeb823910c78bdacde60483a6a930050a5b76ee9b4bcf1d9fffde

Contents?: true

Size: 1.11 KB

Versions: 1

Compression:

Stored size: 1.11 KB

Contents

# vim:fileencoding=utf-8
require_relative 'test_helper'

context 'Env' do
  def new_env(options = {})
    Resque::Scheduler::Env.new(options)
  end

  test 'daemonizes when background is true' do
    Process.expects(:daemon)
    env = new_env(background: true)
    env.setup
  end

  test 'reconnects redis when background is true' do
    Process.stubs(:daemon)
    mock_redis_client = mock('redis_client')
    mock_redis = mock('redis')
    mock_redis.expects(:client).returns(mock_redis_client)
    mock_redis_client.expects(:reconnect)
    Resque.expects(:redis).returns(mock_redis)
    env = new_env(background: true)
    env.setup
  end

  test 'aborts when background is given and Process does not support daemon' do
    Process.stubs(:daemon)
    Process.expects(:respond_to?).with('daemon').returns(false)
    env = new_env(background: true)
    env.expects(:abort)
    env.setup
  end

  test 'writes pid to pidfile when given' do
    mock_pidfile = mock('pidfile')
    mock_pidfile.expects(:puts)
    File.expects(:open).with('derp.pid', 'w').yields(mock_pidfile)
    env = new_env(pidfile: 'derp.pid')
    env.setup
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
resque-scheduler-3.0.0 test/env_test.rb