215 lines
6.5 KiB
Python
215 lines
6.5 KiB
Python
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_string(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_string(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()
|