#!/usr/bin/env bats load helpers function teardown() { swarm_manage_cleanup stop_docker } # FIXME @test "docker attach" { skip } @test "docker build" { start_docker 3 swarm_manage run docker_swarm images -q [ "$status" -eq 0 ] [ "${#lines[@]}" -eq 0 ] run docker_swarm build -t test $BATS_TEST_DIRNAME/testdata/build [ "$status" -eq 0 ] run docker_swarm images -q [ "$status" -eq 0 ] [ "${#lines[@]}" -eq 1 ] } # FIXME @test "docker commit" { skip } # FIXME @test "docker cp" { skip } # FIXME @test "docker create" { skip } # FIXME @test "docker diff" { skip } # FIXME @test "docker events" { skip } # FIXME @test "docker exec" { skip } # FIXME @test "docker export" { skip } # FIXME @test "docker history" { skip } # FIXME @test "docker images" { skip } # FIXME @test "docker import" { skip } @test "docker info" { start_docker 3 swarm_manage run docker_swarm info [ "$status" -eq 0 ] [[ "${lines[3]}" == *"Nodes: 3" ]] } @test "docker inspect" { start_docker 3 swarm_manage # run container run docker_swarm run -d --name test_container busybox sleep 500 [ "$status" -eq 0 ] # make sure container exsists run docker_swarm ps -l [ "${#lines[@]}" -eq 2 ] [[ "${lines[1]}" == *"test_container"* ]] # inspect and verify run docker_swarm inspect test_container [ "$status" -eq 0 ] [[ "${lines[1]}" == *"AppArmorProfile"* ]] # the specific information of swarm node [[ ${output} == *'"Node": {'* ]] [[ ${output} == *'"Name": "node-'* ]] } @test "docker inspect --format" { start_docker 3 swarm_manage # run container run docker_swarm run -d --name test_container busybox sleep 500 [ "$status" -eq 0 ] # make sure container exsists run docker_swarm ps -l [ "${#lines[@]}" -eq 2 ] [[ "${lines[1]}" == *"test_container"* ]] # inspect --format='{{.Config.Image}}', return one line: image name run docker_swarm inspect --format='{{.Config.Image}}' test_container [ "$status" -eq 0 ] [ "${#lines[@]}" -eq 1 ] [[ "${lines[0]}" == "busybox" ]] # inspect --format='{{.Node.IP}}', return one line: Node ip run docker_swarm inspect --format='{{.Node.IP}}' test_container [ "$status" -eq 0 ] [ "${#lines[@]}" -eq 1 ] [[ "${lines[0]}" == "127.0.0.1" ]] } # FIXME @test "docker kill" { skip } # FIXME @test "docker load" { skip } # FIXME @test "docker login" { skip } # FIXME @test "docker logout" { skip } # FIXME @test "docker logs" { skip } # FIXME @test "docker port" { skip } @test "docker pause" { start_docker 3 swarm_manage run docker_swarm run -d --name test_container busybox sleep 1000 [ "$status" -eq 0 ] # make sure container is up run docker_swarm ps -l [ "${#lines[@]}" -eq 2 ] [[ "${lines[1]}" == *"test_container"* ]] [[ "${lines[1]}" == *"Up"* ]] run docker_swarm pause test_container [ "$status" -eq 0 ] # verify run docker_swarm ps -l [ "${#lines[@]}" -eq 2 ] [[ "${lines[1]}" == *"test_container"* ]] [[ "${lines[1]}" == *"Paused"* ]] # if the state of the container is paused, it can't be removed(rm -f) run docker_swarm unpause test_container [ "$status" -eq 0 ] } @test "docker ps -n" { start_docker 1 swarm_manage run docker_swarm run -d busybox sleep 42 run docker_swarm run -d busybox false run docker_swarm ps -n 3 # Non-running containers should be included in ps -n [ "${#lines[@]}" -eq 3 ] run docker_swarm run -d busybox true run docker_swarm ps -n 3 [ "${#lines[@]}" -eq 4 ] run docker_swarm run -d busybox true run docker_swarm ps -n 3 [ "${#lines[@]}" -eq 4 ] } @test "docker ps -l" { start_docker 1 swarm_manage run docker_swarm run -d busybox sleep 42 sleep 1 #sleep so the 2 containers don't start at the same second run docker_swarm run -d busybox true run docker_swarm ps -l [ "${#lines[@]}" -eq 2 ] # Last container should be "true", even though it's stopped. [[ "${lines[1]}" == *"true"* ]] sleep 1 #sleep so the container doesn't start at the same second as 'busybox true' run docker_swarm run -d busybox false run docker_swarm ps -l [ "${#lines[@]}" -eq 2 ] [[ "${lines[1]}" == *"false"* ]] } # FIXME @test "docker pull" { skip } # FIXME @test "docker push" { skip } # FIXME @test "docker rename" { skip } # FIXME @test "docker restart" { skip } # FIXME @test "docker rm" { skip } # FIXME @test "docker rmi" { skip } # FIXME @test "docker run" { skip } # FIXME @test "docker save" { skip } # FIXME @test "docker search" { skip } # FIXME @test "docker start" { skip } # FIXME @test "docker stats" { skip } # FIXME @test "docker stop" { skip } # FIXME @test "docker tag" { skip } # FIXME @test "docker top" { skip } @test "docker unpause" { start_docker 3 swarm_manage run docker_swarm run -d --name test_container busybox sleep 1000 [ "$status" -eq 0 ] # make sure container is up run docker_swarm ps -l [ "${#lines[@]}" -eq 2 ] [[ "${lines[1]}" == *"test_container"* ]] [[ "${lines[1]}" == *"Up"* ]] # pause run docker_swarm pause test_container [ "$status" -eq 0 ] run docker_swarm ps -l [ "${#lines[@]}" -eq 2 ] [[ "${lines[1]}" == *"test_container"* ]] [[ "${lines[1]}" == *"Paused"* ]] # unpause run docker_swarm unpause test_container [ "$status" -eq 0 ] # verify run docker_swarm ps -l [ "${#lines[@]}" -eq 2 ] [[ "${lines[1]}" == *"test_container"* ]] [[ "${lines[1]}" == *"Up"* ]] [[ "${lines[1]}" != *"Paused"* ]] } # FIXME @test "docker version" { skip } # FIXME @test "docker wait" { skip }