Utility to re-run a docker container with slightly different arguments
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

test.py 1.2KB

1234567891011121314151617181920212223242526272829303132
  1. #!/usr/bin/python3
  2. import subprocess
  3. from nose_parameterized import parameterized
  4. def _run(cmd):
  5. subprocess.call(cmd,
  6. stdout=subprocess.DEVNULL,
  7. stderr=subprocess.DEVNULL)
  8. @parameterized([
  9. 'docker run --name=test123 -d hello-world',
  10. 'docker run --name=test123 -d hello-world:latest',
  11. 'docker run --name=test123 -d hello-world /hello world...',
  12. 'docker run --name=test123 --restart=always -d hello-world',
  13. 'docker run --name=test123 --restart=on-failure:10 -d hello-world',
  14. 'docker run --name=test123 --net=host -d hello-world',
  15. 'docker run --name=test123 -d -p=127.0.0.1:443:443/tcp -p=127.0.0.1::1336/tcp hello-world',
  16. 'docker run --name=test123 -d -p=443/tcp hello-world',
  17. 'docker run --name=test123 --user=root -d hello-world /hello foobar',
  18. 'docker run --name=test123 --volume=/dev/null:/null --volume=/dev/urandom:/mnt/random -d hello-world',
  19. ])
  20. def test_command_matches(command):
  21. _run(['docker', 'rm', '-f', 'test123'])
  22. _run(command.split(' '))
  23. output = subprocess.check_output(['./docker-rerun', '--dry-run', 'test123'])
  24. output = output.decode('utf-8').strip().splitlines()
  25. assert output[3] == command
  26. _run(['docker', 'rm', '-f', 'test123'])