X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/49d953403625ca145081f9ccd914e70d49e51d49..eeef002557bc361a10483d1924c49e35e8a23fde:/services/api/test/functional/arvados/v1/keep_disks_controller_test.rb diff --git a/services/api/test/functional/arvados/v1/keep_disks_controller_test.rb b/services/api/test/functional/arvados/v1/keep_disks_controller_test.rb index a41531afe5..c5bff7b0cc 100644 --- a/services/api/test/functional/arvados/v1/keep_disks_controller_test.rb +++ b/services/api/test/functional/arvados/v1/keep_disks_controller_test.rb @@ -1,13 +1,19 @@ +# Copyright (C) The Arvados Authors. All rights reserved. +# +# SPDX-License-Identifier: AGPL-3.0 + require 'test_helper' class Arvados::V1::KeepDisksControllerTest < ActionController::TestCase + def default_ping_opts + {ping_secret: '', service_ssl_flag: false, service_port: 1234} + end + test "add keep disk with admin token" do authorize_with :admin - post :ping, { - ping_secret: '', # required by discovery doc, but ignored - filesystem_uuid: 'eb1e77a1-db84-4193-b6e6-ca2894f67d5f' - } + post :ping, default_ping_opts. + merge(filesystem_uuid: 'eb1e77a1-db84-4193-b6e6-ca2894f67d5f') assert_response :success assert_not_nil assigns(:object) new_keep_disk = JSON.parse(@response.body) @@ -16,33 +22,28 @@ class Arvados::V1::KeepDisksControllerTest < ActionController::TestCase assert_not_equal '', new_keep_disk['ping_secret'] end - test "add keep disk with no filesystem_uuid" do - authorize_with :admin - opts = { - ping_secret: '', - } - post :ping, opts - assert_response :success - assert_not_nil JSON.parse(@response.body)['uuid'] - - post :ping, opts.merge(filesystem_uuid: '') - assert_response :success - assert_not_nil JSON.parse(@response.body)['uuid'] + [ + {}, + {filesystem_uuid: ''}, + ].each do |opts| + test "add keep disk with[out] filesystem_uuid #{opts}" do + authorize_with :admin + post :ping, default_ping_opts.merge(opts) + assert_response :success + assert_not_nil JSON.parse(@response.body)['uuid'] + end end test "refuse to add keep disk without admin token" do - post :ping, { - ping_secret: '', - } + post :ping, default_ping_opts assert_response 404 end test "ping keep disk" do - post :ping, { - id: keep_disks(:nonfull).uuid, - ping_secret: keep_disks(:nonfull).ping_secret, - filesystem_uuid: keep_disks(:nonfull).filesystem_uuid - } + post :ping, default_ping_opts. + merge(id: keep_disks(:nonfull).uuid, + ping_secret: keep_disks(:nonfull).ping_secret, + filesystem_uuid: keep_disks(:nonfull).filesystem_uuid) assert_response :success assert_not_nil assigns(:object) keep_disk = JSON.parse(@response.body)