test_manager_platforms_windows.py 3.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. """
  2. Copyright (c) Contributors to the Open 3D Engine Project.
  3. For complete copyright and license terms please see the LICENSE at the root of this distribution.
  4. SPDX-License-Identifier: Apache-2.0 OR MIT
  5. Unit tests for ly_test_tools._internal.managers.platforms.windows
  6. """
  7. import unittest.mock as mock
  8. import os
  9. import pytest
  10. import ly_test_tools
  11. from ly_test_tools._internal.managers.platforms.windows import (
  12. _WindowsResourceLocator, WindowsWorkspaceManager,
  13. CACHE_DIR)
  14. from ly_test_tools import WINDOWS
  15. pytestmark = pytest.mark.SUITE_smoke
  16. if not WINDOWS:
  17. pytestmark = pytest.mark.skipif(
  18. not WINDOWS,
  19. reason="test_manager_platforms_windows.py only runs on Windows")
  20. mock_engine_root = 'mock_engine_root'
  21. mock_dev_path = 'mock_dev_path'
  22. mock_build_directory = 'mock_build_directory'
  23. mock_project = 'mock_project'
  24. mock_tmp_path = 'mock_tmp_path'
  25. mock_output_path = 'mock_output_path'
  26. @mock.patch('ly_test_tools._internal.managers.abstract_resource_locator._find_engine_root',
  27. mock.MagicMock(return_value=mock_engine_root))
  28. @mock.patch('ly_test_tools._internal.managers.abstract_resource_locator._find_project_json', mock.MagicMock(
  29. return_value=mock_project))
  30. class TestWindowsResourceLocator(object):
  31. def test_PlatformCache_HasPath_ReturnsPath(self):
  32. windows_resource_locator = ly_test_tools._internal.managers.platforms.windows._WindowsResourceLocator(
  33. mock_build_directory, mock_project)
  34. expected = os.path.join(
  35. windows_resource_locator.project_cache(), CACHE_DIR)
  36. assert windows_resource_locator.platform_cache() == expected
  37. def test_ProjectLog_HasPath_ReturnsPath(self):
  38. windows_resource_locator = ly_test_tools._internal.managers.platforms.windows._WindowsResourceLocator(
  39. mock_build_directory, mock_project)
  40. expected = os.path.join(
  41. windows_resource_locator.project(),
  42. 'user',
  43. 'log')
  44. assert windows_resource_locator.project_log() == expected
  45. def test_ProjectScreenshots_HasPath_ReturnsPath(self):
  46. windows_resource_locator = ly_test_tools._internal.managers.platforms.windows._WindowsResourceLocator(
  47. mock_build_directory, mock_project)
  48. expected = os.path.join(
  49. windows_resource_locator.project(),
  50. 'user',
  51. 'ScreenShots')
  52. assert windows_resource_locator.project_screenshots() == expected
  53. def test_EditorLog_HasPath_ReturnsPath(self):
  54. windows_resource_locator = ly_test_tools._internal.managers.platforms.windows._WindowsResourceLocator(
  55. mock_build_directory, mock_project)
  56. expected = os.path.join(
  57. windows_resource_locator.project_log(),
  58. 'Editor.log')
  59. assert windows_resource_locator.editor_log() == expected
  60. @mock.patch('ly_test_tools._internal.managers.abstract_resource_locator._find_engine_root',
  61. mock.MagicMock(return_value=mock_engine_root))
  62. @mock.patch('ly_test_tools._internal.managers.abstract_resource_locator._find_project_json', mock.MagicMock(
  63. return_value=mock_project))
  64. class TestWindowsWorkspaceManager(object):
  65. @mock.patch('ly_test_tools.environment.reg_cleaner.create_ly_keys')
  66. def test_SetRegistryKeys_NewWorkspaceManager_KeyCreateCalled(self, mock_create_keys):
  67. windows_workspace_manager = ly_test_tools._internal.managers.platforms.windows.WindowsWorkspaceManager()
  68. windows_workspace_manager.set_registry_keys()
  69. mock_create_keys.assert_called_once()
  70. @mock.patch('ly_test_tools.environment.reg_cleaner.clean_ly_keys')
  71. def test_ClearSettings_NewWorkspaceManager_KeyClearCalled(self, mock_clear_keys):
  72. windows_workspace_manager = ly_test_tools._internal.managers.platforms.windows.WindowsWorkspaceManager()
  73. windows_workspace_manager.clear_settings()
  74. mock_clear_keys.assert_called_with(exception_list=r"SOFTWARE\O3DE\O3DE\Identity")