X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/46a6199f3a40a24ee145adc390500190b17a6395..0adb096afc227db376823f84956de6d7ea30dc10:/services/api/test/functional/arvados/v1/virtual_machines_controller_test.rb diff --git a/services/api/test/functional/arvados/v1/virtual_machines_controller_test.rb b/services/api/test/functional/arvados/v1/virtual_machines_controller_test.rb index 8ca2a94c8d..02191ecae9 100644 --- a/services/api/test/functional/arvados/v1/virtual_machines_controller_test.rb +++ b/services/api/test/functional/arvados/v1/virtual_machines_controller_test.rb @@ -1,3 +1,7 @@ +# Copyright (C) The Arvados Authors. All rights reserved. +# +# SPDX-License-Identifier: AGPL-3.0 + require 'test_helper' class Arvados::V1::VirtualMachinesControllerTest < ActionController::TestCase @@ -33,7 +37,6 @@ class Arvados::V1::VirtualMachinesControllerTest < ActionController::TestCase test "groups is an empty list by default" do get_logins_for(:testvm2) active_login = find_login(:active) - perm = links(:active_can_login_to_testvm2) assert_equal([], active_login["groups"]) end @@ -44,4 +47,32 @@ class Arvados::V1::VirtualMachinesControllerTest < ActionController::TestCase assert_empty(json_response. select { |login| login["user_uuid"] == spectator_uuid }) end + + test "logins without ssh keys are listed" do + u, vm = nil + act_as_system_user do + u = create :active_user, first_name: 'Bob', last_name: 'Blogin' + vm = VirtualMachine.create! hostname: 'foo.shell' + Link.create!(tail_uuid: u.uuid, + head_uuid: vm.uuid, + link_class: 'permission', + name: 'can_login', + properties: {'username' => 'bobblogin'}) + end + authorize_with :admin + get :logins, id: vm.uuid + assert_response :success + assert_equal 1, json_response['items'].length + assert_nil json_response['items'][0]['public_key'] + assert_nil json_response['items'][0]['authorized_key_uuid'] + assert_equal u.uuid, json_response['items'][0]['user_uuid'] + assert_equal 'bobblogin', json_response['items'][0]['username'] + end + + test 'get all logins' do + authorize_with :admin + get :get_all_logins + find_login :admin + find_login :active + end end