2
0

test_dev_parity_with_build_server.py 942 B

123456789101112131415161718192021222324
  1. import ruamel.yaml
  2. def test_dev_docker_compose_has_same_services_as_build_server_configuration():
  3. yaml = ruamel.yaml.YAML(typ='safe')
  4. dev_services = {
  5. name: service
  6. for name, service in yaml.load(open('tests/end-to-end/docker-compose.yaml').read())[
  7. 'services'
  8. ].items()
  9. if name != 'tests'
  10. }
  11. build_server_services = tuple(yaml.load_all(open('.drone.yml').read()))[0]['services']
  12. assert len(dev_services) == len(build_server_services)
  13. for build_service in build_server_services:
  14. dev_service = dev_services[build_service['name']]
  15. assert dev_service['image'] == build_service['image']
  16. assert dev_service['environment'] == build_service['environment']
  17. if 'command' in dev_service or 'commands' in build_service:
  18. assert len(build_service['commands']) <= 1
  19. assert dev_service['command'] == build_service['commands'][0]