#!/usr/bin/env bash

test_description='daemon jump transitions'

. lib/test-lib.sh

################################################################

test_begin_subtest "unmanaged jump"
testioc ${IFO}:TEST- &
sleep .1
testguard --ca-prefix=TEST --name=TEST TEST0 &
sleep .1
cawait T1:GRD-TEST_STATE A
caput T1:GRD-TEST_REQUEST C
caput T1:TEST-J 1
cawait T1:GRD-TEST_STATE J
caget -t T1:GRD-TEST_TARGET >OUTPUT
kill %1 %2
wait
cat <<EOF >EXPECTED
A
EOF
test_expect_equal_file OUTPUT EXPECTED

test_begin_subtest "managed jump"
testioc ${IFO}:TEST- &
sleep .1
testguard --ca-prefix=TEST --name=TEST TEST0 &
sleep .1
cawait T1:GRD-TEST_STATE A
caput T1:GRD-TEST_MODE MANAGED
caput T1:GRD-TEST_REQUEST C
caput T1:TEST-J 1
cawait T1:GRD-TEST_STATE J
caget -t T1:GRD-TEST_TARGET >OUTPUT
kill %1 %2
wait
cat <<EOF >EXPECTED
J
EOF
test_expect_equal_file OUTPUT EXPECTED

################################################################

test_done
