#!/bin/bash

. ${functions}

. ${testdir}/constants.sh

failed=0

for address in ${VALID_IPv4_ADDRESSES[@]}; do
	proto=$(ip_detect_protocol ${address})
	if [[ $? == 0 ]] && [[ "${proto}" == "ipv4" ]]; then
		echo "OK: Detection of ip protocol for ${address} was successful [${proto}]"
	else
		echo "ERROR: Detection of ip protocol for ${address} was not successful"
		failed=1
	fi
done

# Here we have to use a extra array because ::1 is an invalid IPv4 address but we can find a protocol for it [ipv6], so ip_detect_protocol is successful
INVALID_IPv4_ADDRESSES=(
	1.2.3.X/abc
	a.b.c.d/24
	a.b.c.d/e
	1.2.3.500
)

for address in ${INVALID_IPv4_ADDRESSES[@]}; do
	proto=$(ip_detect_protocol ${address})
	if [[ $? == 1 ]] && [[ "${proto}" != "ipv4" ]]; then
		echo "OK: Detection of ip protocol for ${address} was not successful"
	else
		echo "ERROR: Detection of ip protocol for ${address} was successful [${proto}]"
		failed=1
	fi
done

exit ${failed}
