Sha256: dd38fb963d70b5aad3886dfbb9989d8d1de607101f78f84939dfe0a437897d0d

Contents?: true

Size: 1.48 KB

Versions: 5

Compression:

Stored size: 1.48 KB

Contents

require 'spec_helper'

module GovernorBackground
  describe JobManager do
    before(:each) do
      JobManager.jobs.clear
    end
    it "keeps track of jobs" do
      job = mock()
      JobManager.add(job)
      JobManager.jobs.size.should == 1
    end
    
    it "can remove old jobs" do
      JobManager.add(mock(:created_at => 2.days.ago))
      JobManager.add(mock(:created_at => 3.hours.ago))
      JobManager.add(mock(:created_at => Time.now))
      JobManager.jobs.size.should == 3
      JobManager.clean
      JobManager.jobs.size.should == 2
    end
    
    it "can remove old jobs specified by time" do
      JobManager.add(mock(:created_at => 2.days.ago))
      JobManager.add(mock(:created_at => 3.hours.ago))
      JobManager.add(mock(:created_at => Time.now))
      JobManager.jobs.size.should == 3
      JobManager.clean(2.hours.ago)
      JobManager.jobs.size.should == 1
    end
    
    it "will return all finished jobs and remove them from the list" do
      JobManager.add(queued    = mock('queued',    :status => 'queued'))
      JobManager.add(working   = mock('working',   :status => 'working'))
      JobManager.add(completed = mock('completed', :status => 'completed'))
      JobManager.add(failed    = mock('failed',    :status => 'failed'))
      JobManager.add(killed    = mock('killed',    :status => 'killed'))
      
      JobManager.jobs.size.should == 5
      JobManager.finished_jobs.should == [completed, failed, killed]
      JobManager.jobs.size.should == 2
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
governor_background-0.3.0 spec/governor_background/job_manager_spec.rb
governor_background-0.2.2 spec/governor_background/job_manager_spec.rb
governor_background-0.2.1 spec/governor_background/job_manager_spec.rb
governor_background-0.2.0 spec/governor_background/job_manager_spec.rb
governor_background-0.1.0 spec/governor_background/job_manager_spec.rb