solomon_runner.py 1020 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import os
  2. import pytest
  3. import requests
  4. class SolomonWrapper(object):
  5. def __init__(self, url, endpoint):
  6. self._url = url
  7. self._endpoint = endpoint
  8. self.table_prefix = ""
  9. def is_valid(self):
  10. return self._url is not None
  11. def cleanup(self):
  12. res = requests.post(self._url + "/cleanup")
  13. res.raise_for_status()
  14. def get_metrics(self):
  15. res = requests.get(self._url + "/metrics?project=my_project&cluster=my_cluster&service=my_service")
  16. res.raise_for_status()
  17. return res.text
  18. def prepare_program(self, program, program_file, res_dir, lang='sql'):
  19. return program, program_file
  20. @property
  21. def url(self):
  22. return self._url
  23. @property
  24. def endpoint(self):
  25. return self._endpoint
  26. @pytest.fixture(scope='module')
  27. def solomon(request):
  28. solomon_url = os.environ.get("SOLOMON_URL")
  29. solomon_endpoint = os.environ.get("SOLOMON_ENDPOINT")
  30. return SolomonWrapper(solomon_url, solomon_endpoint)