From 084ffcac86788ac18f31d66d0e5de71c4f843358 Mon Sep 17 00:00:00 2001
From: gifrerenom <lluis.gifre@cttc.es>
Date: Tue, 14 Nov 2023 10:49:22 +0000
Subject: [PATCH] Forecaster component:

- Fixed checks in Forecaster::compute_forecast
- Fixed unitary tests log levels
---
 src/forecaster/service/Forecaster.py | 13 +++++++++++--
 src/forecaster/tests/test_unitary.py |  4 ++++
 2 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/src/forecaster/service/Forecaster.py b/src/forecaster/service/Forecaster.py
index 1f0f606ca..d2b5b4d09 100644
--- a/src/forecaster/service/Forecaster.py
+++ b/src/forecaster/service/Forecaster.py
@@ -24,10 +24,19 @@ def compute_forecast(samples : pandas.DataFrame, kpi_id : KpiId) -> float:
     samples = samples[samples.kpi_id == kpi_uuid].copy()
 
     num_samples = samples.shape[0]
+    if num_samples <= 0:
+        MSG = 'KpiId({:s}): Wrong number of samples: {:d}'
+        raise Exception(MSG.format(kpi_uuid, num_samples))
+
     num_samples_test = math.ceil(num_samples / FORECAST_TO_HISTORY_RATIO)
+    if num_samples_test  <= 0:
+        MSG = 'KpiId({:s}): Wrong number of test samples: {:d}'
+        raise Exception(MSG.format(kpi_uuid, num_samples_test ))
+
     num_samples_train = num_samples - num_samples_test
-    if num_samples_train <= 0: raise Exception('Wrong number of train samples: {:d}'.format(num_samples_train))
-    if num_samples_test  <= 0: raise Exception('Wrong number of test  samples: {:d}'.format(num_samples_test ))
+    if num_samples_train <= 0:
+        MSG = 'KpiId({:s}): Wrong number of train samples: {:d}'
+        raise Exception(MSG.format(kpi_uuid, num_samples_train))
 
     samples['timestamp'] = pandas.to_datetime(samples['timestamp']) - datetime(1970, 1, 1, tzinfo=timezone.utc)
     samples['timestamp'] = samples['timestamp'].dt.total_seconds()
diff --git a/src/forecaster/tests/test_unitary.py b/src/forecaster/tests/test_unitary.py
index eb952cfda..a4063931f 100644
--- a/src/forecaster/tests/test_unitary.py
+++ b/src/forecaster/tests/test_unitary.py
@@ -34,8 +34,12 @@ from .PrepareTestScenario import ( # pylint: disable=unused-import
 
 LOGGER = logging.getLogger(__name__)
 LOGGER.setLevel(logging.DEBUG)
+logging.getLogger('common.tests.InMemoryObjectDatabase').setLevel(logging.INFO)
+logging.getLogger('common.tests.InMemoryTimeSeriesDatabase').setLevel(logging.INFO)
 logging.getLogger('common.tests.MockServicerImpl_Context').setLevel(logging.INFO)
+logging.getLogger('common.tests.MockServicerImpl_Monitoring').setLevel(logging.INFO)
 logging.getLogger('context.client.ContextClient').setLevel(logging.INFO)
+logging.getLogger('monitoring.client.MonitoringClient').setLevel(logging.INFO)
 
 JSON_ADMIN_CONTEXT_ID = json_context_id(DEFAULT_CONTEXT_NAME)
 ADMIN_CONTEXT_ID = ContextId(**JSON_ADMIN_CONTEXT_ID)
-- 
GitLab