#!/bin/bash

# Copyright 2013 Divya Kothari <divya.s.kothari@gmail.com>
# Copyright 2013 Robin Mittal <robinmittal.it@gmail.com>

[ -f testing.sh ] && . testing.sh

if [ "$(id -u)" -ne 0 ]
then
  echo "$SHOWSKIP: groupdel (not root)"
  return 2>/dev/null
  exit
fi

# Redirecting all output to /dev/null for grep and delgroup
arg="&>/dev/null"

#testing "name" "command" "result" "infile" "stdin"

testing "group_name (text)" "groupadd toyTestGroup &&
   grep '^toyTestGroup:' /etc/group $arg && groupdel toyTestGroup $arg &&
   echo 'yes'" "yes\n" "" ""
testing "group_name (alphanumeric)" "groupadd toy1Test2Group3 &&
   grep '^toy1Test2Group3:' /etc/group $arg && groupdel toy1Test2Group3 $arg &&
   echo 'yes'" "yes\n" "" ""
testing "group_name (numeric)" "groupadd 987654321 &&
   grep '^987654321:' /etc/group $arg && groupdel 987654321 $arg &&
   echo 'yes'" "yes\n" "" ""
testing "group_name (with ./-)" "groupadd toy.1Test-2Group.3 &&
   grep '^toy.1Test-2Group.3:' /etc/group $arg &&
   groupdel toy.1Test-2Group.3 $arg && echo 'yes'" "yes\n" "" ""
testing "group_name with group_id" "groupadd -g 49999 toyTestGroup &&
   grep '^toyTestGroup:' /etc/group $arg && groupdel toyTestGroup $arg &&
   echo 'yes'" "yes\n" "" ""
