Files @ 437b41b18420
Branch filter:

Location: kallithea/init.d/kallithea-daemon-debian - annotation

Thomas De Schampheleire
tests: admin_permissions: split test_delete_ips from test_add_ips

While it is not necessary to be pedantic and split each assert in a separate
test, it makes sense to create separate tests for separate logical actions.
This makes it easy to understand from a test summary what works and what
doesn't.

Add and delete are deemed two such separate logical actions. The original
test_add_ips test did both add and delete, but was not even named to cover
this.

Note that the 'add' in the delete test is not the same as the 'add' in the
add test, i.e. for the delete test direct method calls are made instead of
passing through self.app.get/post (which is a higher layer of abstraction).

Background of this commit: during the Turbogears2 port, delete actions were
not yet functional, and 'test_add_ips' failed as a result even though 'add'
was perfectly fine.
#!/bin/sh -e
########################################
#### THIS IS A DEBIAN INIT.D SCRIPT ####
########################################
 
### BEGIN INIT INFO
# Provides:          kallithea          
# Required-Start:    $all
# Required-Stop:     $all
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: starts instance of kallithea
# Description:       starts instance of kallithea using start-stop-daemon
### END INIT INFO
 
APP_NAME="kallithea"
APP_HOMEDIR="opt"
APP_PATH="/$APP_HOMEDIR/$APP_NAME"
 
CONF_NAME="production.ini"
 
PID_PATH="$APP_PATH/$APP_NAME.pid"
LOG_PATH="$APP_PATH/$APP_NAME.log"
 
PYTHON_PATH="/$APP_HOMEDIR/$APP_NAME-venv"
 
RUN_AS="root"
 
DAEMON="$PYTHON_PATH/bin/paster"
 
DAEMON_OPTS="serve --daemon \
 --user=$RUN_AS \
 --group=$RUN_AS \
 --pid-file=$PID_PATH \
 --log-file=$LOG_PATH  $APP_PATH/$CONF_NAME"
 
 
start() {
  echo "Starting $APP_NAME"
  PYTHON_EGG_CACHE="/tmp" start-stop-daemon -d $APP_PATH \
      --start --quiet \
      --pidfile $PID_PATH \
      --user $RUN_AS \
      --exec $DAEMON -- $DAEMON_OPTS
}
 
stop() {
  echo "Stopping $APP_NAME"
  start-stop-daemon -d $APP_PATH \
      --stop --quiet \
      --pidfile $PID_PATH || echo "$APP_NAME - Not running!"
 
  if [ -f $PID_PATH ]; then
    rm $PID_PATH
  fi
}
 
status() {
  echo -n "Checking status of $APP_NAME ... "
  pid=`cat $PID_PATH`
  status=`ps ax | grep $pid | grep -ve grep`
  if [ "$?" -eq 0 ]; then
    echo "running"
  else
    echo "NOT running"
  fi
}
 
case "$1" in
  status)
   status
    ;;
  start)
    start
    ;;
  stop)
    stop
    ;;
  restart)
    echo "Restarting $APP_NAME"
    ### stop ###
    stop
    wait
    ### start ###
    start
    ;;
  *)
    echo "Usage: $0 {start|stop|restart}"
    exit 1
esac