import unittest import process_factory class Mock_Process_Prometheus() : def __init__(self, *args, **kwargs) : pass class Mock_Process_Kairos() : def __init__(self, *args, **kwargs) : pass class Mock_Alert_Config() : def __init__(self, type) : self.t = type def type(self) : return self.t class Test_Process_Factory(unittest.TestCase): def setUp(self) : self.was_prom = process_factory.process_prometheus.Process_Prometheus self.was_kai = process_factory.process_kairos.Process_Kairos process_factory.process_prometheus.Process_Prometheus = Mock_Process_Prometheus process_factory.process_kairos.Process_Kairos = Mock_Process_Kairos def tearDown(self) : process_factory.process_prometheus.Process_Prometheus = self.was_prom process_factory.process_kairos.Process_Kairos = self.was_kai def test(self) : factory = process_factory.Process_Factory(None, None, None) self.assertTrue(type(factory.build(Mock_Alert_Config("a"))) is Mock_Process_Kairos) self.assertTrue(type(factory.build(Mock_Alert_Config("prometheus"))) is Mock_Process_Prometheus) if __name__ == "__main__" : unittest.main()