run.sh 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #!/bin/bash
  2. set -eo pipefail
  3. dir="$(dirname "$(readlink -f "$BASH_SOURCE")")"
  4. image="$1"
  5. NUXEO_TEST_SLEEP=5
  6. NUXEO_TEST_TRIES=10
  7. cname="nuxeo-container-$RANDOM-$RANDOM"
  8. cid="$(docker run -d --name "$cname" "$image")"
  9. trap "docker rm -vf $cid > /dev/null" EXIT
  10. get() {
  11. docker run --rm -i \
  12. --link "$cname":nuxeo \
  13. --entrypoint curl \
  14. "$image" \
  15. -fs \
  16. -H "Content-Type:application/json" \
  17. -u Administrator:Administrator \
  18. "http://nuxeo:8080/nuxeo/api/v1/$1"
  19. }
  20. python() {
  21. docker run --rm -i \
  22. --entrypoint python \
  23. "$image" \
  24. "$@"
  25. }
  26. PATH1='default-domain/workspaces'
  27. . "$dir/../../retry.sh" \
  28. --tries "$NUXEO_TEST_TRIES" \
  29. --sleep "$NUXEO_TEST_SLEEP" \
  30. "get 'path/$PATH1'"
  31. # First get a document by its path to get its id
  32. DUID="$(get "path/$PATH1" | python -c 'import json, sys; obj = json.load(sys.stdin); print(obj["uid"]);')"
  33. # Then get the same document by its id
  34. PATH2="$(get "id/$DUID" | python -c 'import json, sys; obj = json.load(sys.stdin); print(obj["path"]);')"
  35. # Compare both path
  36. [ "/$PATH1" = "$PATH2" ]