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