diff --git a/bin/cdr_extract.sh b/bin/cdr_extract.sh index ef60627b..5133fabd 100755 --- a/bin/cdr_extract.sh +++ b/bin/cdr_extract.sh @@ -77,6 +77,8 @@ if ! "${MUTE}" ; then fi mysql --defaults-extra-file="${SIPWISE_EXTRA_CNF}" accounting \ -e "select * from cdr where call_id like 'NGCP\%${NAME_CHECK}\%%' and start_time > ${START_TIME} order by id desc limit 10\G" > "${LOG_DIR}/cdr.txt" || true +mysql --defaults-extra-file="${SIPWISE_EXTRA_CNF}" accounting \ + -e "select * from cdr_tag_data left join cdr_tag on tag_id = cdr_tag.id,(select id from cdr where call_id like 'NGCP\%${NAME_CHECK}\%%' and start_time > ${START_TIME} order by id desc limit 10) as cdr where cdr_id = cdr.id limit 10\G" > "${LOG_DIR}/cdr_tag_data.txt" || true if ! "${MUTE}" ; then echo "$(date) - Done" fi diff --git a/bin/check.sh b/bin/check.sh index 4019746c..eb22dc06 100755 --- a/bin/check.sh +++ b/bin/check.sh @@ -31,6 +31,7 @@ GRAPH=false GRAPH_FAIL=false SKIP_MOVE_JSON_KAM=false CDR=false +CDR_TAG_DATA=false ERR_FLAG=0 RETRANS_SIZE=2 SIP_SERVER=127.0.0.1 @@ -641,7 +642,7 @@ cdr_check() { } usage() { - echo "Usage: check.sh [-hCDRGgKmt] [-T ] [-p PROFILE ] [-s GROUP] check_name" + echo "Usage: check.sh [-hCDRGgKmtd] [-T ] [-p PROFILE ] [-s GROUP] check_name" echo "Options:" echo -e "\\t-I: SIP_SERVER IP, default:127.0.0.1" echo -e "\\t-C: skip creation of domain and subscribers" @@ -659,11 +660,12 @@ usage() { echo -e "\\t-s: scenario group. Default: scenarios" echo -e "\\t-m: enable memdbg csv" echo -e "\\t-c: enable cdr validation" + echo -e "\\t-d: enable cdr tag data validation" echo "Arguments:" echo -e "\\tcheck_name. Scenario name to check. This is the name of the directory on GROUP dir." } -while getopts 'hI:Cp:Rs:DtT:GgrcKMmw:' opt; do +while getopts 'hI:Cp:Rs:DtT:GgrcdKMmw:' opt; do case $opt in h) usage; exit 0;; I) SIP_SERVER=${OPTARG};; @@ -681,6 +683,7 @@ while getopts 'hI:Cp:Rs:DtT:GgrcKMmw:' opt; do M) SKIP_MOVE_JSON_KAM=true;; m) MEMDBG=true;; c) CDR=true;; + d) CDR_TAG_DATA=true;; w) RETRANS_SIZE=${OPTARG};; *) usage; exit 1;; esac @@ -895,6 +898,23 @@ if ! ${SKIP_CHECK} ; then fi echo "$(date) - Done[${result}]" fi + + if "${CDR_TAG_DATA}" ; then + t_cdr="${SCEN_CHECK_DIR}/cdr_tag_data_test.yml" + if [ -f "$t_cdr" ]; then + echo "$(date) - Validating CDRs tag data" + msg="${LOG_DIR}/cdr_tag_data.txt" + dest="${RESULT_DIR}/cdr_tag_data_test.tap" + echo "$(date) - Check test ${t_cdr} on ${msg}" + if cdr_check "${t_cdr}" "${msg}" "${dest}" ; then + result=OK + else + result=KO; ERR_FLAG=1 + fi + echo "$(date) - Done[${result}]" + fi + fi + echo "$(date) - =================================================================================" fi exit ${ERR_FLAG} diff --git a/bin/check_sipp.sh b/bin/check_sipp.sh index 8fd103ef..9a184e86 100755 --- a/bin/check_sipp.sh +++ b/bin/check_sipp.sh @@ -21,6 +21,7 @@ set -e ERR_FLAG=0 CDR=false +CDR_TAG_DATA=false # $1 destination tap file # $2 file path @@ -81,16 +82,18 @@ usage() { echo "Usage: check_sipp.sh [-h] [-p PROFILE ] -s [GROUP] check_name" echo "Options:" echo -e "\\t-c enable cdr validation" + echo -e "\\t-d enable cdr tag data validation" echo -e "\\t-p: CE|PRO default is CE" echo -e "\\t-s: scenario group. Default: scenarios" echo "Arguments:" echo -e "\\tcheck_name. Scenario name to check. This is the name of the directory on GROUP dir." } -while getopts 'hcp:s:' opt; do +while getopts 'hcdp:s:' opt; do case $opt in h) usage; exit 0;; c) CDR=true;; + d) CDR_TAG_DATA=true;; p) PROFILE=${OPTARG};; s) GROUP=${OPTARG};; *) usage; exit 1;; @@ -174,6 +177,17 @@ if ${CDR} ; then cdr_check "${t_cdr}" "${msg}" "${dest}" fi +if ${CDR_TAG_DATA} ; then + t_cdr="${SCEN_CHECK_DIR}/cdr_tag_data_test.yml" + if [ -f "$t_cdr" ]; then + echo "$(date) - Validating CDRs tag data" + msg="${LOG_DIR}/cdr_tag_data.txt" + dest="${RESULT_DIR}/cdr_tag_data_test.tap" + echo "$(date) - Check test ${t_cdr} on ${msg}" + cdr_check "${t_cdr}" "${msg}" "${dest}" + fi +fi + echo "$(date) - =================================================================================" exit ${ERR_FLAG} diff --git a/get_results.sh b/get_results.sh index 4feb10ab..b997ab2b 100755 --- a/get_results.sh +++ b/get_results.sh @@ -8,6 +8,7 @@ PROFILE="${PROFILE:-}" GROUP="${GROUP:-scenarios}" RETRANS="" CDR="" +CDR_TAG_DATA="" CHECK_TYPE=sipp usage() { @@ -51,7 +52,7 @@ while getopts 'hf:gGp:rR:cx:S:' opt; do g) GRAPH="-g";; r) RETRANS="-r";; R) RETRANS="-r -w ${OPTARG}";; - c) CDR="-c";; + c) CDR_TAG_DATA="-d"; CDR="-c";; p) PROFILE=${OPTARG};; x) GROUP=${OPTARG};; f) SCEN_FILE=${OPTARG};; @@ -90,7 +91,7 @@ check_old() { echo "$(date) - =================================================================================" echo "$(date) - ----- ${CHECK_TYPE} checks ----- " echo "${SCEN[@]}" | tr ' ' '\n' \ - | parallel "${BIN_DIR}/check.sh ${GRAPH} -T${CHECK_TYPE} -C -R ${OPTS} ${RETRANS} ${CDR} -p ${PROFILE} -s ${GROUP}" + | parallel "${BIN_DIR}/check.sh ${GRAPH} -T${CHECK_TYPE} -C -R ${OPTS} ${RETRANS} ${CDR} ${CDR_TAG_DATA} -p ${PROFILE} -s ${GROUP}" status=$? echo "$(date) - All done[${status}]" } @@ -99,7 +100,7 @@ check_sipp() { echo "$(date) - =================================================================================" echo "$(date) - ---- sipp checks ----- " echo "${SCEN[@]}" | tr ' ' '\n' \ - | parallel "${BIN_DIR}/check_sipp.sh ${CDR} -p ${PROFILE} -s ${GROUP}" + | parallel "${BIN_DIR}/check_sipp.sh ${CDR} ${CDR_TAG_DATA} -p ${PROFILE} -s ${GROUP}" status=$? echo "$(date) - All done[${status}]" } diff --git a/scenarios_pbx/invite_alias_devid/cdr_tag_data_test.yml.tt2 b/scenarios_pbx/invite_alias_devid/cdr_tag_data_test.yml.tt2 new file mode 100644 index 00000000..5af6c5b4 --- /dev/null +++ b/scenarios_pbx/invite_alias_devid/cdr_tag_data_test.yml.tt2 @@ -0,0 +1,5 @@ +cdr: + - val: '[% invite_alias_devid_scenarios_pbx_test.testuser1003.alias_numbers.0.phone_number %]' + type: 'r_user' + - val: '' + type: 'r_ua' \ No newline at end of file