conftest.py 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. from datetime import datetime, timedelta, timezone
  2. import pytest
  3. from flask_security import SQLAlchemySessionUserDatastore
  4. from flask_security.utils import hash_password
  5. @pytest.fixture(scope="module", autouse=True)
  6. def setup_api_test_data(db, setup_accounts, setup_roles_users):
  7. """
  8. Adding the task-runner
  9. """
  10. print("Setting up data for API task runner tests on %s" % db.engine)
  11. from flexmeasures.data.models.user import User, Role
  12. from flexmeasures.data.models.task_runs import LatestTaskRun
  13. # Create test role
  14. user_datastore = SQLAlchemySessionUserDatastore(db.session, User, Role)
  15. test_task_runner_role = user_datastore.create_role(
  16. name="task-runner", description="A node running repeated tasks."
  17. )
  18. # Create test user
  19. test_task_runner = user_datastore.create_user(
  20. username="test user",
  21. email="task_runner@seita.nl",
  22. password=hash_password("testtest"),
  23. account_id=setup_accounts["Prosumer"].id,
  24. )
  25. user_datastore.add_role_to_user(test_task_runner, test_task_runner_role)
  26. # More task stuff
  27. older_task = LatestTaskRun(
  28. name="task-A",
  29. status=True,
  30. datetime=datetime.now(timezone.utc) - timedelta(days=1),
  31. )
  32. recent_task = LatestTaskRun(name="task-B", status=False)
  33. db.session.add(older_task)
  34. db.session.add(recent_task)
  35. print("Done setting up data for API task runner tests")