diff --git a/app.py b/app.py index b54c3b8..2c6191e 100644 --- a/app.py +++ b/app.py @@ -8,6 +8,8 @@ from services.player import Player app = Flask(__name__) +logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - [%(module)s] - %(message)s') + @app.route('/') def hello_world(): # put application's code here diff --git a/services/julius_baer_api_client.py b/services/julius_baer_api_client.py index d8b5f0d..0441421 100644 --- a/services/julius_baer_api_client.py +++ b/services/julius_baer_api_client.py @@ -29,7 +29,7 @@ class JuliusBaerApiClient: """ Start a new game session. """ - logging.info("[+] Starting new game session") + logging.debug("[+] Starting new game session") start_uri = f"{self.api_uri}/game/start" payload = game_start_request.model_dump_json() @@ -39,7 +39,7 @@ class JuliusBaerApiClient: response_json = response.json() validated_response = GameStartResponseDTO.model_validate(response_json) - logging.info(f"Game started successfully. Session: {validated_response.session_id}, Client: {validated_response.client_id}") + logging.debug(f"Game started successfully. Session: {validated_response.session_id}, Client: {validated_response.client_id}") return validated_response except Exception as e: @@ -50,7 +50,7 @@ class JuliusBaerApiClient: """ Make a game decision (Accept or Reject). """ - logging.info("[+] Sending decision") + logging.debug("[+] Sending decision") decision_uri = f"{self.api_uri}/game/decision" payload = game_decision_request.model_dump_json() @@ -61,7 +61,7 @@ class JuliusBaerApiClient: response_json = response.json() validated_response = GameDecisionResponseDTO.model_validate(response_json) - logging.info("[+] Decision sent successfully") + logging.debug("[+] Decision sent successfully") return validated_response except Exception as e: diff --git a/services/player.py b/services/player.py index a1634f3..25fa07b 100644 --- a/services/player.py +++ b/services/player.py @@ -7,6 +7,8 @@ from dto.requests import GameStartRequestDTO, GameDecisionRequestDTO from services.julius_baer_api_client import JuliusBaerApiClient from utils.storage.game_files_manager import store_game_round_data +log = logging.getLogger(__name__) + class Player: @@ -19,7 +21,7 @@ class Player: def play_on_separate_thread(self): if self._thread and self._thread.is_alive(): - logging.warning('Game loop already running.') + log.warning('Game loop already running.') return self._thread self._thread = threading.Thread(target=self.play, daemon=True) @@ -27,10 +29,10 @@ class Player: return self._thread def play(self): - print('playing') + log.info('playing') payload = GameStartRequestDTO(player_name=config.API_TEAM) start_response = self.client.start_game(payload) - logging.info(start_response) + log.info('game started, session id: %s', start_response.session_id) status = '' decision = self.make_decision(start_response.client_data) @@ -45,7 +47,7 @@ class Player: ) decision_response = self.client.send_decision(payload) - print(decision_response.status, decision_response.score) + log.info(f'decision: {decision}, response status: {decision_response.status}, score: {decision_response.score}') status = decision_response.status decision = self.make_decision(decision_response.client_data) diff --git a/tests/test_cross_validate.py b/tests/test_cross_validate.py index 8ecd26b..7062b12 100644 --- a/tests/test_cross_validate.py +++ b/tests/test_cross_validate.py @@ -1,5 +1,5 @@ from datetime import date -from validation.cross_validate import ExtractedData +from validation.cross_validate import ExtractedData, xval_name_account_description from validation.from_account import FromAccount from validation.from_description import FromDescription from validation.from_passport import FromPassport @@ -105,3 +105,6 @@ def test_xval_name_account_description() -> None: passport=passport_data, profile=profile_data, ) + + failure = xval_name_account_description(data) + assert failure is None diff --git a/validation/cross_validate.py b/validation/cross_validate.py index 78fe225..2e30003 100644 --- a/validation/cross_validate.py +++ b/validation/cross_validate.py @@ -32,7 +32,7 @@ class XValFailure(BaseModel): def xval_name_account_description(data: ExtractedData) -> Optional[XValFailure]: - if data.account.account_holder_name != data.description.full_name: + if data.account.account_name != data.description.full_name: return XValFailure( doc1_type=DocType.account, doc1_val=f"{data.account.account_holder_name=}",