@@ -184,3 +184,42 @@ teardown() {
184184 run cat /tmp/boot/config.txt
185185 assert_output_contains " enable_uart=0"
186186}
187+
188+ @test " cloud-init: flash --userdata can be downloaded" {
189+ run ./flash -f -d $img --userdata https://raw.githubusercontent.com/hypriot/flash/master/test/resources/good.yml cloud-init.img
190+ assert_success
191+ assert_output_contains Downloading
192+ assert_output_contains Finished.
193+
194+ mount_sd_boot $img /tmp/boot
195+ run cat /tmp/boot/user-data
196+ assert_output_contains " hostname: good"
197+ assert_output_contains " name: other"
198+ assert_output_contains " ssh-authorized-keys:"
199+
200+ assert [ -e " /tmp/boot/meta-data" ]
201+ assert [ ! -s " /tmp/boot/meta-data" ]
202+ }
203+
204+ @test " cloud-init: flash --metadata can be downloaded" {
205+ run ./flash -f -d $img --userdata https://raw.githubusercontent.com/hypriot/flash/master/test/resources/meta.yml cloud-init.img
206+ assert_success
207+ assert_output_contains Downloading
208+ assert_output_contains Finished.
209+
210+ mount_sd_boot $img /tmp/boot
211+ run cat /tmp/boot/user-data
212+ assert_output_contains " hostname: good"
213+ assert_output_contains " name: other"
214+ assert_output_contains " ssh-authorized-keys:"
215+
216+ run cat /tmp/boot/meta-data
217+ assert_output_contains " instance-id: iid-local01"
218+ }
219+
220+ @test " cloud-init: flash --userdata aborts on 'not found' (404)" {
221+ run ./flash -f -d $img --userdata https://raw.githubusercontent.com/hypriot/flash/master/test/resources/foo.bar cloud-init.img
222+ assert_failure
223+
224+ assert_output_contains " The requested URL returned error: 404 Not Found"
225+ }
0 commit comments