class TestClusterController(unittest.TestCase):
	'''
		ensemble des testes unitaires pour la classe servicemanager
	'''
	#instance du serveur
	_bootstrap = None

	_test_callback= False
	
	def setUp(self):
		#avant chaque test on lance le serveur pour avoir un environnement propre
		from django import setup
		setup()
		from zephserver.infra.bootstrap import Bootstrap
		self._bootstrap = Bootstrap()
		self._bootstrap._is_testing = True
		self._bootstrap.start_server()

	def tearDown(self):
		#apres chaque test on eteint le serveur
		cluster_adapter = ClusterAdapter.get_instance()
		cluster_adapter._stop_service = False
		cluster_adapter._subscribers = {}


	#tests du sigleton
	def test_get_instance_simple(self):
		print('\ntest de la recuperation d\'une instance simple du servicemanager')
		self.assertIsInstance(ClusterAdapter.get_instance(), ClusterAdapter)
		

	def test_get_unique_instance(self):
		print('\ntest de l\'unicité du servicemanager')
		sm1 = ClusterAdapter.get_instance()
		sm2 = ClusterAdapter.get_instance()
		self.assertEqual(sm1, sm2)

	def test_subscribe_no_event(self):
		event = 'toto'
		def callback(self):
			self._test_callback = True
		cluster_adapter = ClusterAdapter.get_instance()
		cluster_adapter.subscribe(event, callback)
		
		self.assertEqual(cluster_adapter._subscribers.has_key(event), True)
		self.assertEqual(len(cluster_adapter._subscribers), 1)
		self.assertEqual(cluster_adapter._subscribers[event][0], callback)

	def test_subscribe_alrady_event(self):
		event = 'toto'
		def callback(self):
			self._test_callback = True
		cluster_adapter = ClusterAdapter.get_instance()
		self.assertEqual(cluster_adapter.subscribe(event, callback), True)
		self.assertEqual(cluster_adapter._subscribers.has_key(event), True)
		self.assertEqual(len(cluster_adapter._subscribers[event]), 1)
		self.assertEqual(cluster_adapter._subscribers[event][0], callback)
		self.assertEqual(cluster_adapter.subscribe(event, callback), True)
		self.assertEqual(len(cluster_adapter._subscribers[event]), 2)
Example #2
0
def main():
    args = sys.argv[1:]
    if len(args) > 0:
        if args[0].lower() == 'start':
            bootstrap = Bootstrap(args[1:])
            sys.exit(bootstrap.start_server())
        if args[0].lower() == 'stop':
            stop()
        else:
            command(args)
Example #3
0
	def setUp(self):
		#avant chaque test on lance le serveur pour avoir un environnement propre	
		from django import setup
		setup()
		from zephserver.infra.bootstrap import Bootstrap
		self._bootstrap = Bootstrap()
		self._bootstrap._is_testing = True
		self._bootstrap.start_server()
Example #4
0
class TestServiceManager(unittest.TestCase):
	'''
		ensemble des testes unitaires pour la classe servicemanager
	'''
	#instance du serveur
	_bootstrap = None
	
	def setUp(self):
		#avant chaque test on lance le serveur pour avoir un environnement propre	
		from django import setup
		setup()
		from zephserver.infra.bootstrap import Bootstrap
		self._bootstrap = Bootstrap()
		self._bootstrap._is_testing = True
		self._bootstrap.start_server()

	def tearDown(self):
		#apres chaque test on eteint le serveur
		service_manager = ServiceManager.get_instance()
		service_manager._services_available = {}
		service_manager._services_enable = {}
		service_manager._pending_stop = False
		


	#tests du sigleton
	def test_get_instance_simple(self):
		print('\ntest de la recuperation d\'une instance simple du servicemanager')
		self.assertIsInstance(ServiceManager.get_instance(), ServiceManager)
		

	def test_get_unique_instance(self):
		print('\ntest de l\'unicité du servicemanager')
		sm1 = ServiceManager.get_instance()
		sm2 = ServiceManager.get_instance()
		self.assertEqual(sm1, sm2)
		

	#test de manipulation des services
	def test_create_service(self):
		print('\ntest de l\'enregistrement d\'un service comme available')
		service_manager = ServiceManager.get_instance()
		service_interface = ServiceInterface()
		self.assertEqual(service_manager.create_service('dummy', service_interface), True)
		self.assertEqual(service_interface, service_manager._services_available['dummy'])


	def test_create_already_existing_service(self):
		print('\ntest de la creation d\'un service deja existant')
		service_manager = ServiceManager.get_instance()
		service_interface = ServiceInterface()
		self.assertEqual(service_manager.create_service('dummy', service_interface), True)
		self.assertEqual(service_manager.create_service('dummy', service_interface), False)


	def test_delete_service(self):
		print('\ntest de la destruction d\'un service comme available')
		service_manager = ServiceManager.get_instance()
		service_interface = ServiceInterface()
		self.assertEqual(service_manager.create_service('dummy', service_interface), True)
		self.assertEqual(service_manager.delete_service('dummy'), True)


	def test_enable_available_service(self):
		print('\ntest de l\'activation d\'un service')
		service_manager = ServiceManager.get_instance()
		service_interface = ServiceInterface()
		self.assertEqual(service_manager.create_service('dummy', service_interface), True)
		self.assertEqual(service_manager.enable_service('dummy'), True)
		self.assertEqual(service_interface, service_manager._services_enable['dummy'])


	def test_enable_not_available_service(self):
		print('\ntest de l\'activation d\'un service non available')
		service_manager = ServiceManager.get_instance()
		self.assertEqual(service_manager.enable_service('dummy'), False)


	def test_disable_service(self):
		print('\ntest de la desactivation d\'un service')
		service_manager = ServiceManager.get_instance()
		service_interface = ServiceInterface()
		self.assertEqual(service_manager.create_service('dummy', service_interface), True)
		self.assertEqual(service_manager.enable_service('dummy'), True)


	def test_disable_service_not_available(self):
		print('\ntest de la desactivation d\'un service')
		service_manager = ServiceManager.get_instance()
		self.assertEqual(service_manager.disable_service('dummy'), False)


	def test_disable_service_not_enabled(self):
		print('\ntest de la desactivation d\'un service qui na jamais été activé')
		service_manager = ServiceManager.get_instance()
		service_interface = ServiceInterface()
		self.assertEqual(service_manager.create_service('dummy', service_interface), True)
		self.assertEqual(service_manager.disable_service('dummy'), False)


	def test_get_service_available(self):
		print('\nTest de la recuperation  et du lancement d\'un service available')
		service_manager = ServiceManager.get_instance()
		service_interface = ServiceInterface()
		self.assertEqual(service_manager.create_service('dummy', service_interface), True)
		self.assertEqual(service_manager.get_service('dummy'), service_interface)
		self.assertEqual(service_interface, service_manager._services_enable['dummy'])


	def test_get_service_enable(self):
		print('\nTest de la recuperation  et du lancement d\'un service enable')
		service_manager = ServiceManager.get_instance()
		service_interface = ServiceInterface()
		self.assertEqual(service_manager.create_service('dummy', service_interface), True)
		self.assertEqual(service_manager.enable_service('dummy'), True)
		self.assertEqual(service_manager.get_service('dummy'), service_interface)
		self.assertEqual(service_interface, service_manager._services_enable['dummy'])


	def test_get_service_not_available(self):
		print('\nTest de la recuperation  et du lancement d\'un service inexistant')
		service_manager = ServiceManager.get_instance()
		self.assertEqual(service_manager.get_service('dummy'), None)