From 0ece58b08d0698ec0b52234f24169c67fdee9f2d Mon Sep 17 00:00:00 2001 From: Ivo Branco Date: Wed, 5 Jun 2024 09:49:51 +0100 Subject: [PATCH] feat: add pool as setting Sage X3 requires different pool for different environment. fccn/nau-financial-manager#297 --- apps/billing/services/processor_service.py | 3 ++- apps/billing/tests/test_sagex3_processor_data.py | 8 ++++++++ nau_financial_manager/settings.py | 1 + 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/apps/billing/services/processor_service.py b/apps/billing/services/processor_service.py index 244a996..277b24d 100644 --- a/apps/billing/services/processor_service.py +++ b/apps/billing/services/processor_service.py @@ -22,6 +22,7 @@ class SageX3Processor(TransactionProcessorInterface): def __init__(self, transaction: Transaction) -> None: super().__init__(transaction) self.__processor_url = getattr(settings, "TRANSACTION_PROCESSOR_URL") + self.__pool_alias = getattr(settings, "POOL_ALIAS") self.__vacitm1 = getattr(settings, "IVA_VACITM1_FIELD") self.__vacbpr = getattr(settings, "GEOGRAPHIC_ACTIVITY_VACBPR_FIELD") self.__user_processor_auth = getattr(settings, "USER_PROCESSOR_AUTH") @@ -166,7 +167,7 @@ def __generate_data(self) -> str: POR - WSTEST + {self.__pool_alias} ? adxwss.beautify=true diff --git a/apps/billing/tests/test_sagex3_processor_data.py b/apps/billing/tests/test_sagex3_processor_data.py index 5a4edf8..e7b9fa4 100644 --- a/apps/billing/tests/test_sagex3_processor_data.py +++ b/apps/billing/tests/test_sagex3_processor_data.py @@ -13,6 +13,14 @@ class SageX3ProcessDataTest(TestCase): A test case for the SageX3Processor data property. """ + @override_settings(POOL_ALIAS="MY_POOL") + def test_pool_alias(self): + transaction = TransactionFactory() + xml = SageX3Processor(transaction).data + root = ET.fromstring(xml) # nosec + poolAlias: str = root.findall(".//*/poolAlias")[0].text.strip() + self.assertEqual(poolAlias, "MY_POOL") + @staticmethod def _get_xml_element_from_transaction(transaction: Transaction) -> ET.Element: xml = SageX3Processor(transaction).data diff --git a/nau_financial_manager/settings.py b/nau_financial_manager/settings.py index b601e47..5d0bec7 100644 --- a/nau_financial_manager/settings.py +++ b/nau_financial_manager/settings.py @@ -271,6 +271,7 @@ def get_env_setting(env_variable, default=None): # Sage X3 - Transaction processor settings TRANSACTION_PROCESSOR_URL = CONFIG.get("TRANSACTION_PROCESSOR_URL", "") +POOL_ALIAS = CONFIG.get("POOL_ALIAS", "WSTEST") IVA_VACITM1_FIELD = CONFIG.get("IVA_VACITM1_FIELD", "NOR") GEOGRAPHIC_ACTIVITY_VACBPR_FIELD = CONFIG.get("GEOGRAPHIC_ACTIVITY_VACBPR_FIELD", "CON") USER_PROCESSOR_AUTH = CONFIG.get("USER_PROCESSOR_AUTH", "")