#!/bin/bash

cvmfs_test_name="Uuid generation and cache"
cvmfs_test_suites="quick"

cvmfs_run_test() {
  logfile=$1

  cvmfs_mount grid.cern.ch || return 1
  local uuid_file="$(get_cvmfs_cachedir grid.cern.ch)/uuid"
  local uuid="$(sudo cat ${uuid_file})"
  echo "$uuid"
  if [ "x$uuid" = "x" ]; then
    return 2
  fi

  cvmfs_umount grid.cern.ch
  cvmfs_mount grid.cern.ch || return 10
  local uuid_cached="$(sudo cat ${uuid_file})"
  echo "$uuid_cached"
  if [ "x$uuid" != "x$uuid_cached" ]; then
    return 11
  fi

  cvmfs_umount grid.cern.ch
  sudo cvmfs_config wipecache
  sudo rm -f $uuid_file  # necessary for NFS mode
  cvmfs_mount grid.cern.ch || return 20
  local uuid_new="$(sudo cat ${uuid_file})"
  echo "$uuid_new"
  if [ "x$uuid" = "x$uuid_new" ]; then
    return 21
  fi

  return 0
}
