[ARVADOS] created: 46f3209309e5e927fe368ce496e6b255912aa3c6

Git user git at public.curoverse.com
Wed Sep 14 10:20:01 EDT 2016


        at  46f3209309e5e927fe368ce496e6b255912aa3c6 (commit)


commit 46f3209309e5e927fe368ce496e6b255912aa3c6
Author: radhika <radhika at curoverse.com>
Date:   Wed Sep 14 10:03:26 2016 -0400

    9970: Invalidate record if a requesting_container_uuid is provided at create.

diff --git a/services/api/app/models/container_request.rb b/services/api/app/models/container_request.rb
index a56c341..b8c3ed5 100644
--- a/services/api/app/models/container_request.rb
+++ b/services/api/app/models/container_request.rb
@@ -248,6 +248,7 @@ class ContainerRequest < ArvadosModel
   end
 
   def set_requesting_container_uuid
+    return false if self.requesting_container_uuid && new_record?
     return true if self.requesting_container_uuid   # already set
 
     token_uuid = current_api_client_authorization.andand.uuid
diff --git a/services/api/test/unit/container_request_test.rb b/services/api/test/unit/container_request_test.rb
index ebd6a5a..7b7eef4 100644
--- a/services/api/test/unit/container_request_test.rb
+++ b/services/api/test/unit/container_request_test.rb
@@ -242,7 +242,9 @@ class ContainerRequestTest < ActiveSupport::TestCase
     c = Container.find_by_uuid cr.container_uuid
     assert_equal 5, c.priority
 
-    cr2 = create_minimal_req!(priority: 10, state: "Committed", requesting_container_uuid: c.uuid)
+    cr2 = create_minimal_req!
+    cr2.update_attributes!(priority: 10, state: "Committed", requesting_container_uuid: c.uuid)
+    cr2.reload
 
     c2 = Container.find_by_uuid cr2.container_uuid
     assert_equal 10, c2.priority
@@ -395,4 +397,11 @@ class ContainerRequestTest < ActiveSupport::TestCase
     assert_not_empty Container.readable_by(users(:active)).where(uuid: containers(:running).uuid)
     assert_empty Container.readable_by(users(:spectator)).where(uuid: containers(:running).uuid)
   end
+
+  test "requesting_container_uuid at create is not allowed" do
+    set_user_from_auth :active
+    assert_raises(ActiveRecord::RecordNotSaved) do
+      create_minimal_req!(state: "Uncommitted", priority: 1, requesting_container_uuid: 'youcantdothat')
+    end
+  end
 end

-----------------------------------------------------------------------


hooks/post-receive
-- 




More information about the arvados-commits mailing list