import sys import types import unittest from pathlib import Path from unittest.mock import Mock sys.modules.setdefault( "decky", types.SimpleNamespace(DECKY_USER_HOME="/home/deck", logger=Mock()), ) sys.path.insert(0, str(Path(__file__).resolve().parents[1] / "py_modules")) from lsfg_vk.steam_service import SteamService class SteamShortcutTests(unittest.TestCase): def test_direct_flatpak_shortcut_is_ordinary_non_steam_metadata(self): game = SteamService._shortcut_game( { "appid": 123456, "AppName": "PCSX2 shortcut", "Exe": "/usr/bin/flatpak", "LaunchOptions": "run net.pcsx2.PCSX2 --fullscreen", "StartDir": "/home/deck/Games", } ) self.assertEqual(game, { "appid": "123456", "name": "PCSX2 shortcut", "nonSteam": True, }) def test_emudeck_launcher_is_ordinary_non_steam_metadata(self): game = SteamService._shortcut_game( { "appid": 987654, "AppName": "1080 Snowboarding", "Exe": '"/home/deck/Emulation/tools/launchers/retroarch.sh" -L core rom.z64', "LaunchOptions": "", } ) self.assertEqual(game, { "appid": "987654", "name": "1080 Snowboarding", "nonSteam": True, }) def test_shortcut_rejects_invalid_identity(self): self.assertIsNone(SteamService._shortcut_game({"appid": 0, "AppName": "Bad"})) self.assertIsNone(SteamService._shortcut_game({"appid": 1, "AppName": ""})) self.assertIsNone(SteamService._shortcut_game("bad")) if __name__ == "__main__": unittest.main()