Skip to content
Snippets Groups Projects
Commit d1cde53d authored by Mattia Mancini's avatar Mattia Mancini
Browse files

OSB-44: Implementing tests and reformatting structure

parent 80179a14
No related branches found
No related tags found
2 merge requests!89Monitoring maintenance Epic branch merge,!1Resolve OSB-13 "Monitoringmaintenance "
......@@ -1887,10 +1887,14 @@ LCU/Maintenance/DBInterface/test/controllers/t_all_components_error_types.run -t
LCU/Maintenance/DBInterface/test/controllers/t_all_components_error_types.sh -text
LCU/Maintenance/DBInterface/test/controllers/test_all_components_error_types.py -text
LCU/Maintenance/DBInterface/test/controllers/test_data_generators.py -text
LCU/Maintenance/DBInterface/test/models/CMakeLists.txt -text
LCU/Maintenance/DBInterface/test/models/t_rtsm_models.run -text
LCU/Maintenance/DBInterface/test/models/t_rtsm_models.sh -text
LCU/Maintenance/DBInterface/test/models/t_wincc_models.run -text
LCU/Maintenance/DBInterface/test/models/t_wincc_models.sh -text
LCU/Maintenance/DBInterface/test/models/test_rtsm_models.py -text
LCU/Maintenance/DBInterface/test/models/test_wincc_models.py -text
LCU/Maintenance/DBInterface/test/postgres_testrunner.py -text
LCU/Maintenance/DBInterface/test/t_rtsm_models.run -text
LCU/Maintenance/DBInterface/test/t_rtsm_models.sh -text
LCU/Maintenance/DBInterface/test/test_rtsm_models.py -text
LCU/Maintenance/MDB_WebView/CMakeLists.txt -text
LCU/Maintenance/MDB_WebView/maintenancedb_view/.env -text
LCU/Maintenance/MDB_WebView/maintenancedb_view/CMakeLists.txt -text
......
# $Id$
include(LofarCTestPython)
enable_coverage(3)
set(py_files postgres_testrunner.py
__init__.py
test_rtsm_models.py
test_wincc_models.py)
python_install(${py_files} DESTINATION lofar/maintenance/test)
lofar_add_test(t_rtsm_models)
lofar_add_test(t_wincc_models)
#!/usr/bin/env bash
. coverage.sh
python_coverage_test models/wincc -m lofar.maintenance.manage test lofar.maintenance.test.test_wincc_models --testrunner=lofar.maintenance.test.postgres_testrunner.PostgresqlTestRunner --settings lofar.maintenance.django_postgresql.test_settings
#!/usr/bin/env bash
./runctest.sh t_wincc_models
\ No newline at end of file
from django.test import TestCase
from lofar.maintenance.monitoringdb.models.wincc import WinCCAntennaStatus
from datetime import datetime
import django.db.utils as db_utils
import pytz
import random
class WinCCAntennaStatusTest(TestCase):
def test_antenna_status_insertion_auto_timestamp(self):
antenna_status = WinCCAntennaStatus()
antenna_status.station = 'CS001'
antenna_status.antenna_type = 'HBA'
antenna_status.antenna_id = 1
antenna_status.status_code = 0
before_insertion_timestamp = datetime.now(pytz.UTC)
antenna_status.save()
after_insertion_timestamp = datetime.now(pytz.UTC)
saved_entity = WinCCAntennaStatus.objects.\
filter(antenna_type=antenna_status.antenna_type, antenna_id=antenna_status.antenna_id).\
order_by('-timestamp').first()
self.assertEqual(saved_entity.status_code, antenna_status.status_code)
self.assertGreaterEqual(saved_entity.timestamp, before_insertion_timestamp)
self.assertLessEqual(saved_entity.timestamp, after_insertion_timestamp)
def test_antenna_status_insertion_error_if_not_specified_station(self):
with self.assertRaises(db_utils.IntegrityError):
antenna_status = WinCCAntennaStatus()
antenna_status.antenna_type = 'HBA'
antenna_status.antenna_id = 1
antenna_status.status_code = 0
antenna_status.save()
def test_antenna_status_insertion_error_if_not_specified_antenna_type(self):
with self.assertRaises(db_utils.IntegrityError):
antenna_status = WinCCAntennaStatus()
antenna_status.station = 'CS001'
antenna_status.antenna_id = 1
antenna_status.status_code = 0
antenna_status.save()
def test_custom_query(self):
for i in range(10):
antenna_status = WinCCAntennaStatus()
antenna_status.station = 'CS001'
antenna_status.antenna_type = 'HBA'
antenna_status.antenna_id = random.sample([1, 2], 1)[0]
antenna_status.status_code = 0
antenna_status.save()
antenna_status = WinCCAntennaStatus()
antenna_status.station = 'CS001'
antenna_status.antenna_type = 'HBA'
antenna_status.antenna_id = 1
antenna_status.status_code = 0
antenna_status.save()
last_status = WinCCAntennaStatus()
last_status.station = 'CS001'
last_status.antenna_type = 'HBA'
last_status.antenna_id = 1
last_status.status_code = 0
before_last_insertion_timestamp = datetime.now(pytz.UTC)
last_status.save()
saved_entity = WinCCAntennaStatus.objects. \
filter(antenna_type=antenna_status.antenna_type, antenna_id=antenna_status.antenna_id). \
order_by('-timestamp').first()
self.assertGreaterEqual(saved_entity.timestamp, before_last_insertion_timestamp)
result = WinCCAntennaStatus.objects.\
latest_status_per_station_and_component_type('CS001',
'HBA',
datetime.now())
self.assertIn('1', result)
self.assertIn('2', result)
self.assertGreaterEqual(result['1']["inserted_at"], before_last_insertion_timestamp)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment