Package elisa :: Package core :: Package tests :: Module test_interface_controller
[hide private]
[frames] | no frames]

Source Code for Module elisa.core.tests.test_interface_controller

 1  # Elisa - Home multimedia server 
 2  # Copyright (C) 2006-2008 Fluendo Embedded S.L. (www.fluendo.com). 
 3  # All rights reserved. 
 4  # 
 5  # This file is available under one of two license agreements. 
 6  # 
 7  # This file is licensed under the GPL version 3. 
 8  # See "LICENSE.GPL" in the root of this distribution including a special 
 9  # exception to use Elisa with Fluendo's plugins. 
10  # 
11  # The GPL part of Elisa is also available under a commercial licensing 
12  # agreement from Fluendo. 
13  # See "LICENSE.Elisa" in the root directory of this distribution package 
14  # for details on that license. 
15   
16  from elisa.core.tests import elisa_test_case 
17  from elisa.core import interface_controller 
18  from elisa.core import config, common 
19   
20  MASTER_SLAVE_CONF = """\ 
21  [general] 
22  version = '%(version)s' 
23  install_date = '%(install_date)s' 
24  media_providers = [] 
25  metadata_providers = [] 
26  service_providers = [] 
27  player_engines = [] 
28  backends = ['backend1', 'backend2'] 
29  frontends = ['frontend1', 'frontend2', 'frontend3'] 
30   
31  [backend1] 
32  activity = 'test:elisa_activity' 
33  input_providers = [] 
34  mvc_mappings = 'test_mvc_mappings.conf' 
35   
36  [backend2] 
37  master = 'backend1' 
38  mvc_mappings = 'test_mvc_mappings.conf' 
39  input_providers = [] 
40   
41  [frontend1] 
42  backend = 'backend1' 
43   
44  [frontend2] 
45  backend = 'backend1' 
46   
47  [frontend3] 
48  backend = 'backend2' 
49  """ 
50   
51 -class TestInterfaceController(elisa_test_case.ElisaTestCase):
52
53 - def setUp(self):
54 elisa_test_case.ElisaTestCase.setUp(self) 55 self._interface_controller = common.application.interface_controller
56
57 - def test_wrong_backend(self):
58 self.assertRaises(Exception, self._interface_controller._create_backend, 59 'boo')
60
61 - def test_wrong_frontend(self):
62 self.assertRaises(Exception, self._interface_controller._create_frontend, 63 'boo')
64
65 - def test_start_stop(self):
66 67 self._interface_controller.start() 68 69 for frontend in self._interface_controller._frontends.values(): 70 self.assertEquals(frontend.context.context_handle, 71 frontend.view.context_handle) 72 73 dfr = self._interface_controller.stop() 74 75 def done(r): 76 done.called = True
77 78 done.called = False 79 80 dfr.addCallback(done) 81 dfr.addCallback(lambda r: self.check_called(done)) 82 return dfr
83
84 -class TestMasterSlave(TestInterfaceController):
85 default_config = MASTER_SLAVE_CONF
86