use function to get binary name (thx @aluzzardi); add digitalocean; add container test

Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
This commit is contained in:
Evan Hazlett 2015-02-26 00:49:59 -05:00
parent e33558e6a4
commit e0bda2075d
4 changed files with 178 additions and 53 deletions

View File

@ -0,0 +1,111 @@
#!/usr/bin/env bats
load vars
export DRIVER=digitalocean
export NAME="bats-$DRIVER-test"
export MACHINE_STORAGE_PATH=/tmp/machine-bats-test-$DRIVER
@test "$DRIVER: machine should not exist" {
run machine active $NAME
[ "$status" -eq 1 ]
}
@test "$DRIVER: create" {
run machine create -d $DRIVER $NAME
[ "$status" -eq 0 ]
}
@test "$DRIVER: active" {
run machine active $NAME
[ "$status" -eq 0 ]
}
@test "$DRIVER: ls" {
run machine ls
[ "$status" -eq 0 ]
[[ ${lines[1]} == *"$NAME"* ]]
}
@test "$DRIVER: run busybox container" {
run docker $(machine config $NAME) run busybox echo hello world
[ "$status" -eq 0 ]
}
@test "$DRIVER: url" {
run machine url $NAME
[ "$status" -eq 0 ]
}
@test "$DRIVER: ip" {
run machine ip $NAME
[ "$status" -eq 0 ]
}
@test "$DRIVER: ssh" {
run machine ssh $NAME -- ls -lah /
[ "$status" -eq 0 ]
[[ ${lines[0]} =~ "total" ]]
}
@test "$DRIVER: stop" {
run machine stop $NAME
[ "$status" -eq 0 ]
}
@test "$DRIVER: machine should show stopped after stop" {
run machine ls
[ "$status" -eq 0 ]
[[ ${lines[1]} == *"Stopped"* ]]
}
@test "$DRIVER: start" {
run machine start $NAME
[ "$status" -eq 0 ]
}
@test "$DRIVER: machine should show running after start" {
run machine ls
[ "$status" -eq 0 ]
[[ ${lines[1]} == *"Running"* ]]
}
@test "$DRIVER: kill" {
run machine kill $NAME
[ "$status" -eq 0 ]
}
@test "$DRIVER: machine should show stopped after kill" {
run machine ls
[ "$status" -eq 0 ]
[[ ${lines[1]} == *"$NAME"* ]]
[[ ${lines[1]} == *"Stopped"* ]]
}
@test "$DRIVER: restart" {
run machine restart $NAME
[ "$status" -eq 0 ]
}
@test "$DRIVER: machine should show running after restart" {
run machine ls
[ "$status" -eq 0 ]
[[ ${lines[1]} == *"$NAME"* ]]
[[ ${lines[1]} == *"Running"* ]]
}
@test "$DRIVER: remove" {
run machine rm -f $NAME
[ "$status" -eq 0 ]
}
@test "$DRIVER: machine should not exist" {
run machine active $NAME
[ "$status" -eq 1 ]
}
@test "$DRIVER: cleanup" {
run rm -rf $MACHINE_STORAGE_PATH
[ "$status" -eq 0 ]
}

View File

