X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/0561bd0c3c07257fd58ded6c7cfa5feeae97af57..dd2e6f664a3e59e02349901a04e182bda6286f6f:/services/api/test/functional/arvados/v1/nodes_controller_test.rb diff --git a/services/api/test/functional/arvados/v1/nodes_controller_test.rb b/services/api/test/functional/arvados/v1/nodes_controller_test.rb index f9e5be454e..dc8b3acdd7 100644 --- a/services/api/test/functional/arvados/v1/nodes_controller_test.rb +++ b/services/api/test/functional/arvados/v1/nodes_controller_test.rb @@ -78,6 +78,48 @@ class Arvados::V1::NodesControllerTest < ActionController::TestCase assert_not_nil json_response['uuid'] assert_not_nil json_response['info'].is_a? Hash assert_not_nil json_response['info']['ping_secret'] + assert_nil json_response['slot_number'] + assert_nil json_response['hostname'] + end + + test "create node and assign slot" do + authorize_with :admin + post :create, {node: {}, assign_slot: true} + assert_response :success + assert_not_nil json_response['uuid'] + assert_not_nil json_response['info'].is_a? Hash + assert_not_nil json_response['info']['ping_secret'] + assert_operator 0, :<, json_response['slot_number'] + n = json_response['slot_number'] + assert_equal "compute#{n}", json_response['hostname'] + + node = Node.where(uuid: json_response['uuid']).first + assert_equal n, node.slot_number + assert_equal "compute#{n}", node.hostname + end + + test "update node and assign slot" do + authorize_with :admin + node = nodes(:new_with_no_hostname) + post :update, {id: node.uuid, node: {}, assign_slot: true} + assert_response :success + assert_operator 0, :<, json_response['slot_number'] + n = json_response['slot_number'] + assert_equal "compute#{n}", json_response['hostname'] + + node.reload + assert_equal n, node.slot_number + assert_equal "compute#{n}", node.hostname + end + + test "update node and assign slot, don't clobber hostname" do + authorize_with :admin + node = nodes(:new_with_custom_hostname) + post :update, {id: node.uuid, node: {}, assign_slot: true} + assert_response :success + assert_operator 0, :<, json_response['slot_number'] + n = json_response['slot_number'] + assert_equal "custom1", json_response['hostname'] end test "ping adds node stats to info" do