conftest.py 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. import logging
  2. import pytest
  3. from os import makedirs, path
  4. from shutil import rmtree
  5. from tempfile import gettempdir
  6. from lakesuperior import env
  7. from lakesuperior.config_parser import parse_config
  8. from lakesuperior.util.generators import random_image
  9. # Override data directory locations.
  10. config = parse_config()
  11. data_dir = path.join(gettempdir(), 'lsup_test', 'data')
  12. config['application']['data_dir'] = data_dir
  13. config['application']['store']['ldp_nr']['location'] = (
  14. path.join(data_dir, 'ldpnr_store'))
  15. config['application']['store']['ldp_rs']['location'] = (
  16. path.join(data_dir, 'ldprs_store'))
  17. env.setup(config=config)
  18. from lakesuperior.app import create_app
  19. @pytest.fixture(scope='module')
  20. def app():
  21. app = create_app(env.app_globals.config['application'])
  22. yield app
  23. @pytest.fixture(scope='module')
  24. def db(app):
  25. '''
  26. Set up and tear down test triplestore.
  27. '''
  28. env.app_globals.rdfly.bootstrap()
  29. env.app_globals.nonrdfly.bootstrap()
  30. print('Initialized data store.')
  31. env.app_globals.rdf_store.open_env(
  32. env.app_globals.rdf_store.env_path)
  33. yield env.app_globals.rdfly
  34. # TODO improve this by using tempfile.TemporaryDirectory as a context
  35. # manager.
  36. print('Removing fixture data directory.')
  37. env.app_globals.rdf_store.close_env()
  38. env.app_globals.rdf_store.destroy()
  39. @pytest.fixture
  40. def rnd_img():
  41. '''
  42. Generate a square image with random color tiles.
  43. '''
  44. return random_image(8, 256)
  45. @pytest.fixture(autouse=True)
  46. def disable_logging():
  47. """Disable logging in all tests."""
  48. logging.disable(logging.INFO)