9687: Added method to access container's exit_code. Updated test to explicitly test...
authorLucas Di Pentima <lucas@curoverse.com>
Tue, 30 Aug 2016 12:27:17 +0000 (09:27 -0300)
committerLucas Di Pentima <lucas@curoverse.com>
Tue, 30 Aug 2016 12:27:17 +0000 (09:27 -0300)
apps/workbench/app/models/container_work_unit.rb
apps/workbench/test/unit/work_unit_test.rb

index 2102a129ea4dbc7b1839c579d81a2adaa26b4ad9..248c76351a5d01124b77d450e3e3b8859a3d27d8 100644 (file)
@@ -76,10 +76,14 @@ class ContainerWorkUnit < ProxyWorkUnit
 
   def state_label
     exit_code = get_combined(:exit_code)
-    "Failed" if (exit_code && exit_code != 0)
+    return "Failed" if (exit_code && exit_code != 0)
     get_combined(:state)
   end
 
+  def exit_code
+    get_combined(:exit_code)
+  end
+
   def docker_image
     get_combined(:container_image)
   end
index 5d4c77c426c4254a1660922d3a0612e0388ce534..304dc8ba328aefb6f38708a96b833b1c1e4bf6b8 100644 (file)
@@ -36,14 +36,15 @@ class WorkUnitTest < ActiveSupport::TestCase
   end
 
   [
-    ['cr_for_failed', true],
-    ['completed', false],
-  ].each do |cr_fixture, should_be_Failed|
-    test "state_label of ContainerRequest #{cr_fixture}" do
+    ['cr_for_failed', 'Failed', 33],
+    ['completed', 'Complete', 0],
+  ].each do |cr_fixture, state, exit_code|
+    test "Completed ContainerRequest state = #{state} with exit_code = #{exit_code}" do
       use_token 'active'
       obj = find_fixture(ContainerRequest, cr_fixture)
       wu = obj.work_unit
-      assert_equal should_be_Failed, ("Failed" == wu.state_label)
+      assert_equal state, wu.state_label
+      assert_equal exit_code, wu.exit_code
     end
   end