mirror of https://github.com/docker/docs.git
57 lines
1.1 KiB
Bash
57 lines
1.1 KiB
Bash
#!/usr/bin/env bats
|
|
|
|
load ../helpers
|
|
|
|
function teardown() {
|
|
swarm_manage_cleanup
|
|
stop_docker
|
|
}
|
|
|
|
@test "docker import" {
|
|
start_docker_with_busybox 2
|
|
swarm_manage
|
|
# run a container to export
|
|
docker_swarm run -d --name test_container busybox sleep 500
|
|
|
|
temp_file_name=$(mktemp)
|
|
# make sure container exists
|
|
run docker_swarm ps -l
|
|
[ "${#lines[@]}" -eq 2 ]
|
|
[[ "${lines[1]}" == *"test_container"* ]]
|
|
|
|
# export, container->tar
|
|
docker_swarm export test_container > $temp_file_name
|
|
|
|
# verify: exported file exists, not empty and is tar file
|
|
[ -s $temp_file_name ]
|
|
run file $temp_file_name
|
|
[ "$status" -eq 0 ]
|
|
[[ "$output" == *"tar archive"* ]]
|
|
|
|
# import
|
|
docker_swarm import - testbusybox < $temp_file_name
|
|
|
|
# verify on the nodes
|
|
for host in ${HOSTS[@]}; do
|
|
run docker -H $host images
|
|
[ "$status" -eq 0 ]
|
|
[[ "${output}" == *"testbusybox"* ]]
|
|
done
|
|
|
|
# after ok, delete exported tar file
|
|
rm -f $temp_file_name
|
|
}
|
|
|
|
@test "docker import - check error code" {
|
|
start_docker 2
|
|
swarm_manage
|
|
|
|
temp_file=$(mktemp)
|
|
echo abc > $temp_file
|
|
|
|
run docker_swarm import - < $temp_file
|
|
[ "$status" -eq 1 ]
|
|
|
|
rm -f $temp_file
|
|
}
|