1
0
mirror of https://github.com/jcwimer/startup-infrastructure synced 2026-03-24 14:24:43 +00:00

Get skeleton testing in place

This commit is contained in:
2018-10-09 16:37:15 -04:00
parent cd5777402e
commit b671c192fb
3 changed files with 71 additions and 0 deletions

23
Vagrantfile vendored Normal file
View File

@@ -0,0 +1,23 @@
Vagrant.configure("2") do |config|
config.vm.define "bootstrap" do |bootstrap|
bootstrap.vm.box = "ubuntu/bionic64"
bootstrap.vm.hostname = "bootstrap"
bootstrap.vm.network "private_network", ip: "192.168.254.2"
bootstrap.vm.provider "virtualbox" do |v|
v.memory = 1024
v.cpus = 1
end
end
config.vm.define "worker1" do |worker1|
worker1.vm.box = "ubuntu/bionic64"
worker1.vm.hostname = "worker1"
worker1.vm.network "private_network", ip: "192.168.254.3"
worker1.vm.provider "virtualbox" do |v|
v.memory = 1024
v.cpus = 1
end
end
end

View File

@@ -0,0 +1,21 @@
#!/bin/bash
red=`tput setaf 1`
green=`tput setaf 2`
reset=`tput sgr0`
#echo "${red}red text ${green}green text${reset}"
function test {
local name="${1}"
shift
local command="${@}"
eval $command
local return=$?
if [[ ! $return -eq 0 ]]; then
echo "${red}FAILED: ${name}${reset}"
return 1
else
echo "${green}PASSED: $name${reset}"
return 0
fi
}

27
tests/vagrant-tests.sh Normal file
View File

@@ -0,0 +1,27 @@
#!/bin/bash
project_dir="$(dirname $( dirname $(readlink -f ${BASH_SOURCE[0]})))"
source ${project_dir}/tests/lib/test-function.sh
function main {
cd ${project_dir}
run-tests
destroy-infrastructure
}
function run-tests {
trap "destroy-infrastructure; exit 1" ERR
echo Building vagrant infrastructure
test "Building infrastructure with vagrant up should not fail." \
"vagrant up > /dev/null"
test "Running command on a vagrant node should not fail." \
vagrant ssh bootstrap -c ls
}
function destroy-infrastructure {
echo Tearing down vagrant infrastructure
vagrant destroy -f > /dev/null
}
main
exit 0