assert_nil cr.container_uuid
end
- test "Container request constraints must include valid vcpus and ram fields when committed" do
- set_user_from_auth :active
- cr = create_minimal_req!(state: "Committed", priority: 1)
- assert_raises(ActiveRecord::RecordInvalid) do
- cr.runtime_constraints = {"vcpus" => 1}
- cr.save!
+ [
+ {"vcpus" => 1},
+ {"vcpus" => 1, "ram" => nil},
+ {"vcpus" => 0, "ram" => 123},
+ {"vcpus" => "1", "ram" => "123"}
+ ].each do |invalid_constraints|
+ test "Create with #{invalid_constraints}" do
+ set_user_from_auth :active
+ assert_raises(ActiveRecord::RecordInvalid) do
+ cr = create_minimal_req!(state: "Committed",
+ priority: 1,
+ runtime_constraints: invalid_constraints)
+ cr.save!
+ end
end
- assert_raises(ActiveRecord::RecordInvalid) do
- cr.runtime_constraints = {"vcpus" => 1, "ram" => nil}
+
+ test "Update with #{invalid_constraints}" do
+ set_user_from_auth :active
+ cr = create_minimal_req!(state: "Uncommitted", priority: 1)
cr.save!
+ assert_raises(ActiveRecord::RecordInvalid) do
+ cr = ContainerRequest.find_by_uuid cr.uuid
+ cr.update_attributes!(state: "Committed",
+ runtime_constraints: invalid_constraints)
+ end
end
- assert_raises(ActiveRecord::RecordInvalid) do
- cr.runtime_constraints = {"vcpus" => 0, "ram" => 123}
+ end
+
+ test "Update from fixture" do
+ set_user_from_auth :active
+ cr = ContainerRequest.find_by_uuid(container_requests(:running).uuid)
+ cr.update_attributes!(description: "New description")
+ assert_equal "New description", cr.description
+ end
+
+ test "Update with valid runtime constraints" do
+ set_user_from_auth :active
+ cr = create_minimal_req!(state: "Uncommitted", priority: 1)
cr.save!
- end
+ cr = ContainerRequest.find_by_uuid cr.uuid
+ cr.update_attributes!(state: "Committed",
+ runtime_constraints: {"vcpus" => 1, "ram" => 23})
+ assert_not_nil cr.container_uuid
end
test "Container request priority must be non-nil" do