From 5b770f3767728bddf14b23803aa3087c8e6a1b40 Mon Sep 17 00:00:00 2001 From: mraniki <8766259+mraniki@users.noreply.github.com> Date: Fri, 5 Jul 2024 09:23:47 +0200 Subject: [PATCH] =?UTF-8?q?=E2=9C=85=20Unit=20Test=20=E2=99=BB=EF=B8=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- findmyorder/default_settings.toml | 2 +- findmyorder/handler/basic.py | 1 + findmyorder/handler/handler.py | 3 +-- findmyorder/handler/standard.py | 1 + findmyorder/main.py | 14 ++++++++------ tests/test_unit.py | 2 ++ 6 files changed, 14 insertions(+), 9 deletions(-) diff --git a/findmyorder/default_settings.toml b/findmyorder/default_settings.toml index 98a90d2..3bb6f3b 100644 --- a/findmyorder/default_settings.toml +++ b/findmyorder/default_settings.toml @@ -14,7 +14,7 @@ [default] # Dynaconf settings verification -VALUE = "Production - Default" +# VALUE = "Production - Default" # Module Enable/Disable findmyorder_enabled = true diff --git a/findmyorder/handler/basic.py b/findmyorder/handler/basic.py index cee8279..662d1cd 100644 --- a/findmyorder/handler/basic.py +++ b/findmyorder/handler/basic.py @@ -25,6 +25,7 @@ def __init__(self, **kwargs): """ super().__init__(**kwargs) + self.client = "basic" async def identify_order( self, diff --git a/findmyorder/handler/handler.py b/findmyorder/handler/handler.py index 71230d1..7d4c167 100644 --- a/findmyorder/handler/handler.py +++ b/findmyorder/handler/handler.py @@ -22,10 +22,9 @@ def __init__(self, **kwargs): """ Initialize the chat client. """ - self.name = kwargs.get("name", None) + self.client = None self.enabled = kwargs.get("enabled", None) - self.action_identifier = kwargs.get("action_identifier", None) self.stop_loss_identifier = kwargs.get("stop_loss_identifier", None) self.take_profit_identifier = kwargs.get("take_profit_identifier", None) diff --git a/findmyorder/handler/standard.py b/findmyorder/handler/standard.py index 95f244c..658df30 100644 --- a/findmyorder/handler/standard.py +++ b/findmyorder/handler/standard.py @@ -27,6 +27,7 @@ def __init__(self, **kwargs): """ super().__init__(**kwargs) + self.client = "standard" async def identify_order( self, diff --git a/findmyorder/main.py b/findmyorder/main.py index 44979b5..57c3374 100644 --- a/findmyorder/main.py +++ b/findmyorder/main.py @@ -47,28 +47,30 @@ def __init__( self.enabled = settings.findmyorder_enabled if not self.enabled: logger.info("FindMyOrder is disabled. No Parser will be created.") + self.client_classes = self.get_all_client_classes() self.clients = [] # Create a client for each client in settings.myllm for name, client_config in settings.findmyorder.items(): + logger.debug("client_config: {}", client_config) # Skip template and empty string client names if name in ["", "template"] or not client_config.get("enabled"): continue try: # Create the client - logger.debug("Creating client {}", name) + logger.debug("Creating FMO parser {}", name) client = self._create_client(**client_config, name=name) # If the client has a valid client attribute, append it to the list - if client and getattr(client, "client", None): + if client and getattr(client, "parser", None): self.clients.append(client) except Exception as e: # Log the error if the client fails to be created - logger.error(f"Failed to create client {name}: {e}") + logger.error(f"Failed to create parser {name}: {e}") # Log the number of clients that were created - logger.info(f"Loaded {len(self.clients)} clients") + logger.info(f"Loaded {len(self.clients)} parsers") if not self.clients: logger.warning( - "No clients were created. Check your settings or disable the module." + "No Parsers were created. Check your settings or disable the module." ) def _create_client(self, **kwargs): @@ -106,7 +108,7 @@ def _create_client(self, **kwargs): """ library = kwargs.get("parser_library", "standard") client_class = self.client_classes.get(f"{library.capitalize()}Handler") - + logger.debug(f"Creating {library} client with {kwargs} and {client_class}") if client_class is None: logger.error(f"library {library} not supported") return None diff --git a/tests/test_unit.py b/tests/test_unit.py index 73066d1..8aaba8b 100644 --- a/tests/test_unit.py +++ b/tests/test_unit.py @@ -139,11 +139,13 @@ async def test_info(fmo): print(result) assert result is not None assert "FindMyOrder" in result + assert "ℹ️" in result @pytest.mark.asyncio async def test_search_valid_order(fmo, crypto_order): """Search Testing""" + print(settings) assert await fmo.search(crypto_order) is True