master
sh 120 lines 2.52 KB
Raw
1 #!/usr/bin/env bash
2 #
3 # Copyright (c) 2014 Jeromy Johnson
4 # MIT Licensed; see the LICENSE file in this repository.
5 #
6
7 test_description="Test ipfs swarm command"
8
9 AF1="/ip4/192.168.0.0/ipcidr/16"
10 AF2="/ip4/127.0.0.0/ipcidr/8"
11 AF3="/ip6/2008:bcd::/ipcidr/32"
12 AF4="/ip4/172.16.0.0/ipcidr/12"
13
14 . lib/test-lib.sh
15
16 test_init_ipfs
17
18 test_swarm_filter_cmd() {
19 printf "" > list_expected
20 for AF in "$@"
21 do
22 echo "$AF" >>list_expected
23 done
24
25 test_expect_success "'ipfs swarm filters' succeeds" '
26 ipfs swarm filters > list_actual
27 '
28
29 test_expect_success "'ipfs swarm filters' output looks good" '
30 test_sort_cmp list_expected list_actual
31 '
32 }
33
34 test_config_swarm_addrfilters_cmd() {
35 printf "" > list_expected
36 for AF in "$@"
37 do
38 echo "$AF" >>list_expected
39 done
40
41 test_expect_success "'ipfs config Swarm.AddrFilters' succeeds" '
42 ipfs config Swarm.AddrFilters > list_actual
43 '
44
45 printf "" > list_actual_cleaned
46 if [ "$( cat list_actual )" != "[]" -a "$( cat list_actual )" != "null" ];
47 then
48 grep -v "^\]" list_actual |
49 grep -v "^\[" |
50 tr -d '" ,' > list_actual_cleaned
51 fi
52
53 test_expect_success "'ipfs config Swarm.AddrFilters' output looks good" '
54 test_sort_cmp list_expected list_actual_cleaned
55 '
56 }
57
58 test_swarm_filters() {
59
60 # expect first address from config
61 test_swarm_filter_cmd $AF1 $AF4
62
63 test_config_swarm_addrfilters_cmd $AF1 $AF4
64
65 ipfs swarm filters rm all
66
67 test_swarm_filter_cmd
68
69 test_config_swarm_addrfilters_cmd
70
71 test_expect_success "'ipfs swarm filter add' succeeds" '
72 ipfs swarm filters add $AF1 $AF2 $AF3
73 '
74
75 test_swarm_filter_cmd $AF1 $AF2 $AF3
76
77 test_config_swarm_addrfilters_cmd $AF1 $AF2 $AF3
78
79 test_expect_success "'ipfs swarm filter rm' succeeds" '
80 ipfs swarm filters rm $AF2 $AF3
81 '
82
83 test_swarm_filter_cmd $AF1
84
85 test_config_swarm_addrfilters_cmd $AF1
86
87 test_expect_success "'ipfs swarm filter add' succeeds" '
88 ipfs swarm filters add $AF4 $AF2
89 '
90
91 test_swarm_filter_cmd $AF1 $AF2 $AF4
92
93 test_config_swarm_addrfilters_cmd $AF1 $AF2 $AF4
94
95 test_expect_success "'ipfs swarm filter rm' succeeds" '
96 ipfs swarm filters rm $AF1 $AF2 $AF4
97 '
98
99 test_swarm_filter_cmd
100
101 test_config_swarm_addrfilters_cmd
102 }
103
104 test_expect_success "init without any filters" '
105 echo "null" >expected &&
106 ipfs config Swarm.AddrFilters >actual &&
107 test_cmp expected actual
108 '
109
110 test_expect_success "adding addresses to the config to filter succeeds" '
111 ipfs config --json Swarm.AddrFilters "[\"$AF1\", \"$AF4\"]"
112 '
113
114 test_launch_ipfs_daemon
115
116 test_swarm_filters
117
118 test_kill_ipfs_daemon
119
120 test_done