X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/d61f56590d4c1bc2c965b640698217a5d4af1d8c..4077a9af0985d3c85f2f2de2bb7a0f6be581e71e:/services/api/test/unit/pipeline_instance_test.rb diff --git a/services/api/test/unit/pipeline_instance_test.rb b/services/api/test/unit/pipeline_instance_test.rb index 7b618140d1..93354f8b1e 100644 --- a/services/api/test/unit/pipeline_instance_test.rb +++ b/services/api/test/unit/pipeline_instance_test.rb @@ -5,9 +5,7 @@ class PipelineInstanceTest < ActiveSupport::TestCase test "check active and success for a pipeline in new state" do pi = pipeline_instances :new_pipeline - assert !pi.active, 'expected active to be false for a new pipeline' - assert !pi.success, 'expected success to be false for a new pipeline' - assert !pi.state, 'expected state to be nil because the fixture had no state specified' + assert_equal 'New', pi.state, 'expected state to be New for :new_pipeline' # save the pipeline and expect state to be New Thread.current[:user] = users(:admin) @@ -15,8 +13,16 @@ class PipelineInstanceTest < ActiveSupport::TestCase pi.save pi = PipelineInstance.find_by_uuid 'zzzzz-d1hrv-f4gneyn6br1xize' assert_equal PipelineInstance::New, pi.state, 'expected state to be New for new pipeline' - assert !pi.active, 'expected active to be false for a new pipeline' - assert !pi.success, 'expected success to be false for a new pipeline' + end + + test "check active and success for a newly created pipeline" do + set_user_from_auth :active + + pi = PipelineInstance.create(state: 'Ready') + pi.save + + assert pi.valid?, 'expected newly created empty pipeline to be valid ' + pi.errors.messages.to_s + assert_equal 'Ready', pi.state, 'expected state to be Ready for a new empty pipeline' end test "update attributes for pipeline" do @@ -32,8 +38,6 @@ class PipelineInstanceTest < ActiveSupport::TestCase pi = PipelineInstance.find_by_uuid 'zzzzz-d1hrv-f4gneyn6br1xize' assert_equal PipelineInstance::New, pi.state, 'expected state to be New after adding component with input' assert_equal pi.components.size, 1, 'expected one component' - assert !pi.active, 'expected active to be false after update' - assert !pi.success, 'expected success to be false for a new pipeline' # add a component with no input not required component = {'script_parameters' => {"input_not_provided" => {"required" => false}}} @@ -43,8 +47,6 @@ class PipelineInstanceTest < ActiveSupport::TestCase pi = PipelineInstance.find_by_uuid 'zzzzz-d1hrv-f4gneyn6br1xize' assert_equal PipelineInstance::Ready, pi.state, 'expected state to be Ready after adding component with input' assert_equal pi.components.size, 1, 'expected one component' - assert !pi.active, 'expected active to be false after update' - assert !pi.success, 'expected success to be false for a new pipeline' # add a component with input and expect state to become Ready component = {'script_parameters' => {"input" => "yyyad4b39ca5a924e481008009d94e32+210"}} @@ -54,57 +56,31 @@ class PipelineInstanceTest < ActiveSupport::TestCase pi = PipelineInstance.find_by_uuid 'zzzzz-d1hrv-f4gneyn6br1xize' assert_equal PipelineInstance::Ready, pi.state, 'expected state to be Ready after adding component with input' assert_equal pi.components.size, 1, 'expected one component' - assert !pi.active, 'expected active to be false after update' - assert !pi.success, 'expected success to be false for a new pipeline' - - pi.active = true - pi.save - pi = PipelineInstance.find_by_uuid 'zzzzz-d1hrv-f4gneyn6br1xize' - assert_equal PipelineInstance::RunningOnServer, pi.state, 'expected state to be RunningOnServer after updating active to true' - assert pi.active, 'expected active to be true after update' - assert !pi.success, 'expected success to be false for a new pipeline' - - pi.success = false - pi.save - pi = PipelineInstance.find_by_uuid 'zzzzz-d1hrv-f4gneyn6br1xize' - assert_equal PipelineInstance::Failed, pi.state, 'expected state to be Failed after updating success to false' - assert !pi.active, 'expected active to be false after update' - assert !pi.success, 'expected success to be false for a new pipeline' pi.state = PipelineInstance::RunningOnServer pi.save pi = PipelineInstance.find_by_uuid 'zzzzz-d1hrv-f4gneyn6br1xize' assert_equal PipelineInstance::RunningOnServer, pi.state, 'expected state to be RunningOnServer after updating state to RunningOnServer' - assert pi.active, 'expected active to be true after update' - assert !pi.success, 'expected success to be alse after update' pi.state = PipelineInstance::Paused pi.save pi = PipelineInstance.find_by_uuid 'zzzzz-d1hrv-f4gneyn6br1xize' assert_equal PipelineInstance::Paused, pi.state, 'expected state to be Paused after updating state to Paused' - assert !pi.active, 'expected active to be false after update' - assert !pi.success, 'expected success to be false after update' pi.state = PipelineInstance::Complete pi.save pi = PipelineInstance.find_by_uuid 'zzzzz-d1hrv-f4gneyn6br1xize' assert_equal PipelineInstance::Complete, pi.state, 'expected state to be Complete after updating state to Complete' - assert !pi.active, 'expected active to be false after update' - assert pi.success, 'expected success to be true after update' pi.state = 'bogus' pi.save pi = PipelineInstance.find_by_uuid 'zzzzz-d1hrv-f4gneyn6br1xize' assert_equal PipelineInstance::Complete, pi.state, 'expected state to be unchanged with set to a bogus value' - assert !pi.active, 'expected active to be false after update' - assert pi.success, 'expected success to be true after update' pi.state = PipelineInstance::Failed pi.save pi = PipelineInstance.find_by_uuid 'zzzzz-d1hrv-f4gneyn6br1xize' assert_equal PipelineInstance::Failed, pi.state, 'expected state to be Failed after updating state to Failed' - assert !pi.active, 'expected active to be false after update' - assert !pi.success, 'expected success to be false after update' end test "update attributes for pipeline with two components" do @@ -123,8 +99,6 @@ class PipelineInstanceTest < ActiveSupport::TestCase pi = PipelineInstance.find_by_uuid 'zzzzz-d1hrv-f4gneyn6br1xize' assert_equal PipelineInstance::New, pi.state, 'expected state to be New after adding component with input' assert_equal pi.components.size, 2, 'expected two components' - assert !pi.active, 'expected active to be false after update' - assert !pi.success, 'expected success to be false for a new pipeline' end [:has_component_with_no_script_parameters, @@ -133,9 +107,6 @@ class PipelineInstanceTest < ActiveSupport::TestCase pi = pipeline_instances pi_name Thread.current[:user] = users(:active) - # Make sure we go through the "active_changed? and active" code: - pi.update_attributes active: true - pi.update_attributes active: false assert_equal PipelineInstance::Ready, pi.state end end