mirror of https://github.com/docker/docs.git
36 lines
1.1 KiB
Bash
36 lines
1.1 KiB
Bash
#!/usr/bin/env bats
|
|
|
|
load helpers
|
|
|
|
function teardown() {
|
|
swarm_manage_cleanup
|
|
stop_docker
|
|
}
|
|
|
|
@test "swarm id generation" {
|
|
start_docker_with_busybox 1
|
|
swarm_manage
|
|
|
|
# Create a dummy container just so we interfere with the tests.
|
|
# This one won't be used.
|
|
docker_swarm run -d busybox true
|
|
|
|
# Create a container and get its Swarm ID back.
|
|
id=$(docker_swarm run -d -i busybox sh -c "head -n 1; echo output")
|
|
swarm_id=$(docker_swarm inspect -f '{{ index .Config.Labels "com.docker.swarm.id" }}' "$id")
|
|
|
|
# Make sure we got a valid Swarm ID.
|
|
[[ "${#swarm_id}" -eq 64 ]]
|
|
[[ "$id" != "$swarm_id" ]]
|
|
|
|
# API operations should work with Swarm IDs as well as Container IDs.
|
|
[[ $(docker_swarm inspect -f "{{ .Id }}" "$swarm_id") == "$id" ]]
|
|
# These should work with a Swarm ID.
|
|
docker_swarm logs "$swarm_id"
|
|
docker_swarm commit "$swarm_id"
|
|
attach_output=$(echo input | docker_swarm attach "$swarm_id")
|
|
|
|
# `docker ps` should be able to filter by Swarm ID using the label.
|
|
[[ $(docker_swarm ps -a -q --no-trunc --filter="label=com.docker.swarm.id=$swarm_id") == "$id" ]]
|
|
}
|