+ # Dir exists
+ create_gnupg
+ assertEquals "create_gnupg dir existing" 0 $?
+}
+
+test_a_get_random_lines() {
+ logger "test_get_random_lines"
+ get_random_lines > ${TMPDIR}/lines
+ assertEquals "get_random_lines" 1 $?
+ get_random_lines 1 > ${TMPDIR}/lines
+ assertEquals "get_random_lines 1" 0 $?
+ assertEquals "get_random_lines 1 output" 1 "`sed -n '$=' ${TMPDIR}/lines`"
+ get_random_lines 20 > ${TMPDIR}/lines
+ assertEquals "get_random_lines 20 output" 20 "`sed -n '$=' ${TMPDIR}/lines`"
+}
+
+test_b_create_ampassphrase() {
+ rm -f ${AMANDAHOMEDIR}/.am_passphrase
+ logger "test_create_ampassphrase"
+ create_ampassphrase
+ assertEquals "create_ampassphrase" 0 $?
+ assertSame \
+ "chown args: ${amanda_user}:${amanda_group} ${AMANDAHOMEDIR}/.am_passphrase" \
+ "`cat $mock_chown_flags`"
+ assertSame \
+ "chmod args: 0600 ${AMANDAHOMEDIR}/.am_passphrase" \
+ "`cat $mock_chmod_flags`"
+ # When .am_passphrase exists.
+ create_ampassphrase
+ log_tail_no_stamp
+ assertSame \
+ "Info: ${AMANDAHOMEDIR}/.am_passphrase already exists." \
+ "${LOG_TAIL}"
+ rm ${AMANDAHOMEDIR}/.am_passphrase
+}
+
+test_b_create_amkey() {
+ logger "test_create_amkey"
+ # Missing .am_passphrase
+ [ -f ${AMANDAHOMEDIR}/.am_passphrase ] && rm ${AMANDAHOMEDIR}/.am_passphrase
+ create_amkey
+ assertEquals "create_amkey" 1 $?
+ log_tail_no_stamp
+ assertSame \
+ "Error: ${AMANDAHOMEDIR}/.am_passphrase is missing, can't create amcrypt key." \
+ "${LOG_TAIL}"
+ # Need .am_passphrase. Ignore these test errors if get_random_lines or
+ # create_gnupg tests failed.
+ get_random_lines 1 > ${AMANDAHOMEDIR}/.am_passphrase
+ create_amkey
+ assertEquals "create_amkey" 0 $?
+ # Test with existing key
+ create_amkey
+ assertEquals "create_amkey" 0 $?
+ log_tail_no_stamp
+ assertSame \
+ "Info: Encryption key '${AMANDAHOMEDIR}/.gnupg/am_key.gpg' already exists." \
+ "${LOG_TAIL}"
+ # make sure unencrypted am_key is not hanging around
+ assertFalse "[ -f ${AMANDAHOMEDIR}/.gnupg/am_key ]"
+