test: shell provisioner tests
This commit is contained in:
parent
a7537ff3a6
commit
318ced9549
21
test/fixtures/provisioner-shell/inline.json
vendored
Normal file
21
test/fixtures/provisioner-shell/inline.json
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
{
|
||||
"builders": [{
|
||||
"type": "amazon-ebs",
|
||||
"ami_name": "packer-test {{timestamp}}",
|
||||
"instance_type": "m1.small",
|
||||
"region": "us-east-1",
|
||||
"ssh_username": "ubuntu",
|
||||
"source_ami": "ami-0568456c",
|
||||
"tags": {
|
||||
"packer-test": "true"
|
||||
}
|
||||
}],
|
||||
|
||||
"provisioners": [{
|
||||
"type": "shell",
|
||||
"inline": [
|
||||
"bash -c 'echo HELLO I AM `whoami`'",
|
||||
"echo AND ANOTHER"
|
||||
]
|
||||
}]
|
||||
}
|
18
test/fixtures/provisioner-shell/script.json
vendored
Normal file
18
test/fixtures/provisioner-shell/script.json
vendored
Normal file
@ -0,0 +1,18 @@
|
||||
{
|
||||
"builders": [{
|
||||
"type": "amazon-ebs",
|
||||
"ami_name": "packer-test {{timestamp}}",
|
||||
"instance_type": "m1.small",
|
||||
"region": "us-east-1",
|
||||
"ssh_username": "ubuntu",
|
||||
"source_ami": "ami-0568456c",
|
||||
"tags": {
|
||||
"packer-test": "true"
|
||||
}
|
||||
}],
|
||||
|
||||
"provisioners": [{
|
||||
"type": "shell",
|
||||
"script": "script.sh"
|
||||
}]
|
||||
}
|
3
test/fixtures/provisioner-shell/script.sh
vendored
Executable file
3
test/fixtures/provisioner-shell/script.sh
vendored
Executable file
@ -0,0 +1,3 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
echo HELLO I AM DOG
|
20
test/fixtures/provisioner-shell/scripts.json
vendored
Normal file
20
test/fixtures/provisioner-shell/scripts.json
vendored
Normal file
@ -0,0 +1,20 @@
|
||||
{
|
||||
"builders": [{
|
||||
"type": "amazon-ebs",
|
||||
"ami_name": "packer-test {{timestamp}}",
|
||||
"instance_type": "m1.small",
|
||||
"region": "us-east-1",
|
||||
"ssh_username": "ubuntu",
|
||||
"source_ami": "ami-0568456c",
|
||||
"tags": {
|
||||
"packer-test": "true"
|
||||
}
|
||||
}],
|
||||
|
||||
"provisioners": [{
|
||||
"type": "shell",
|
||||
"scripts": [
|
||||
"script.sh"
|
||||
]
|
||||
}]
|
||||
}
|
35
test/provisioner_shell.bats
Executable file
35
test/provisioner_shell.bats
Executable file
@ -0,0 +1,35 @@
|
||||
#!/usr/bin/env bats
|
||||
#
|
||||
# This tests the amazon-ebs builder. The teardown function will automatically
|
||||
# delete any AMIs with a tag of `packer-test` being equal to "true" so
|
||||
# be sure any test cases set this.
|
||||
|
||||
load test_helper
|
||||
fixtures provisioner-shell
|
||||
|
||||
setup() {
|
||||
cd $FIXTURE_ROOT
|
||||
}
|
||||
|
||||
teardown() {
|
||||
aws_ami_cleanup
|
||||
}
|
||||
|
||||
@test "shell provisioner: inline scripts" {
|
||||
run packer build $FIXTURE_ROOT/inline.json
|
||||
[ "$status" -eq 0 ]
|
||||
[[ "$output" == *"HELLO I AM ubuntu"* ]]
|
||||
[[ "$output" == *"AND ANOTHER"* ]]
|
||||
}
|
||||
|
||||
@test "shell provisioner: script" {
|
||||
run packer build $FIXTURE_ROOT/script.json
|
||||
[ "$status" -eq 0 ]
|
||||
[[ "$output" == *"HELLO I AM DOG"* ]]
|
||||
}
|
||||
|
||||
@test "shell provisioner: scripts" {
|
||||
run packer build $FIXTURE_ROOT/scripts.json
|
||||
[ "$status" -eq 0 ]
|
||||
[[ "$output" == *"HELLO I AM DOG"* ]]
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user