Skip to content

Commit 0545766

Browse files
author
Ritwick DSouza
committed
[raspbian] Updated tests
1 parent bf1bb8a commit 0545766

File tree

5 files changed

+125
-19
lines changed

5 files changed

+125
-19
lines changed
Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,23 @@
1-
{% for general in data.general %}
2-
{% if general.get('timezone') %}
3-
run commands:
4-
$ timedatectl set-timezone {{ general.get('timezone') }}
1+
{% if data.general %}
2+
# script: /scripts/general.sh
53

4+
{% if 'hostname' in data.general[0]%}
5+
/etc/init.d/hostname.sh start
6+
echo "Hostname of device has been modified"
67
{% endif %}
7-
{% endfor%}
8+
{% if 'timezone' in data.general[0] %}
9+
timedatectl set-timezone {{ data.general[0].timezone }}
10+
echo "Timezone has changed to {{ data.general[0].timezone }}"
11+
{% endif %}
12+
13+
{% endif %}
14+
{% if data.wireless %}
15+
# script: /scripts/ipv4_forwarding.sh
16+
17+
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
18+
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
19+
sudo iptables -A FORWARD -i eth0 -o {{ data.wireless[0].ifname }} -m state --state RELATED,ESTABLISHED -j ACCEPT
20+
sudo iptables -A FORWARD -i {{ data.wireless[0].ifname }} -o eth0 -j ACCEPT
21+
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
22+
23+
{% endif %}

netjsonconfig/backends/raspbian/templates/hostapd.jinja2

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,5 @@
2323
wpa_pairwise={{ wireless.encryption.wpa_pairwise }}
2424
{% endif %}
2525
{% endif %}
26+
2627
{% endfor %}

tests/raspbian/test_hostapd.py

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,20 @@ def test_wpa2_personal(self):
5050
wpa_key_mgmt=WPA-PSK
5151
wpa_passphrase=passphrase012345
5252
wpa_pairwise=TKIP CCMP
53+
5354
# config: /etc/network/interfaces
5455
5556
auto wlan0
5657
iface wlan0 inet manual
5758
59+
# script: /scripts/ipv4_forwarding.sh
60+
61+
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
62+
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
63+
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
64+
sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
65+
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
66+
5867
'''
5968
self.assertEqual(o.render(), expected)
6069

@@ -101,11 +110,20 @@ def test_wpa_personal(self):
101110
wpa=1
102111
wpa_key_mgmt=WPA-PSK
103112
wpa_passphrase=passphrase012345
113+
104114
# config: /etc/network/interfaces
105115
106116
auto wlan0
107117
iface wlan0 inet manual
108118
119+
# script: /scripts/ipv4_forwarding.sh
120+
121+
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
122+
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
123+
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
124+
sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
125+
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
126+
109127
'''
110128
self.assertEqual(o.render(), expected)
111129

@@ -217,11 +235,20 @@ def test_encryption_disabled(self):
217235
channel=3
218236
ieee80211n=1
219237
ssid=MyNetwork
238+
220239
# config: /etc/network/interfaces
221240
222241
auto wlan0
223242
iface wlan0 inet manual
224243
244+
# script: /scripts/ipv4_forwarding.sh
245+
246+
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
247+
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
248+
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
249+
sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
250+
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
251+
225252
'''
226253
self.assertEqual(o.render(), expected)
227254

@@ -260,10 +287,19 @@ def test_no_encryption(self):
260287
channel=3
261288
ieee80211n=1
262289
ssid=open
290+
263291
# config: /etc/network/interfaces
264292
265293
auto wlan0
266294
iface wlan0 inet manual
267295
296+
# script: /scripts/ipv4_forwarding.sh
297+
298+
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
299+
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
300+
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
301+
sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
302+
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
303+
268304
'''
269305
self.assertEqual(o.render(), expected)

tests/raspbian/test_radios.py

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,11 +51,20 @@ def test_radio_multi(self):
5151
channel=11
5252
ieee80211n=1
5353
ssid=myWiFi
54+
5455
# config: /etc/network/interfaces
5556
5657
auto wlan0
5758
iface wlan0 inet manual
5859
60+
# script: /scripts/ipv4_forwarding.sh
61+
62+
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
63+
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
64+
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
65+
sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
66+
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
67+
5968
'''
6069
self.assertEqual(o.render(), expected)
6170

@@ -93,11 +102,20 @@ def test_radio_n_24ghz(self):
93102
channel=3
94103
ieee80211n=1
95104
ssid=myWiFi
105+
96106
# config: /etc/network/interfaces
97107
98108
auto wlan0
99109
iface wlan0 inet manual
100110
111+
# script: /scripts/ipv4_forwarding.sh
112+
113+
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
114+
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
115+
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
116+
sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
117+
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
118+
101119
'''
102120
self.assertEqual(o.render(), expected)
103121

