Skip to content

Instantly share code, notes, and snippets.

@phss
Last active December 27, 2015 03:59
Show Gist options
  • Save phss/7263892 to your computer and use it in GitHub Desktop.
Save phss/7263892 to your computer and use it in GitHub Desktop.
REST API diff script
/performance/deposit-foreign-marriage/api/journey?start_at=2013-10-28T00%3A00%3A00%2B00%3A00&end_at=2013-11-04T00%3A00%3A00%2B00%3A00
/performance/deposit-foreign-marriage/api/realtime?sort_by=_timestamp%3Adescending&limit=2
/performance/deposit-foreign-marriage/api/journey?end_at=2013-11-04T00%3A00%3A00%2B00%3A00&start_at=2013-09-01T23%3A00%3A00%2B00%3A00
/performance/deposit-foreign-marriage/api/monitoring?period=day&collect=downtime%3Asum&collect=uptime%3Asum&collect=unmonitored%3Asum&collect=avgresponse%3Amean&end_at=2013-11-04T00%3A00%3A00%2B00%3A00&start_at=2013-10-05T00%3A00%3A00%2B00%3A00
/performance/deposit-foreign-marriage/api/realtime?sort_by=_timestamp%3Adescending&limit=2
/performance/lasting-power-of-attorney/api/volumes
/performance/lasting-power-of-attorney/api/journey?start_at=2013-10-28T00%3A00%3A00%2B00%3A00&end_at=2013-11-04T00%3A00%3A00%2B00%3A00
/performance/lasting-power-of-attorney/api/journey?start_at=2013-10-28T00%3A00%3A00%2B00%3A00&end_at=2013-11-04T00%3A00%3A00%2B00%3A00&filter_by=eventAction%3Ahelp&group_by=eventLabel&collect=uniqueEvents
/performance/lasting-power-of-attorney/api/monitoring?period=day&collect=downtime%3Asum&collect=uptime%3Asum&collect=unmonitored%3Asum&collect=avgresponse%3Amean&end_at=2013-11-04T00%3A00%3A00%2B00%3A00&start_at=2013-10-05T00%3A00%3A00%2B00%3A00
/performance/lasting-power-of-attorney/api/journey?end_at=2013-11-04T00%3A00%3A00%2B00%3A00&start_at=2013-09-01T23%3A00%3A00%2B00%3A00
/performance/licensing/api/application?period=week&end_at=2013-11-04T00%3A00%3A00%2B00%3A00&start_at=2013-09-02T00%3A00%3A00%2B00%3A00
/performance/licensing/api/journey?start_at=2013-10-28T00%3A00%3A00%2B00%3A00&end_at=2013-11-04T00%3A00%3A00%2B00%3A00&filter_by=dataType%3Alicensing_overview_journey
/performance/licensing/api/application?group_by=licenceUrlSlug&collect=licenceName&start_at=2013-10-28T00%3A00%3A00%2B00%3A00&end_at=2013-11-04T00%3A00%3A00%2B00%3A00&limit=5&sort_by=_count%3Adescending
/performance/licensing/api/application?group_by=authorityUrlSlug&collect=authorityName&start_at=2013-10-28T00%3A00%3A00%2B00%3A00&end_at=2013-11-04T00%3A00%3A00%2B00%3A00&limit=5&sort_by=_count%3Adescending
/performance/licensing/api/realtime?sort_by=_timestamp%3Adescending&limit=2
/performance/licensing/api/monitoring?period=day&collect=downtime%3Asum&collect=uptime%3Asum&collect=unmonitored%3Asum&collect=avgresponse%3Amean&end_at=2013-11-04T00%3A00%3A00%2B00%3A00&start_at=2013-10-05T00%3A00%3A00%2B00%3A00
/performance/pay-legalisation-post/api/journey?start_at=2013-10-28T00%3A00%3A00%2B00%3A00&end_at=2013-11-04T00%3A00%3A00%2B00%3A00
/performance/pay-legalisation-post/api/realtime?sort_by=_timestamp%3Adescending&limit=2
/performance/pay-legalisation-post/api/journey?end_at=2013-11-04T00%3A00%3A00%2B00%3A00&start_at=2013-09-01T23%3A00%3A00%2B00%3A00
/performance/pay-legalisation-post/api/monitoring?period=day&collect=downtime%3Asum&collect=uptime%3Asum&collect=unmonitored%3Asum&collect=avgresponse%3Amean&end_at=2013-11-04T00%3A00%3A00%2B00%3A00&start_at=2013-10-05T00%3A00%3A00%2B00%3A00
/performance/pay-legalisation-drop-off/api/journey?start_at=2013-10-28T00%3A00%3A00%2B00%3A00&end_at=2013-11-04T00%3A00%3A00%2B00%3A00
/performance/pay-legalisation-drop-off/api/realtime?sort_by=_timestamp%3Adescending&limit=2
/performance/pay-legalisation-drop-off/api/journey?end_at=2013-11-04T00%3A00%3A00%2B00%3A00&start_at=2013-09-01T23%3A00%3A00%2B00%3A00
/performance/pay-legalisation-drop-off/api/monitoring?period=day&collect=downtime%3Asum&collect=uptime%3Asum&collect=unmonitored%3Asum&collect=avgresponse%3Amean&end_at=2013-11-04T00%3A00%3A00%2B00%3A00&start_at=2013-10-05T00%3A00%3A00%2B00%3A00
/performance/pay-foreign-marriage-certificates/api/journey?start_at=2013-10-28T00%3A00%3A00%2B00%3A00&end_at=2013-11-04T00%3A00%3A00%2B00%3A00
/performance/pay-foreign-marriage-certificates/api/realtime?sort_by=_timestamp%3Adescending&limit=2
/performance/pay-foreign-marriage-certificates/api/journey?end_at=2013-11-04T00%3A00%3A00%2B00%3A00&start_at=2013-09-01T23%3A00%3A00%2B00%3A00
/performance/pay-foreign-marriage-certificates/api/monitoring?period=day&collect=downtime%3Asum&collect=uptime%3Asum&collect=unmonitored%3Asum&collect=avgresponse%3Amean&end_at=2013-11-04T00%3A00%3A00%2B00%3A00&start_at=2013-10-05T00%3A00%3A00%2B00%3A00
/performance/pay-register-birth-abroad/api/journey?start_at=2013-10-28T00%3A00%3A00%2B00%3A00&end_at=2013-11-04T00%3A00%3A00%2B00%3A00
/performance/pay-register-birth-abroad/api/realtime?sort_by=_timestamp%3Adescending&limit=2
/performance/pay-register-birth-abroad/api/journey?end_at=2013-11-04T00%3A00%3A00%2B00%3A00&start_at=2013-09-01T23%3A00%3A00%2B00%3A00
/performance/pay-register-birth-abroad/api/monitoring?period=day&collect=downtime%3Asum&collect=uptime%3Asum&collect=unmonitored%3Asum&collect=avgresponse%3Amean&end_at=2013-11-04T00%3A00%3A00%2B00%3A00&start_at=2013-10-05T00%3A00%3A00%2B00%3A00
/performance/pay-register-death-abroad/api/journey?start_at=2013-10-28T00%3A00%3A00%2B00%3A00&end_at=2013-11-04T00%3A00%3A00%2B00%3A00
/performance/pay-register-death-abroad/api/realtime?sort_by=_timestamp%3Adescending&limit=2
/performance/pay-register-death-abroad/api/journey?end_at=2013-11-04T00%3A00%3A00%2B00%3A00&start_at=2013-09-01T23%3A00%3A00%2B00%3A00
/performance/pay-register-death-abroad/api/monitoring?period=day&collect=downtime%3Asum&collect=uptime%3Asum&collect=unmonitored%3Asum&collect=avgresponse%3Amean&end_at=2013-11-04T00%3A00%3A00%2B00%3A00&start_at=2013-10-05T00%3A00%3A00%2B00%3A00
/performance/vehicle-licensing/api/volumetrics?collect=volume%3Asum&period=month&group_by=channel&filter_by=service%3Asorn&end_at=2013-11-01T00%3A00%3A00%2B00%3A00&start_at=2012-11-01T00%3A00%3A00%2B00%3A00
/performance/vehicle-licensing/api/failures?period=week&group_by=reason&collect=count%3Asum&collect=description&filter_by=type%3Asorn&end_at=2013-11-04T00%3A00%3A00%2B00%3A00&start_at=2013-10-28T00%3A00%3A00%2B00%3A00
/performance/vehicle-licensing/api/failures?period=week&group_by=reason&collect=count%3Asum&collect=description&filter_by=type%3Asorn&end_at=2013-10-28T00%3A00%3A00%2B00%3A00&start_at=2013-10-21T00%3A00%3A00%2B00%3A00
/performance/sorn/api/monitoring?period=day&collect=downtime%3Asum&collect=uptime%3Asum&collect=unmonitored%3Asum&collect=avgresponse%3Amean&end_at=2013-11-04T00%3A00%3A00%2B00%3A00&start_at=2013-10-05T00%3A00%3A00%2B00%3A00
/performance/vehicle-licensing/api/customer-satisfaction?
/performance/sorn/api/realtime?sort_by=_timestamp%3Adescending&limit=2
/performance/vehicle-licensing/api/volumetrics?collect=volume%3Asum&period=month&group_by=channel&filter_by=service%3Atax-disc&end_at=2013-11-01T00%3A00%3A00%2B00%3A00&start_at=2012-11-01T00%3A00%3A00%2B00%3A00
/performance/vehicle-licensing/api/failures?period=week&group_by=reason&collect=count%3Asum&collect=description&filter_by=type%3Atax-disc&end_at=2013-11-04T00%3A00%3A00%2B00%3A00&start_at=2013-10-28T00%3A00%3A00%2B00%3A00
/performance/vehicle-licensing/api/failures?period=week&group_by=reason&collect=count%3Asum&collect=description&filter_by=type%3Atax-disc&end_at=2013-10-28T00%3A00%3A00%2B00%3A00&start_at=2013-10-21T00%3A00%3A00%2B00%3A00
/performance/tax-disc/api/monitoring?period=day&collect=downtime%3Asum&collect=uptime%3Asum&collect=unmonitored%3Asum&collect=avgresponse%3Amean&end_at=2013-11-04T00%3A00%3A00%2B00%3A00&start_at=2013-10-05T00%3A00%3A00%2B00%3A00
/performance/vehicle-licensing/api/customer-satisfaction?
/performance/tax-disc/api/realtime?sort_by=_timestamp%3Adescending&limit=2
/performance/vehicle-licensing/api/volumetrics?collect=volume%3Asum&period=month&group_by=service&end_at=2013-11-01T00%3A00%3A00%2B00%3A00&start_at=2012-11-01T00%3A00%3A00%2B00%3A00
/performance/vehicle-licensing/api/volumetrics?collect=volume%3Asum&period=month&group_by=channel&end_at=2013-11-01T00%3A00%3A00%2B00%3A00&start_at=2012-11-01T00%3A00%3A00%2B00%3A00
#!/bin/bash
# REST API diff tool
#
# Usage: diff.sh <base_url_1> <base_url_2> <urls_file>
create_output_dir () {
DIRNAME=$1
rm -rf $DIRNAME
mkdir $DIRNAME
}
fetch_page () {
echo "Fetching \"$1\" to \"$2\""
curl --tlsv1 -k "$1" -so "$2"
}
BASE_URL_1=$1
BASE_URL_2=$2
URLS_FILE=$3
OUTPUTS_1="base_url_1_outputs"
OUTPUTS_2="base_url_2_outputs"
create_output_dir $OUTPUTS_1
create_output_dir $OUTPUTS_2
echo "######## FETCHING ########"
URL_LINE=1
while read url; do
fetch_page $BASE_URL_1$url $OUTPUTS_1/result_$URL_LINE.json
fetch_page $BASE_URL_2$url $OUTPUTS_2/result_$URL_LINE.json
URL_LINE=$((URL_LINE+1))
done <$URLS_FILE
echo
echo "######## DIFFERENCES ########"
diff -q $OUTPUTS_1 $OUTPUTS_2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment