mirror of
https://github.com/hashicorp/packer.git
synced 2026-05-28 04:35:38 -04:00
test: shell provisioner tests
This commit is contained in:
parent
a7537ff3a6
commit
318ced9549
5 changed files with 97 additions and 0 deletions
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…
Reference in a new issue