assert_nil json_response['auth']
end
- test "lock and unlock container" do
- # lock container
+ test "lock container" do
authorize_with :dispatch1
- post :lock, {id: containers(:queued).uuid}
+ uuid = containers(:queued).uuid
+ post :lock, {id: uuid}
assert_response :success
- container = Container.where(uuid: containers(:queued).uuid).first
+ container = Container.where(uuid: uuid).first
assert_equal 'Locked', container.state
assert_not_nil container.locked_by_uuid
assert_not_nil container.auth_uuid
+ end
- # unlock container
- @test_counter = 0 # Reset executed action counter
- @controller = Arvados::V1::ContainersController.new
+ test "unlock container" do
authorize_with :dispatch1
- post :unlock, {id: container.uuid}
+ uuid = containers(:locked).uuid
+ post :unlock, {id: uuid}
assert_response :success
- container = Container.where(uuid: container.uuid).first
+ container = Container.where(uuid: uuid).first
assert_equal 'Queued', container.state
assert_nil container.locked_by_uuid
assert_nil container.auth_uuid
end
- def create_new_container attrs={}
- attrs = {
- command: ['echo', 'foo'],
- container_image: 'img',
- output_path: '/tmp',
- priority: 1,
- runtime_constraints: {"vcpus" => 1, "ram" => 1},
- }
- c = Container.new attrs.merge(attrs)
- c.save!
- cr = ContainerRequest.new attrs.merge(attrs)
- cr.save!
- assert cr.update_attributes(container_uuid: c.uuid,
- state: ContainerRequest::Committed,
- ), show_errors(cr)
- return c
- end
-
[
[:queued, :lock, :success, 'Locked'],
- [:queued, :unlock, 403, 'Queued'],
- [:locked, :lock, 403, 'Locked'],
+ [:queued, :unlock, 422, 'Queued'],
+ [:locked, :lock, 422, 'Locked'],
[:running, :lock, 422, 'Running'],
[:running, :unlock, 422, 'Running'],
].each do |fixture, action, response, state|