github.com/juju/juju@v0.0.0-20240430160146-1752b71fcf00/tests/suites/user/register.sh (about)

     1  run_user_register() {
     2  	echo
     3  
     4  	echo "Check that current user is admin"
     5  	juju whoami --format=json | jq -r '."user"' | check "admin"
     6  
     7  	echo "Add user with read rights"
     8  	juju remove-user -y bob 2>/dev/null || true
     9  	OUT=$(juju add-user bob)
    10  	REG_CMD=$(echo $OUT | awk '{for (i=0; i<=NF; i++){if ($i == "register"){print $(i-1)" "$(i)" "$(i+1);exit}}}')
    11  	if [[ ${REG_CMD} != "juju register "* ]]; then
    12  		echo "unexpected juju register output"
    13  		echo "${OUT}"
    14  	fi
    15  	juju grant bob read "test-user"
    16  
    17  	rm -rf /tmp/bob || true
    18  	mkdir -p /tmp/bob
    19  	printf 'secret\nsecret\ntest\nsecret\n' | JUJU_DATA=/tmp/bob ${REG_CMD}
    20  	MODELS=$(JUJU_DATA=/tmp/bob juju models)
    21  	check_contains "${MODELS}" "admin/test-user"
    22  }
    23  
    24  test_user_register() {
    25  	if [ -n "$(skip 'test_user_register')" ]; then
    26  		echo "==> SKIP: Asked to skip user register tests"
    27  		return
    28  	fi
    29  
    30  	(
    31  		set_verbosity
    32  
    33  		cd .. || exit
    34  
    35  		run "run_user_register"
    36  	)
    37  }