Enable HTTPBuilder debug message

在用 groovy & cucumber 寫 API test 時,如果發生問題只會噴個 error 的 body 而已,這樣非常難 debug 。而且有一些參數是設在 http header 上,如果把每個 API 的 header 都印出來,要到處塞 debug logger。如果是 https 的話,也沒辦法使用 tcpdump 來看。

這時可以用下列方法簡單的把 logger 設定打開,就可以直接噴在營幕上了,這樣比較好 debug。

mvn -B integration-test -Dcucumber.options="--tags @test_only" \
-Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog \
-Dorg.apache.commons.logging.simplelog.showdatetime=true \
-Dorg.apache.commons.logging.simplelog.log.org.apache.http=DEBUG

還有其他的參數可以參考後附的文章內容。

reference

Backup HipChat messages by API

簡單的 Script 來備份 HipChat 該房間所有的 messages。

Why?

因為我沒有 Admin 權限! 所以只好這樣幹。

#!/bin/sh
HOST=https://{your hipchat host}
TOKEN={token}
ROOM={room}
DATE={start time}
NUMBER_OF_DAYS=410
OUTPUT_DIR=/tmp/backup
for i in `seq 1 $NUMBER_OF_DAYS` ;
do
    let DATE+=86400
    let END=DATE+86400
    if [ ! -f /tmp/backup/$DATE ] ; then
        response=$(curl -v  "$HOST/v2/room/$ROOM/history?date=$END&end-date=$DATE&reverse=true&max-results=1000&auth_token=$TOKEN" --write-out %{http_code} -o $OUTPUT_DIR/$DATE)
        test $response -ne 200 && sleep 60;
    fi
done

Reference:
* View room history