Blame src/lib/kadm5/unit-test/api.current/get-principal-v2.exp

Packit fd8b60
load_lib lib.t
Packit fd8b60
api_exit
Packit fd8b60
api_start
Packit fd8b60
Packit fd8b60
test "get-principal 100"
Packit fd8b60
proc test100 {} {
Packit fd8b60
    global test prompt
Packit fd8b60
Packit fd8b60
    if {! [cmd {
Packit fd8b60
	kadm5_init admin admin $KADM5_ADMIN_SERVICE null \
Packit fd8b60
		$KADM5_STRUCT_VERSION $KADM5_API_VERSION_3 \
Packit fd8b60
		server_handle
Packit fd8b60
    }]} {
Packit fd8b60
	perror "$test: unexpected failure in init"
Packit fd8b60
	return
Packit fd8b60
    }
Packit fd8b60
    if {! [cmd {
Packit fd8b60
	kadm5_get_principal $server_handle testuser p \
Packit fd8b60
		{KADM5_PRINCIPAL_NORMAL_MASK}
Packit fd8b60
    }]} {
Packit fd8b60
	perror "$test: unexpected failure in get_principal"
Packit fd8b60
    }
Packit fd8b60
    send "lindex \$p 16\n"
Packit fd8b60
    expect {
Packit fd8b60
	-re "(\[0-9\]+)\n$prompt" { set num_keys $expect_out(1,string) }
Packit fd8b60
	timeout {
Packit fd8b60
	    error_and_restart "$test: timeout getting num_keys"
Packit fd8b60
	    return
Packit fd8b60
	}
Packit fd8b60
	eof {
Packit fd8b60
	    error_and_restart "$test: eof getting num_keys"
Packit fd8b60
	    return
Packit fd8b60
	}
Packit fd8b60
    }
Packit fd8b60
    send "lindex \$p 17\n"
Packit fd8b60
    expect {
Packit fd8b60
	-re "(\[0-9\]+)\n$prompt" { set num_tl $expect_out(1,string) }
Packit fd8b60
	timeout {
Packit fd8b60
	    error_and_restart "$test: timeout getting num_tl"
Packit fd8b60
	    return
Packit fd8b60
	}
Packit fd8b60
	eof {
Packit fd8b60
	    error_and_restart "$test: eof getting num_tl"
Packit fd8b60
	    return
Packit fd8b60
	}
Packit fd8b60
    }
Packit fd8b60
    send "lindex \$p 18\n"
Packit fd8b60
    expect {
Packit fd8b60
	-re "({.*})\n$prompt" {set key_data $expect_out(1,string) }
Packit fd8b60
	-re "\n$prompt" { set key_data {} }
Packit fd8b60
	timeout {
Packit fd8b60
	    error_and_restart "$test: timeout getting key_data"
Packit fd8b60
	    return
Packit fd8b60
	}
Packit fd8b60
	eof {
Packit fd8b60
	    error_and_restart "$test: eof getting key_data"
Packit fd8b60
	    return
Packit fd8b60
	}
Packit fd8b60
    }
Packit fd8b60
    send "lindex \$p 19\n"
Packit fd8b60
    expect {
Packit fd8b60
	-re "({.*})\n$prompt" {set tl_data $expect_out(1,string) }
Packit fd8b60
	-re "\n$prompt" { set tl_data {} }
Packit fd8b60
	timeout {
Packit fd8b60
	    error_and_restart "$test: timeout getting tl_data"
Packit fd8b60
	    return
Packit fd8b60
	}
Packit fd8b60
	eof {
Packit fd8b60
	    error_and_restart "$test: eof getting tl_data"
Packit fd8b60
	    return
Packit fd8b60
	}
Packit fd8b60
    }
Packit fd8b60
    
Packit fd8b60
    set failed 0
Packit fd8b60
    if {$num_keys != 0} {
Packit fd8b60
	fail "$test: num_keys $num_keys should be 0"
Packit fd8b60
	set failed 1
Packit fd8b60
    }
Packit fd8b60
    if {$num_tl != 0} {
Packit fd8b60
	fail "$test: num_tl $num_tl should be 0"
Packit fd8b60
	set failed 1
Packit fd8b60
    }
Packit fd8b60
    if {$key_data != {}} {
Packit fd8b60
	fail "$test: key_data $key_data should be {}"
Packit fd8b60
	set failed 1
Packit fd8b60
    }
Packit fd8b60
    if {$tl_data != "{}"} {
Packit fd8b60
	fail "$test: tl_data $tl_data should be empty"
Packit fd8b60
	set failed 1
Packit fd8b60
    }
Packit fd8b60
    if {$failed == 0} {
Packit fd8b60
	pass "$test"
Packit fd8b60
    }
Packit fd8b60
Packit fd8b60
    if { ! [cmd {kadm5_destroy $server_handle}]} {
Packit fd8b60
	perror "$test: unexpected failure in destroy"
Packit fd8b60
	return
Packit fd8b60
    }
Packit fd8b60
}
Packit fd8b60
test100
Packit fd8b60
Packit fd8b60
proc test101_102 {rpc} {
Packit fd8b60
    global test prompt
Packit fd8b60
Packit fd8b60
    if {! [cmd {
Packit fd8b60
	kadm5_init admin admin $KADM5_ADMIN_SERVICE null \
Packit fd8b60
		$KADM5_STRUCT_VERSION $KADM5_API_VERSION_3 \
Packit fd8b60
		server_handle
Packit fd8b60
    }]} {
Packit fd8b60
	perror "$test: unexpected failure in init"
Packit fd8b60
	return
Packit fd8b60
    }
Packit fd8b60
    if {! [cmd {
Packit fd8b60
	kadm5_get_principal $server_handle testuser p \
Packit fd8b60
		{KADM5_PRINCIPAL_NORMAL_MASK KADM5_KEY_DATA}
Packit fd8b60
    }]} {
Packit fd8b60
	perror "$test: unexpected failure in get_principal"
Packit fd8b60
    }
Packit fd8b60
    send "lindex \$p 16\n"
Packit fd8b60
    expect {
Packit fd8b60
	-re "(\[0-9\]+)\n$prompt" { set num_keys $expect_out(1,string) }
Packit fd8b60
	timeout {
Packit fd8b60
	    error_and_restart "$test: timeout getting num_keys"
Packit fd8b60
	    return
Packit fd8b60
	}
Packit fd8b60
	eof {
Packit fd8b60
	    error_and_restart "$test: eof getting num_keys"
Packit fd8b60
	    return
Packit fd8b60
	}
Packit fd8b60
    }
Packit fd8b60
    send "lindex \$p 18\n"
Packit fd8b60
    expect {
Packit fd8b60
	-re "({.*})\n$prompt" {set key_data $expect_out(1,string) }
Packit fd8b60
	-re "\n$prompt" { set key_data {} }
Packit fd8b60
	timeout {
Packit fd8b60
	    error_and_restart "$test: timeout getting key_data"
Packit fd8b60
	    return
Packit fd8b60
	}
Packit fd8b60
	eof {
Packit fd8b60
	    error_and_restart "$test: eof getting key_data"
Packit fd8b60
	    return
Packit fd8b60
	}
Packit fd8b60
    }
Packit fd8b60
Packit fd8b60
    set failed 0
Packit Service e737ee
    if {$num_keys != 5} {
Packit Service e737ee
	fail "$test: num_keys $num_keys should be 5"
Packit fd8b60
	set failed 1
Packit fd8b60
    }
Packit fd8b60
    for {set i 0} {$i < $num_keys} {incr i} {
Packit fd8b60
	set key "[lindex [lindex $key_data $i] 2]"
Packit fd8b60
	if {($rpc && [string compare $key ""] != 0) ||
Packit fd8b60
	    ((! $rpc) && [string compare $key ""] == 0)} {
Packit fd8b60
	    fail "$test: key_data $key is wrong"
Packit fd8b60
	    set failed 1
Packit fd8b60
	    
Packit fd8b60
	}
Packit fd8b60
    }
Packit fd8b60
    if {$failed == 0} { pass "$test" }
Packit fd8b60
    
Packit fd8b60
    if { ! [cmd {kadm5_destroy $server_handle}]} {
Packit fd8b60
	perror "$test: unexpected failure in destroy"
Packit fd8b60
	return
Packit fd8b60
    }
Packit fd8b60
}
Packit fd8b60
test "get-principal 101" 
Packit fd8b60
if {$RPC} {test101_102 $RPC}
Packit fd8b60
test "get-principal 102" 
Packit fd8b60
if {! $RPC} {test101_102 $RPC}
Packit fd8b60
Packit fd8b60
test "get-principal 103"
Packit fd8b60
proc test103 {} {
Packit fd8b60
    global test prompt
Packit fd8b60
Packit fd8b60
    if {! ((  [principal_exists "$test/a"]) ||
Packit fd8b60
	   [create_principal "$test/a"])} {
Packit fd8b60
	    error_and_restart "$test: couldn't create principal \"$test/a\""
Packit fd8b60
	    return
Packit fd8b60
    }
Packit fd8b60
Packit fd8b60
    if {! [cmd {
Packit fd8b60
	kadm5_init admin admin $KADM5_ADMIN_SERVICE null \
Packit fd8b60
		$KADM5_STRUCT_VERSION $KADM5_API_VERSION_3 \
Packit fd8b60
		server_handle
Packit fd8b60
    }]} {
Packit fd8b60
	perror "$test: unexpected failure in init"
Packit fd8b60
	return
Packit fd8b60
    }
Packit fd8b60
Packit fd8b60
    if { ! [cmd [format {
Packit fd8b60
	kadm5_modify_principal $server_handle \
Packit fd8b60
		"{%s/a} 0 0 0 0 {%s/a} 0 0 0 0 null 0 0 0 0 0 0 1 {} {{999 6 foobar}}" \
Packit fd8b60
		{KADM5_TL_DATA}
Packit fd8b60
    } $test $test]]} {
Packit fd8b60
	fail "$test: cannot set TL_DATA"
Packit fd8b60
	return
Packit fd8b60
    }
Packit fd8b60
Packit fd8b60
    if {! [cmd [format {
Packit fd8b60
	kadm5_get_principal $server_handle {%s/a} p \
Packit fd8b60
		{KADM5_PRINCIPAL_NORMAL_MASK KADM5_TL_DATA}
Packit fd8b60
    } $test]]} {
Packit fd8b60
	perror "$test: unexpected failure in get_principal"
Packit fd8b60
    }
Packit fd8b60
    send "lindex \$p 17\n"
Packit fd8b60
    expect {
Packit fd8b60
	-re "(\[0-9\]+)\n$prompt" { set num_tl $expect_out(1,string) }
Packit fd8b60
	timeout {
Packit fd8b60
	    error_and_restart "$test: timeout getting num_tl"
Packit fd8b60
	    return
Packit fd8b60
	}
Packit fd8b60
	eof {
Packit fd8b60
	    error_and_restart "$test: eof getting num_tl"
Packit fd8b60
	    return
Packit fd8b60
	}
Packit fd8b60
    }
Packit fd8b60
    send "lindex \$p 19\n"
Packit fd8b60
    expect {
Packit fd8b60
	-re "({.*})\n$prompt" {set tl_data $expect_out(1,string) }
Packit fd8b60
	-re "\n$prompt" { set tl_data {} }
Packit fd8b60
	timeout {
Packit fd8b60
	    error_and_restart "$test: timeout getting tl_data"
Packit fd8b60
	    return
Packit fd8b60
	}
Packit fd8b60
	eof {
Packit fd8b60
	    error_and_restart "$test: eof getting tl_data"
Packit fd8b60
	    return
Packit fd8b60
	}
Packit fd8b60
    }
Packit fd8b60
    
Packit fd8b60
    if {$num_tl == 0} {
Packit fd8b60
	fail "$test: num_tl $num_tl should not be 0"
Packit fd8b60
    } elseif {$tl_data == "{{999 6 foobar}}"} {
Packit fd8b60
	pass "$test"
Packit fd8b60
    } else {
Packit fd8b60
	fail "$test: tl_data $tl_data should be {{999 6 foobar}}"
Packit fd8b60
    }
Packit fd8b60
Packit fd8b60
    if { ! [cmd {kadm5_destroy $server_handle}]} {
Packit fd8b60
	perror "$test: unexpected failure in destroy"
Packit fd8b60
	return
Packit fd8b60
    }
Packit fd8b60
}
Packit fd8b60
test103
Packit fd8b60
Packit fd8b60
return ""
Packit fd8b60
Packit fd8b60
Packit fd8b60
Packit fd8b60