aboutsummaryrefslogtreecommitdiff
path: root/src/cli/gns/test_gns_lightest.sh
blob: 03c313a7b5bc7517e7764f1603dc686dc9a2e3e9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
#!/bin/sh
# This file is in the public domain.
trap "gnunet-arm -e -c test_gns_lookup.conf" INT

LOCATION=$(which gnunet-config)
if [ -z $LOCATION ]
then
  LOCATION="gnunet-config"
fi
$LOCATION --version 1> /dev/null
if test $? != 0
then
	echo "GNUnet command line tools cannot be found, check environmental variables PATH and GNUNET_PREFIX"
	exit 77
fi

rm -rf `gnunet-config -c test_gns_lookup.conf -f -s paths -o GNUNET_TEST_HOME`
which timeout > /dev/null 2>&1 && DO_TIMEOUT="timeout 30"
MY_EGO="test-lightest"
LABEL="test-scheme"
PTR_LABEL="test-ptr"
TEST_URI="10 1 \"https://ec.europa.eu/tools/lotl/eu-lotl.xml\""
TEST_SMIMEA="3 0 1 f7e8e4e554fb7c7a8f6f360e0ca2f59d466c8f9539a25963f5ed37e905f0c797"
SCHEME="_scheme"
TRUST="_trust"
TRUSTLIST="_trustlist"
TEST_PTR="$SCHEME.$TRUST.$LABEL.$MY_EGO"
TEST_PTR2="$TRUSTLIST.$TRUST.$LABEL.$MY_EGO"
gnunet-arm -s -c test_gns_lookup.conf
gnunet-identity -C $MY_EGO -c test_gns_lookup.conf
gnunet-namestore -p -z $MY_EGO -a -n $PTR_LABEL -t BOX -V "242 1003 12 $TEST_PTR" -e never -c test_gns_lookup.conf
gnunet-namestore -p -z $MY_EGO -a -n $PTR_LABEL -t BOX -V "242 1002 12 $TEST_PTR2" -e never -c test_gns_lookup.conf
gnunet-namestore -p -z $MY_EGO -a -n $LABEL -t BOX -V "242 1003 256 $TEST_URI" -e never -c test_gns_lookup.conf
gnunet-namestore -p -z $MY_EGO -a -n $LABEL -t BOX -V "242 1003 53 $TEST_SMIMEA" -e never -c test_gns_lookup.conf
gnunet-namestore -p -z $MY_EGO -a -n $LABEL -t BOX -V "242 1002 256 $TEST_URI" -e never -c test_gns_lookup.conf
gnunet-namestore -p -z $MY_EGO -a -n $LABEL -t BOX -V "242 1002 53 $TEST_SMIMEA" -e never -c test_gns_lookup.conf
sleep 0.5
PTR_SCHEME=`$DO_TIMEOUT gnunet-gns --raw -u $SCHEME.$TRUST.$PTR_LABEL.$MY_EGO -t PTR -c test_gns_lookup.conf`
PTR_TRUSTLIST=`$DO_TIMEOUT gnunet-gns --raw -u $TRUSTLIST.$TRUST.$PTR_LABEL.$MY_EGO -t PTR -c test_gns_lookup.conf`

SUCCESS=0
if [ "$PTR_SCHEME" != "$TEST_PTR" ]
then
  echo "Failed to resolve to proper PTR, got '$PTR_SCHEME'."
  SUCCESS=1
else
  echo "Resolved to proper PTR, got '$PTR_SCHEME'."
fi

if [ "$PTR_TRUSTLIST" != "$TEST_PTR2" ]
then
  echo "Failed to resolve to proper PTR, got '$PTR_TRUSTLIST'."
  SUCCESS=1
else
  echo "Resolved to proper PTR, got '$PTR_TRUSTLIST'."
fi

if [ "$SUCCESS" = "1" ]
then
  gnunet-namestore -z $MY_EGO -X -c test_gns_lookup.conf
  gnunet-identity -D $MY_EGO -c test_gns_lookup.conf
  gnunet-arm -e -c test_gns_lookup.conf
  rm -rf `gnunet-config -c test_gns_lookup.conf -f -s paths -o GNUNET_TEST_HOME`
  exit 1
fi


RES_URI_SCHEME=`$DO_TIMEOUT gnunet-gns --raw -u $PTR_SCHEME -t URI -c test_gns_lookup.conf`
RES_SMIMEA_SCHEME=`$DO_TIMEOUT gnunet-gns --raw -u $PTR_SCHEME -t SMIMEA -c test_gns_lookup.conf`

RES_URI_TRUSTLIST=`$DO_TIMEOUT gnunet-gns --raw -u $PTR_TRUSTLIST -t URI -c test_gns_lookup.conf`
RES_SMIMEA_TRUSTLIST=`$DO_TIMEOUT gnunet-gns --raw -u $PTR_TRUSTLIST -t SMIMEA -c test_gns_lookup.conf`


if [ "$RES_URI_SCHEME" != "$TEST_URI" ]
then
  echo "Failed to resolve to proper URI, got '$RES_URI_SCHEME'."
  SUCCESS=1
else
  echo "Resolved to proper URI, got '$RES_URI_SCHEME'."
fi

if [ "$RES_SMIMEA_SCHEME" != "$TEST_SMIMEA" ]
then
  echo "Failed to resolve to proper SMIMEA, got '$RES_SMIMEA_SCHEME'."
  SUCCESS=1
else
  echo "Resolved to proper SMIMEA, got '$RES_SMIMEA_SCHEME'."
fi

if [ "$RES_URI_TRUSTLIST" != "$TEST_URI" ]
then
  echo "Failed to resolve to proper URI, got '$RES_URI_TRUSTLIST'."
  SUCCESS=1
else
  echo "Resolved to proper URI, got '$RES_URI_TRUSTLIST'."
fi

if [ "$RES_SMIMEA_TRUSTLIST" != "$TEST_SMIMEA" ]
then
  echo "Failed to resolve to proper SMIMEA, got '$RES_SMIMEA_TRUSTLIST'."
  SUCCESS=1
else
  echo "Resolved to proper SMIMEA, got '$RES_SMIMEA_TRUSTLIST'."
fi

gnunet-namestore -p -z $MY_EGO -a -n $LABEL -t BOX -V "242 1003 256 10 1 \"thisisnotavaliduri\"" -e never -c test_gns_lookup.conf
status=$?
gnunet-namestore -p -z $MY_EGO -a -n $LABEL -t BOX -V "242 1003 256 10 1 mailto:thisrecordismilformed@test.com" -e never -c test_gns_lookup.conf
status2=$?

if [ "$status" = "0" ]
then
  echo "Failed to detect malformed URI."
  SUCCESS=1
else
  echo "Detected malformed URI."
fi

if [ "$status2" = "0" ]
then
  echo "Failed to detect malformed URI Record Presentation."
  SUCCESS=1
else
  echo "Detected malformed URI Presentation."
fi



gnunet-namestore -z $MY_EGO -X -c test_gns_lookup.conf
gnunet-identity -D $MY_EGO -c test_gns_lookup.conf
gnunet-arm -e -c test_gns_lookup.conf
rm -rf `gnunet-config -c test_gns_lookup.conf -f -s paths -o GNUNET_TEST_HOME`

exit $SUCCESS