mirror of
https://github.com/gogcom/galaxy-integrations-python-api.git
synced 2026-04-22 15:17:02 -04:00
SDK-2983: Split entry methods from feature detection
This commit is contained in:
@@ -58,6 +58,7 @@ def plugin(reader, writer):
|
||||
stack.enter_context(patch.object(Plugin, method))
|
||||
yield Plugin(Platform.Generic, "0.1", reader, writer, "token")
|
||||
|
||||
|
||||
@pytest.fixture(autouse=True)
|
||||
def my_caplog(caplog):
|
||||
caplog.set_level(logging.DEBUG)
|
||||
|
||||
@@ -1,21 +1,49 @@
|
||||
from galaxy.api.consts import Feature, Platform
|
||||
from galaxy.api.plugin import Plugin
|
||||
from galaxy.api.consts import Platform, Feature
|
||||
|
||||
|
||||
def test_base_class():
|
||||
plugin = Plugin(Platform.Generic, "0.1", None, None, None)
|
||||
assert plugin.features == []
|
||||
assert set(plugin.features) == {
|
||||
Feature.ImportInstalledGames,
|
||||
Feature.ImportOwnedGames,
|
||||
Feature.LaunchGame,
|
||||
Feature.InstallGame,
|
||||
Feature.UninstallGame,
|
||||
Feature.ImportAchievements,
|
||||
Feature.ImportGameTime,
|
||||
Feature.ImportFriends,
|
||||
Feature.ShutdownPlatformClient
|
||||
}
|
||||
|
||||
|
||||
def test_no_overloads():
|
||||
class PluginImpl(Plugin): #pylint: disable=abstract-method
|
||||
class PluginImpl(Plugin): # pylint: disable=abstract-method
|
||||
pass
|
||||
|
||||
plugin = PluginImpl(Platform.Generic, "0.1", None, None, None)
|
||||
assert plugin.features == []
|
||||
|
||||
|
||||
def test_one_method_feature():
|
||||
class PluginImpl(Plugin): #pylint: disable=abstract-method
|
||||
class PluginImpl(Plugin): # pylint: disable=abstract-method
|
||||
async def get_owned_games(self):
|
||||
pass
|
||||
|
||||
plugin = PluginImpl(Platform.Generic, "0.1", None, None, None)
|
||||
assert plugin.features == [Feature.ImportOwnedGames]
|
||||
assert plugin.features == [Feature.ImportOwnedGames]
|
||||
|
||||
|
||||
def test_multi_features():
|
||||
class PluginImpl(Plugin): # pylint: disable=abstract-method
|
||||
async def get_owned_games(self):
|
||||
pass
|
||||
|
||||
async def import_games_achievements(self, game_ids) -> None:
|
||||
pass
|
||||
|
||||
async def start_game_times_import(self, game_ids) -> None:
|
||||
pass
|
||||
|
||||
plugin = PluginImpl(Platform.Generic, "0.1", None, None, None)
|
||||
assert set(plugin.features) == {Feature.ImportAchievements, Feature.ImportOwnedGames}
|
||||
|
||||
Reference in New Issue
Block a user