conftest.py 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. # Copyright (c) 2018 Ultimaker B.V.
  2. # Uranium is released under the terms of the LGPLv3 or higher.
  3. # The purpose of this class is to create fixtures or methods that can be shared among all settings tests.
  4. import pytest
  5. from UM.Settings.DefinitionContainer import DefinitionContainer #To provide definition containers in the registry fixtures.
  6. from UM.Settings.InstanceContainer import InstanceContainer
  7. from cura.Settings.CuraContainerRegistry import CuraContainerRegistry
  8. from cura.Settings.ExtruderStack import ExtruderStack
  9. from cura.Settings.GlobalStack import GlobalStack
  10. import cura.Settings.CuraContainerStack
  11. # Returns the CuraContainerRegistry instance with some empty containers.
  12. @pytest.fixture()
  13. def container_registry(application) -> CuraContainerRegistry:
  14. return application.getContainerRegistry()
  15. # Gives an arbitrary definition container.
  16. @pytest.fixture()
  17. def definition_container() -> DefinitionContainer:
  18. return DefinitionContainer(container_id = "Test Definition")
  19. #An empty global stack to test with.
  20. @pytest.fixture()
  21. def global_stack() -> GlobalStack:
  22. global_stack = GlobalStack("TestGlobalStack")
  23. # There is a restriction here that the definition changes cannot be an empty container. Added in CURA-5281
  24. definition_changes_container = InstanceContainer(container_id = "InstanceContainer")
  25. definition_changes_container.setMetaDataEntry("type", "definition_changes")
  26. global_stack._containers[cura.Settings.CuraContainerStack._ContainerIndexes.DefinitionChanges] = definition_changes_container
  27. return global_stack
  28. ## An empty extruder stack to test with.
  29. @pytest.fixture()
  30. def extruder_stack() -> ExtruderStack:
  31. return ExtruderStack("TestExtruderStack")