Sha256: 7af79c2b346c5bbf96a86982190fb43f7e6b7baaa6c8246f1493b1455350fdb4
Contents?: true
Size: 1.45 KB
Versions: 3
Compression:
Stored size: 1.45 KB
Contents
require 'test_helper' class WorkUnitTest < Test::Unit::TestCase context "A WorkUnit" do setup do @unit = CloudCrowd::WorkUnit.make @job = @unit.job end subject { @unit } should_belong_to :job should_validate_presence_of :job_id, :status, :input, :action should "know if its done" do assert !@unit.complete? @unit.status = CloudCrowd::SUCCEEDED assert @unit.complete? @unit.status = CloudCrowd::FAILED assert @unit.complete? @unit.expects :check_for_job_completion @unit.save end should "have JSON that includes job attributes" do job = CloudCrowd::Job.make unit_data = JSON.parse(job.work_units.first.to_json) assert unit_data['job_id'] == job.id assert unit_data['action'] == job.action assert JSON.parse(job.inputs).include? unit_data['input'] end should "be able to retry, on failure" do @unit.update_attribute :worker_record_id, 10 assert @unit.attempts == 0 @unit.fail('oops', 10) assert @unit.worker_record == nil assert @unit.attempts == 1 assert @unit.processing? @unit.fail('oops again', 10) assert @unit.attempts == 2 assert @unit.processing? assert @unit.job.processing? @unit.fail('oops one last time', 10) assert @unit.attempts == 3 assert @unit.failed? assert @unit.job.any_work_units_failed? end end end
Version data entries
3 entries across 3 versions & 2 rubygems
Version | Path |
---|---|
documentcloud-cloud-crowd-0.0.6 | test/unit/test_work_unit.rb |
documentcloud-cloud-crowd-0.1.0 | test/unit/test_work_unit.rb |
cloud-crowd-0.1.0 | test/unit/test_work_unit.rb |