From ca39b9388772167f54f7a0c1b1ea1a0ab95c69ec Mon Sep 17 00:00:00 2001
From: Albert Gil <albert.gil@schedmd.com>
Date: Wed, 24 Feb 2021 19:12:53 +0100
Subject: [PATCH] Testsuite - Add the user parameter to get_admin_level and
 is_super_user

This will help us to work with testsuite_user.

Bug 9313

Signed-off-by: Chad Vizino <chad@schedmd.com>
---
 testsuite/expect/globals | 29 ++++++++++++++++-------------
 1 file changed, 16 insertions(+), 13 deletions(-)

diff --git a/testsuite/expect/globals b/testsuite/expect/globals
index a4f4f8ebcf3..df540f62670 100755
--- a/testsuite/expect/globals
+++ b/testsuite/expect/globals
@@ -3042,7 +3042,7 @@ proc get_total_cpus {} {
 #	is_super_user - determines if user is root or SlurmUser
 #
 # SYNOPSIS
-#	is_super_user
+#	is_super_user ?user?
 #
 # DESCRIPTION
 #	Determine if user is a Slurm super user (i.e. user
@@ -3053,10 +3053,12 @@ proc get_total_cpus {} {
 #
 ################################################################
 
-proc is_super_user { } {
+proc is_super_user {{user ""}} {
 	global number
 
-	set user [get_my_user_name]
+	if {$user == ""} {
+		set user [get_my_user_name]
+	}
 
 	# Check if user is root
 	if {[string compare $user "root"] == 0} {
@@ -3462,30 +3464,31 @@ proc get_job_acct_freq { } {
 ################################################################
 #
 # NAME
-#	get_admin_level - gets the AdminLevel for the current user
+#	get_admin_level - gets the AdminLevel of the user
 #
 # SYNOPSIS
-#	get_admin_level
+#	get_admin_level ?user?
 #
 # RETURN VALUE
 #	AdminLevel for the current user
 #
 ################################################################
 
-proc get_admin_level { } {
+proc get_admin_level {{user_name ""}} {
 	global sacctmgr re_word_str re_word_str bin_id
 
 	set admin_level ""
-	set user_name ""
 
-	if {[is_super_user]} {
-		return "Administrator"
+	if {$user_name == ""} {
+		set user_name [get_my_user_name]
+		if { ![string length $user_name] } {
+			log_error "No name returned from id"
+			return ""
+		}
 	}
 
-	set user_name [get_my_user_name]
-	if { ![string length $user_name] } {
-		log_error "No name returned from id"
-		return ""
+	if {[is_super_user $user_name]} {
+		return "Administrator"
 	}
 
 	#
-- 
GitLab