blob: 047a8d3ccffaa90f727a04b55d4af3e633280cdd [file] [log] [blame]
Vince Lehman797207e2014-07-28 16:30:51 -05001#!/usr/bin/env bash
2
3source ../multi-host.conf
4
5start_nfd() {
6 sudo nfd &> $workdir/logs/nfd.log &
7 ssh $CTRL_B "sudo nfd &"
8 sleep 2
9}
10
11start_nrd() {
12 sudo nrd &> $workdir/logs/nrd.log &
13 ssh $CTRL_B "sudo nrd &"
14 sleep 2
15}
16
17set_up() {
18 workdir=$(pwd)
19 mkdir -p $workdir/logs
20
21 start_nfd
22 start_nrd
23}
24
25clean_up() {
26 nfd-stop
27 exit 0
28}
29
30register() {
31 name=$1
32 expirationPeriod=$2
33 nextHop=$3
34
35 result=$(nfdc register -e $(($expirationPeriod * 1000)) $name udp4://$nextHop | grep -o 'FaceId: [0-9]*' | sed s/'FaceId: '//)
36 echo $result
37}
38
39is_expiration_period_correct() {
40 name=$1
41 nextHop=$2
42 lowerBound=$3
43 upperBound=$4
44
45 expirationPeriod=$(nfd-status -r | grep -iF ''$name'' | grep -o 'faceid='$nextHop' ([a-zA-Z0-9 =]*)' |\
46 grep -o 'expires=[0-9]*' | sed 's/'expires='//')
47
48 if [[ "$expirationPeriod" -lt $lowerBound || "$expirationPeriod" -gt $upperBound ]]; then
49 echo $name "has an expiration period of $expirationPeriod seconds which is not between the expected $lowerBound-$upperBound seconds"
50 exit 1
51 else
52 echo $name "has a correct expiration period between $lowerBound and $upperBound seconds"
53 fi
54}
55
56expect_entry_does_not_exist() {
57 name=$1
58
59 count=$(nfd-status -r | grep -c ' $name ')
60
61 if [[ $count -gt 0 ]]; then
62 echo $name "exists past its expected expiration period."
63 exit 2
64 else
65 echo $name "has expired successfully"
66 fi
67}
68
69expect_route_does_not_exist() {
70 name=$1
71 faceId=$2
72
73 count=$(nfd-status -r | grep -iF ''$name'' | grep -c 'faceid='$faceId'')
74
75 if [[ $count -gt 0 ]]; then
76 echo "Route for $name with FaceId: $faceId exists past its expected expiration period."
77 exit 2
78 else
79 echo "Route for $name with FaceId: $faceId has expired successfully"
80 fi
81}
82
83sleep_for_seconds() {
84 echo -e "Sleeping for $1 seconds...\n"
85 sleep $1
86}