@@ -135,11 +153,20 @@ def test_radio_n_5ghz(self):
135153
channel=36
136154
ieee80211n=1
137155
ssid=myWiFi
156+
138157
# config: /etc/network/interfaces
139158
140159
auto wlan0
141160
iface wlan0 inet manual
142161
162+
# script: /scripts/ipv4_forwarding.sh
163+
164+
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
165+
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
166+
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
167+
sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
168+
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
169+
143170
'''
144171
self.assertEqual(o.render(), expected)
145172

@@ -176,11 +203,20 @@ def test_radio_ac(self):
176203
channel=132
177204
ieee80211ac=1
178205
ssid=myWiFi
206+
179207
# config: /etc/network/interfaces
180208
181209
auto wlan0
182210
iface wlan0 inet manual
183211
212+
# script: /scripts/ipv4_forwarding.sh
213+
214+
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
215+
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
216+
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
217+
sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
218+
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
219+
184220
'''
185221
self.assertEqual(o.render(), expected)
186222

@@ -216,11 +252,20 @@ def test_radio_a(self):
216252
hw_mode=a
217253
channel=0
218254
ssid=myWiFi
255+
219256
# config: /etc/network/interfaces
220257
221258
auto wlan0
222259
iface wlan0 inet manual
223260
261+
# script: /scripts/ipv4_forwarding.sh
262+
263+
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
264+
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
265+
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
266+
sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
267+
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
268+
224269
'''
225270
self.assertEqual(o.render(), expected)
226271

@@ -256,10 +301,19 @@ def test_radio_g(self):
256301
hw_mode=g
257302
channel=0
258303
ssid=myWiFi
304+
259305
# config: /etc/network/interfaces
260306
261307
auto wlan0
262308
iface wlan0 inet manual
263309
310+
# script: /scripts/ipv4_forwarding.sh
311+
312+
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
313+
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
314+
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
315+
sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
316+
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
317+
264318
'''
265319
self.assertEqual(o.render(), expected)

tests/raspbian/test_system.py

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -10,19 +10,20 @@ def test_general(self):
1010
o = Raspbian({
1111
"general": {
1212
"hostname": "test-system",
13-
"timezone": "Europe/Rome",
14-
"custom_setting": True,
15-
"empty_setting1": None,
16-
"empty_setting2": ""
13+
"timezone": "Europe/Rome"
1714
}
1815
})
1916

2017
expected = '''# config: /etc/hostname
2118
2219
test-system
2320
24-
run commands:
25-
$ timedatectl set-timezone Europe/Rome
21+
# script: /scripts/general.sh
22+
23+
/etc/init.d/hostname.sh start
24+
echo "Hostname of device has been modified"
25+
timedatectl set-timezone Europe/Rome
26+
echo "Timezone has changed to Europe/Rome"
2627
2728
'''
2829
self.assertEqual(o.render(), expected)
@@ -33,19 +34,17 @@ def test_ntp(self):
3334
"enabled": True,
3435
"enable_server": False,
3536
"server": [
36-
"0.openwrt.pool.ntp.org",
37-
"1.openwrt.pool.ntp.org",
38-
"2.openwrt.pool.ntp.org",
39-
"3.openwrt.pool.ntp.org"
37+
"0.pool.ntp.org",
38+
"1.pool.ntp.org",
39+
"2.pool.ntp.org"
4040
]
4141
}
4242
})
4343

4444
expected = '''# config: /etc/ntp.conf
4545
46-
server 0.openwrt.pool.ntp.org
47-
server 1.openwrt.pool.ntp.org
48-
server 2.openwrt.pool.ntp.org
49-
server 3.openwrt.pool.ntp.org
46+
server 0.pool.ntp.org
47+
server 1.pool.ntp.org
48+
server 2.pool.ntp.org
5049
'''
5150
self.assertEqual(o.render(), expected)

0 commit comments

Comments
 (0)