1 # -*- coding: iso-8859-1 -*-
2 # Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE
4 # This library is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU Lesser General Public
6 # License as published by the Free Software Foundation; either
7 # version 2.1 of the License, or (at your option) any later version.
9 # This library is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 # Lesser General Public License for more details.
14 # You should have received a copy of the GNU Lesser General Public
15 # License along with this library; if not, write to the Free Software
16 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
26 cm= salome.lcc.getContainerManager()
27 rm= salome.lcc.getResourcesManager()
29 class TestResourceManager(unittest.TestCase):
31 Test with CatalogResources.xml:
32 <!DOCTYPE ResourcesCatalog>
34 <machine hostname="m1" />
35 <machine hostname="m2" />
36 <machine hostname="m3" >
37 <modules moduleName="tutu" />
39 <machine hostname="m4" >
40 <component name="sub" moduleName="tata" />
42 <machine hostname="claui2c6" >
43 <modules moduleName="toto" />
44 <component name="add" moduleName="titi" />
53 params=LifeCycleCORBA.ResourceParameters(hostname="m3")
54 machineList=rm.GetFittingResources(params)
55 self.assertEqual(machineList, ["m3"])
59 params=LifeCycleCORBA.ResourceParameters(OS="Linux")
60 self.assertRaises(SALOME.SALOME_Exception,rm.GetFittingResources,params)
63 """component add required"""
64 params=LifeCycleCORBA.ResourceParameters(componentList=["add"])
65 machineList=rm.GetFittingResources(params)
66 self.assertEqual(machineList, ['claui2c6', 'm1', 'm2'])
69 """component tutu required"""
70 params=LifeCycleCORBA.ResourceParameters(componentList=["tutu"])
71 machineList=rm.GetFittingResources(params)
72 self.assertEqual(machineList, ['m1', 'm2', 'm3'])
75 """component tata required"""
76 params=LifeCycleCORBA.ResourceParameters(componentList=["tata"])
77 machineList=rm.GetFittingResources(params)
78 self.assertEqual(machineList, ['m1', 'm2'])
81 """component titi required"""
82 params=LifeCycleCORBA.ResourceParameters(componentList=["titi"])
83 machineList=rm.GetFittingResources(params)
84 self.assertEqual(machineList, ['m1', 'm2'])
87 """component toto required"""
88 params=LifeCycleCORBA.ResourceParameters(componentList=["toto"])
89 machineList=rm.GetFittingResources(params)
90 self.assertEqual(machineList, ['claui2c6', 'm1', 'm2'])
93 """components add and toto required"""
94 params=LifeCycleCORBA.ResourceParameters(componentList=["add","toto"])
95 machineList=rm.GetFittingResources(params)
96 self.assertEqual(machineList, ['claui2c6', 'm1', 'm2'])
99 """components add and toto required"""
100 machineDef=rm.GetResourceDefinition('claui2c6')
101 self.assertEqual(machineDef.componentList, ['toto', 'add'])
105 params=LifeCycleCORBA.ResourceParameters(componentList=["add","toto"])
106 machineList=rm.GetFittingResources(params)
107 self.assertEqual(rm.Find('altcycl',machineList), "claui2c6")
108 self.assertEqual(rm.Find('altcycl',machineList), "m1")
109 self.assertEqual(rm.Find('altcycl',machineList), "m2")
110 self.assertEqual(rm.Find('altcycl',machineList), "claui2c6")
111 self.assertEqual(rm.Find('altcycl',machineList), "m1")
112 self.assertEqual(rm.Find('altcycl',machineList), "m2")
116 params=LifeCycleCORBA.ResourceParameters(componentList=["add","toto"])
117 machineList=rm.GetFittingResources(params)
118 self.assertEqual(rm.Find('cycl',machineList), "claui2c6")
119 self.assertEqual(rm.Find('cycl',machineList), "m1")
120 self.assertEqual(rm.Find('cycl',machineList), "m2")
121 self.assertEqual(rm.Find('cycl',machineList), "claui2c6")
122 self.assertEqual(rm.Find('cycl',machineList), "m1")
123 self.assertEqual(rm.Find('cycl',machineList), "m2")
127 params=LifeCycleCORBA.ResourceParameters(componentList=["add","toto"])
128 machineList=rm.GetFittingResources(params)
129 self.assertEqual(rm.Find('first',machineList), "claui2c6")
130 self.assertEqual(rm.Find('first',machineList), "claui2c6")
134 params=LifeCycleCORBA.ResourceParameters(componentList=["add","toto"])
135 machineList=rm.GetFittingResources(params)
136 self.assertEqual(rm.Find('best',machineList), "claui2c6")
137 self.assertEqual(rm.Find('best',machineList), "m1")
138 self.assertEqual(rm.Find('best',machineList), "m2")
139 self.assertEqual(rm.Find('best',machineList), "claui2c6")
140 self.assertEqual(rm.Find('best',machineList), "m1")
141 self.assertEqual(rm.Find('best',machineList), "m2")
143 if __name__ == '__main__':
144 suite = unittest.TestLoader().loadTestsFromTestCase(TestResourceManager)
145 unittest.TextTestRunner().run(suite)