summaryrefslogtreecommitdiff
path: root/tests/test_steam_service.py
diff options
context:
space:
mode:
authorxXJSONDeruloXx <danielhimebauch@gmail.com>2026-09-09 19:16:30 -0400
committerxXJSONDeruloXx <danielhimebauch@gmail.com>2026-09-09 20:20:58 -0400
commitcc1e6f47dd9838b066822162a607d2859c043aff (patch)
tree532915c1e98c068ab8324d71a0dab160bb53de68 /tests/test_steam_service.py
parent102a4a0f0ce4af303a12e7f6f1a4454f4e572a17 (diff)
downloaddecky-lsfg-vk-cc1e6f47dd9838b066822162a607d2859c043aff.tar.gz
decky-lsfg-vk-cc1e6f47dd9838b066822162a607d2859c043aff.zip
refactor: unify flatpak targets with steam profiles
Diffstat (limited to 'tests/test_steam_service.py')
-rw-r--r--tests/test_steam_service.py77
1 files changed, 77 insertions, 0 deletions
diff --git a/tests/test_steam_service.py b/tests/test_steam_service.py
new file mode 100644
index 0000000..849bb01
--- /dev/null
+++ b/tests/test_steam_service.py
@@ -0,0 +1,77 @@
+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, classify_shortcut_transport
+
+
+class SteamTransportTests(unittest.TestCase):
+ def test_only_direct_canonical_flatpak_forms_are_classified(self):
+ self.assertEqual(
+ classify_shortcut_transport(
+ "/usr/bin/flatpak",
+ "run com.example.PCSX2 --fullscreen",
+ ),
+ {"kind": "flatpak", "flatpakAppId": "com.example.PCSX2"},
+ )
+ self.assertEqual(
+ classify_shortcut_transport(
+ "/usr/bin/flatpak run com.example.PCSX2",
+ "--fullscreen",
+ ),
+ {"kind": "flatpak", "flatpakAppId": "com.example.PCSX2"},
+ )
+ self.assertEqual(
+ classify_shortcut_transport(
+ "/usr/bin/bash",
+ "~/launch-game.sh --fullscreen",
+ ),
+ {"kind": "host"},
+ )
+ self.assertEqual(
+ classify_shortcut_transport(
+ "/usr/bin/flatpak",
+ "--user run com.example.PCSX2",
+ ),
+ {"kind": "host"},
+ )
+ self.assertEqual(
+ classify_shortcut_transport(
+ "/usr/bin/flatpak",
+ "run bash ~/launch-game.sh",
+ ),
+ {"kind": "host"},
+ )
+
+ def test_shortcut_data_preserves_transport_inputs(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")
+ self.assertEqual(game["transport"], {
+ "kind": "flatpak",
+ "flatpakAppId": "net.pcsx2.PCSX2",
+ })
+ self.assertEqual(game["executable"], "/usr/bin/flatpak")
+ self.assertEqual(game["arguments"], "run net.pcsx2.PCSX2 --fullscreen")
+ self.assertEqual(game["startDir"], "/home/deck/Games")
+
+
+if __name__ == "__main__":
+ unittest.main()