Unittests für manage_configs implementiert
This commit is contained in:
+216
@@ -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()
|
||||
Reference in New Issue
Block a user