#!/bin/bash

# Test script for Raven API (Version 2)
# Tested with OSX 10.6.4, bash 3.2, cURL v7.19.7, OpenSSL v0.9.8
# Tested with Ubuntu 10.04 LTS, bash 4.1-2ubuntu3, cURL v7.19.7, OpenSSL 0.9.8k-7ubuntu8

echo -e "\nHello Test - Unsigned"
url="https://demo.deepcovelabs.com/realtime/hello"
user="ernest"
echo $(curl --silent --data-urlencode RAPIVersion=2 --data-urlencode UserName=$user $url)

echo -e "\nHello Test - Signed"
url="https://demo.deepcovelabs.com/realtime/hello"
user="ernest"
requestid=$(uuidgen)
timestamp=$(date -u +"%Y-%m-%dT%H:%M:%S.Z")
valuestosign=$user$timestamp$requestid
signature=$(echo -n $valuestosign | openssl dgst -sha1 -hmac "all good men die young")
echo $(curl --silent \
	--data-urlencode RAPIVersion=2 \
	--data-urlencode UserName=$user \
	--data-urlencode TimeStamp=$timestamp \
	--data-urlencode RequestID=$requestid \
	--data-urlencode Signature=$signature \
	$url)

echo -e "\nDebit Test - Signed"
url="https://demo.deepcovelabs.com/realtime/submit"
user="ernest"
requestid=$(uuidgen)
timestamp=$(date -u +"%Y-%m-%dT%H:%M:%S.Z")
file="dailyfile"
routing="840033"
type="cc_debit"
amount="100"
currency="CAD"
card="4000000000000010"
expiry="0933"
valuestosign=$user$timestamp$requestid$type$amount$currency
signature=$(echo -n $valuestosign | openssl dgst -sha1 -hmac "all good men die young")
echo $(curl --silent \
	--data-urlencode RAPIVersion=2 \
	--data-urlencode UserName=$user \
	--data-urlencode TimeStamp=$timestamp \
	--data-urlencode RequestID=$requestid \
	--data-urlencode Signature=$signature \
	--data-urlencode Filename=$file \
	--data-urlencode PaymentRoutingNumber=$routing \
	--data-urlencode PaymentType=$type \
	--data-urlencode Amount=$amount \
	--data-urlencode CurrencyCode=$currency \
	--data-urlencode CardNumber=$card \
	--data-urlencode Expiry=$expiry \
	$url)
echo ""
