Unittests für manage_configs implementiert

This commit is contained in:
2023-12-14 12:41:59 +01:00
parent 9ef4869a45
commit 9b8c83ab75
+216
View File
@@ -0,0 +1,216 @@
import unittest
import os
import manage_configs
class TestTOSGroupsFromLocalConfigs(unittest.TestCase):
def setUp(self):
self.config_dir = os.environ.get('CREMIG_CFG')
def test_get_keywords_of_level_from_local_file(self):
"""
Test whether the extraction of the different TOS Level works
loaded from local config and environment variable
if config is changed, test will fail
"""
TOS_CFG = manage_configs.TOSGroupsConfig(self.config_dir)
allKeywords = TOS_CFG.get_all_keywords()
result = ['TOS_Schoenenberger_Produkt', 'TOS_Automation', 'TOS_Maschinenelement', 'TOS_Schoenenberger_Komponenten', 'TOS_Pneumatik', 'TOS_Konfig']
level1 = TOS_CFG.get_keywords_of_level(allKeywords, 1)
self.assertCountEqual(level1, result)
def test_get_all_keywords_from_local_file(self):
"""
Test whether the extraction of the different TOS Level works
loaded from local config and environment variable
if config is changed, test will fail
"""
TOS_CFG = manage_configs.TOSGroupsConfig(self.config_dir)
allKeywords = TOS_CFG.get_all_keywords()
result = {'TOS-Gruppe': 0,
'TOS_Schoenenberger_Produkt': 1,
'TOS_Automation': 1,
'TOS_Maschinenelement': 1,
'TOS_Schoenenberger_Komponenten': 1,
'TOS_Pneumatik': 1,
'TOS_Konfig': 1,
'TOS_ILS': 2,
'TOS_MAS': 2,
'TOS_Spinnereikomponente': 2,
'TOS_Betriebsmittel': 2,
'TOS_Geruest': 2,
'TOS_FremdTransport': 2,
'TOS_MAS_Konfig': 2,
'TOS_ILS_2': 3,
'TOS_ILS_Foerderer': 3,
'TOS_Trolley': 3,
'TOS_Trolley_Projekte': 3,
'TOS_Trolley_Omniflo': 4,
'TOS_Trolley_Spinnerei': 4,
'TOS_Trolley_ILS': 4,
'TOS_Schaltschrank': 2,
'TOS_Schalt_Einbau': 2,
'TOS_Dezentral': 2,
'TOS_Automation_Sensorik': 2,
'TOS_Kabel': 2,
'TOS_Installation': 2,
'TOS_Automation_Sonstiges': 2,
'TOS_Verbindungselement': 2,
'TOS_Lager': 2,
'TOS_Kraft_Drehmoment': 2,
'TOS_Sicherungselement': 2,
'TOS_Bedienungselement': 2}
self.assertCountEqual(allKeywords, result)
class TestTOSGroupsGeneral(unittest.TestCase):
def setUp(self):
self.tos_test_str = """
{
"root": "TOS-Gruppe",
"TOS-Gruppe": {
"TOS-level": 1,
"children": {
"0": "Intern/Referenzgruppe",
"1": "Halbzeug",
"2": "Verkaufsprodukte",
"3": "Schönenberger Produkte",
"4": "Automation",
"5": "Maschinenelement",
"6": "Schönenberger Komponenten",
"7": "Pneumatik",
"8": "Konfiguration",
"9": "."
},
"reference-ids": {
"0": "TOS_Intern_Ref",
"1": "TOS_Halbzeug",
"2": "TOS_Verkaufsprodukte",
"3": "TOS_Schoenenberger_Produkt",
"4": "TOS_Automation",
"5": "TOS_Maschinenelement",
"6": "TOS_Schoenenberger_Komponenten",
"7": "TOS_Pneumatik",
"8": "TOS_Konfig"
}
},
"TOS_Schoenenberger_Produkt": {
"TOS-level": 2,
"children": {
"30": "ILS IntraLogistikSystem",
"31": "MAS Mittenabgehängtes System - OMNIFLO",
"32": "Spinnereikomponente",
"33": "Betriebsmittel",
"34": "Gerüst",
"35": "Fremd-Transportsysteme & SSG-Anbauten",
"36": "Förderer MAS aktuell Konfiguration",
"37": "Frei",
"38": "CAD-Übernahme Weiche",
"39": "Farbe"
},
"reference-ids": {
"30": "TOS_ILS",
"31": "TOS_MAS",
"32": "TOS_Spinnereikomponente",
"33": "TOS_Betriebsmittel",
"34": "TOS_Geruest",
"35": "TOS_FremdTransport",
"36": "TOS_MAS_Konfig"
}
},
"TOS_ILS": {
"TOS-level": 3,
"children": {
"300": "ILS 2.0",
"301": "ILS 3.0",
"302": "Förderer"
},
"reference-ids": {
"300": "TOS_ILS_2",
"302": "TOS_ILS_Foerderer"
}
},
"TOS_MAS": {
"TOS-level": 3,
"children": {
"310": "Fahrstrecke",
"311": "Ein- und Anbaugruppe für Omniflo System",
"312": "Verbinder und Kleinteil",
"313": "Baugruppe für Aktionen an/mit Trolleys",
"314": "Förderer"
},
"reference-ids": {
"310": "TOS_MAS_Fahrstecke"
}
},
"TOS_Spinnereikomponente": {
"TOS-level": 3,
"children": {
"320": "Hülsenreiniger automatisch",
"321": "Hülsenreiniger manuell",
"322": "Reibradantrieb RA"
},
"reference-ids": {}
},
"TOS_Betriebsmittel": {
"TOS-level": 3,
"children": {
"330": "Trolley Standard",
"331": "Trolley Projekte"
},
"reference-ids": {
"330": "TOS_Trolley",
"331": "TOS_Trolley_Projekte"
}
}
}
"""
def test_get_keywords_of_level_from_local_file(self):
"""
Test whether the extraction of the different TOS Level works
loaded from local config and environment variable
"""
TOS_CFG = manage_configs.TOSGroupsConfig()
TOS_CFG.from_json(self.tos_test_str)
allKeywords = TOS_CFG.get_all_keywords()
level0 = TOS_CFG.get_keywords_of_level(allKeywords, 0)
self.assertCountEqual(level0, ["TOS-Gruppe"])
level1 = TOS_CFG.get_keywords_of_level(allKeywords, 1)
self.assertCountEqual(level1, ["TOS_Schoenenberger_Produkt"])
level2 = TOS_CFG.get_keywords_of_level(allKeywords, 2)
self.assertCountEqual(level2, ["TOS_ILS", "TOS_MAS", "TOS_Spinnereikomponente", "TOS_Betriebsmittel"])
def test_get_all_keywords_from_local_file(self):
"""
Test whether the extraction of the different TOS Level works
loaded from local config and environment variable
"""
TOS_CFG = manage_configs.TOSGroupsConfig()
TOS_CFG.from_json(self.tos_test_str)
allKeywords = TOS_CFG.get_all_keywords()
result = {'TOS-Gruppe': 0,
'TOS_Schoenenberger_Produkt': 1,
'TOS_ILS': 2,
'TOS_MAS': 2,
'TOS_Spinnereikomponente': 2,
'TOS_Betriebsmittel': 2}
self.assertCountEqual(allKeywords, result)
if __name__ == '__main__':
unittest.main()