@ -2,78 +2,82 @@
load vars load vars
DRIVER=rackspace export DRIVER=rackspace
export NAME="bats-$DRIVER-test"
NAME="bats-$DRIVER-test" export MACHINE_STORAGE_PATH=/tmp/machine-bats-test-$DRIVER
MACHINE_STORAGE_PATH=/tmp/machine-bats-test-$DRIVER
@test "$DRIVER: machine should not exist" { @test "$DRIVER: machine should not exist" {
run ./docker-machine_$PLATFORM-$ARCH active $NAME run machine active $NAME
[ "$status" -eq 1 ] [ "$status" -eq 1 ]
} }
@test "$DRIVER: create" { @test "$DRIVER: create" {
run ./docker-machine_$PLATFORM-$ARCH create -d $DRIVER $NAME run machine create -d $DRIVER $NAME
[ "$status" -eq 0 ] [ "$status" -eq 0 ]
} }
@test "$DRIVER: active" { @test "$DRIVER: active" {
run ./docker-machine_$PLATFORM-$ARCH active $NAME run machine active $NAME
[ "$status" -eq 0 ] [ "$status" -eq 0 ]
} }
@test "$DRIVER: ls" { @test "$DRIVER: ls" {
run ./docker-machine_$PLATFORM-$ARCH ls run machine ls
[ "$status" -eq 0 ]
[[ ${lines[1]} == *"$NAME"* ]]
[[ ${lines[1]} == *"*"* ]]
}
@test "$DRIVER: run busybox container" {
run docker $(machine config $NAME) run busybox echo hello world
[ "$status" -eq 0 ] [ "$status" -eq 0 ]
[[ ${lines[1]} =~ "$NAME" ]]
[[ ${lines[1]} =~ "*" ]]
} }
@test "$DRIVER: url" { @test "$DRIVER: url" {
run ./docker-machine_$PLATFORM-$ARCH url $NAME run machine url $NAME
[ "$status" -eq 0 ] [ "$status" -eq 0 ]
} }
@test "$DRIVER: ip" { @test "$DRIVER: ip" {
run ./docker-machine_$PLATFORM-$ARCH ip $NAME run machine ip $NAME
[ "$status" -eq 0 ] [ "$status" -eq 0 ]
} }
@test "$DRIVER: ssh" { @test "$DRIVER: ssh" {
run ./docker-machine_$PLATFORM-$ARCH ssh $NAME -- ls -lah / run machine ssh $NAME -- ls -lah /
[ "$status" -eq 0 ] [ "$status" -eq 0 ]
[[ ${lines[0]} =~ "total" ]] [[ ${lines[0]} =~ "total" ]]
} }
@test "$DRIVER: stop should fail (unsupported)" { @test "$DRIVER: stop should fail (unsupported)" {
run ./docker-machine_$PLATFORM-$ARCH stop $NAME run machine stop $NAME
[[ ${lines[1]} =~ "not currently support" ]] [[ ${lines[1]} == *"not currently support"* ]]
} }
@test "$DRIVER: start should fail (unsupported)" { @test "$DRIVER: start should fail (unsupported)" {
run ./docker-machine_$PLATFORM-$ARCH start $NAME run machine start $NAME
[[ ${lines[1]} =~ "not currently support" ]] [[ ${lines[1]} == *"not currently support"* ]]
} }
@test "$DRIVER: restart" { @test "$DRIVER: restart" {
run ./docker-machine_$PLATFORM-$ARCH restart $NAME run machine restart $NAME
[ "$status" -eq 0 ] [ "$status" -eq 0 ]
} }
@test "$DRIVER: machine should show running after restart" { @test "$DRIVER: machine should show running after restart" {
run ./docker-machine_$PLATFORM-$ARCH ls run machine ls
[ "$status" -eq 0 ] [ "$status" -eq 0 ]
[[ ${lines[1]} =~ "$NAME" ]] [[ ${lines[1]} == *"$NAME"* ]]
[[ ${lines[1]} =~ "Running" ]] [[ ${lines[1]} == *"Running"* ]]
} }
@test "$DRIVER: remove" { @test "$DRIVER: remove" {
run ./docker-machine_$PLATFORM-$ARCH rm $NAME run machine rm $NAME
[ "$status" -eq 0 ] [ "$status" -eq 0 ]
} }
@test "$DRIVER: machine should not exist" { @test "$DRIVER: machine should not exist" {
run ./docker-machine_$PLATFORM-$ARCH active $NAME run machine active $NAME
[ "$status" -eq 1 ] [ "$status" -eq 1 ]
} }

View File

@ -2,104 +2,110 @@
load vars load vars
DRIVER=virtualbox export DRIVER=virtualbox
export NAME="bats-$DRIVER-test"
export MACHINE_STORAGE_PATH=/tmp/machine-bats-test-$DRIVER
NAME="bats-$DRIVER-test" function setup() {
MACHINE_STORAGE_PATH=/tmp/machine-bats-test-$DRIVER # add sleep because vbox; ugh
sleep 1
}
@test "$DRIVER: machine should not exist" { @test "$DRIVER: machine should not exist" {
run ./docker-machine_$PLATFORM-$ARCH active $NAME run machine active $NAME
[ "$status" -eq 1 ] [ "$status" -eq 1 ]
} }
@test "$DRIVER: create" { @test "$DRIVER: create" {
run ./docker-machine_$PLATFORM-$ARCH create -d $DRIVER $NAME run machine create -d $DRIVER $NAME
[ "$status" -eq 0 ] [ "$status" -eq 0 ]
} }
@test "$DRIVER: active" { @test "$DRIVER: active" {
run ./docker-machine_$PLATFORM-$ARCH active $NAME run machine active $NAME
[ "$status" -eq 0 ] [ "$status" -eq 0 ]
} }
@test "$DRIVER: ls" { @test "$DRIVER: ls" {
run ./docker-machine_$PLATFORM-$ARCH ls run machine ls
[ "$status" -eq 0 ]
[[ ${lines[1]} == *"$NAME"* ]]
}
@test "$DRIVER: run busybox container" {
run docker $(machine config $NAME) run busybox echo hello world
[ "$status" -eq 0 ] [ "$status" -eq 0 ]
[[ ${lines[1]} =~ "$NAME" ]]
[[ ${lines[1]} =~ "*" ]]
} }
@test "$DRIVER: url" { @test "$DRIVER: url" {
run ./docker-machine_$PLATFORM-$ARCH url $NAME run machine url $NAME
[ "$status" -eq 0 ] [ "$status" -eq 0 ]
} }
@test "$DRIVER: ip" { @test "$DRIVER: ip" {
run ./docker-machine_$PLATFORM-$ARCH ip $NAME run machine ip $NAME
[ "$status" -eq 0 ] [ "$status" -eq 0 ]
} }
@test "$DRIVER: ssh" { @test "$DRIVER: ssh" {
run ./docker-machine_$PLATFORM-$ARCH ssh $NAME -- ls -lah / run machine ssh $NAME -- ls -lah /
[ "$status" -eq 0 ] [ "$status" -eq 0 ]
[[ ${lines[0]} =~ "total" ]] [[ ${lines[0]} =~ "total" ]]
} }
@test "$DRIVER: stop" { @test "$DRIVER: stop" {
run ./docker-machine_$PLATFORM-$ARCH stop $NAME run machine stop $NAME
[ "$status" -eq 0 ] [ "$status" -eq 0 ]
} }
@test "$DRIVER: machine should show stopped after stop" { @test "$DRIVER: machine should show stopped after stop" {
run ./docker-machine_$PLATFORM-$ARCH ls run machine ls
[ "$status" -eq 0 ] [ "$status" -eq 0 ]
[[ ${lines[1]} =~ "$NAME" ]] [[ ${lines[1]} == *"Stopped"* ]]
[[ ${lines[1]} =~ "Stopped" ]]
} }
@test "$DRIVER: start" { @test "$DRIVER: start" {
run ./docker-machine_$PLATFORM-$ARCH start $NAME run machine start $NAME
[ "$status" -eq 0 ] [ "$status" -eq 0 ]
} }
@test "$DRIVER: machine should show running after start" { @test "$DRIVER: machine should show running after start" {
run ./docker-machine_$PLATFORM-$ARCH ls run machine ls
[ "$status" -eq 0 ] [ "$status" -eq 0 ]
[[ ${lines[1]} =~ "$NAME" ]] [[ ${lines[1]} == *"Running"* ]]
[[ ${lines[1]} =~ "Running" ]]
} }
@test "$DRIVER: kill" { @test "$DRIVER: kill" {
run ./docker-machine_$PLATFORM-$ARCH kill $NAME run machine kill $NAME
[ "$status" -eq 0 ] [ "$status" -eq 0 ]
} }
@test "$DRIVER: machine should show stopped after kill" { @test "$DRIVER: machine should show stopped after kill" {
run ./docker-machine_$PLATFORM-$ARCH ls run machine ls
[ "$status" -eq 0 ] [ "$status" -eq 0 ]
[[ ${lines[1]} =~ "$NAME" ]] [[ ${lines[1]} == *"$NAME"* ]]
[[ ${lines[1]} =~ "Stopped" ]] [[ ${lines[1]} == *"Stopped"* ]]
} }
@test "$DRIVER: restart" { @test "$DRIVER: restart" {
run ./docker-machine_$PLATFORM-$ARCH restart $NAME run machine restart $NAME
[ "$status" -eq 0 ] [ "$status" -eq 0 ]
} }
@test "$DRIVER: machine should show running after restart" { @test "$DRIVER: machine should show running after restart" {
run ./docker-machine_$PLATFORM-$ARCH ls run machine ls
[ "$status" -eq 0 ] [ "$status" -eq 0 ]
[[ ${lines[1]} =~ "$NAME" ]] [[ ${lines[1]} == *"$NAME"* ]]
[[ ${lines[1]} =~ "Running" ]] [[ ${lines[1]} == *"Running"* ]]
} }
@test "$DRIVER: remove" { @test "$DRIVER: remove" {
run ./docker-machine_$PLATFORM-$ARCH rm -f $NAME run machine rm -f $NAME
[ "$status" -eq 0 ] [ "$status" -eq 0 ]
} }
@test "$DRIVER: machine should not exist" { @test "$DRIVER: machine should not exist" {
run ./docker-machine_$PLATFORM-$ARCH active $NAME run machine active $NAME
[ "$status" -eq 1 ] [ "$status" -eq 1 ]
} }

View File

@ -8,3 +8,7 @@ if [ "$ARCH" = "x86_64" ]; then
else else
ARCH="386" ARCH="386"
fi fi
function machine() {
./docker-machine_$PLATFORM-$ARCH $@
}