Пример #1
0
 def test_create_action1(self):
     '''Test instanciation of an Action through a dictionnary'''
     act = Action('start')
     act.fromdict(
         {
             'target': 'localhost',
             'fanout': 4,
             'retry': 5,
             'delay': 2,
             'errors': 3,
             'timeout': 4,
             'cmd': '/bin/True',
             'desc': 'my desc',
             'mode': 'delegate',
         }
     )
     self.assertTrue(act)
     self.assertEqual(act.name, 'start')
     self.assertEqual(act.target, NodeSet('localhost'))
     self.assertEqual(act.fanout, 4)
     self.assertEqual(act.maxretry, 5)
     self.assertEqual(act.errors, 3)
     self.assertEqual(act.delay, 2)
     self.assertEqual(act.timeout, 4)
     self.assertEqual(act.command, '/bin/True')
     self.assertEqual(act.desc, 'my desc')
     self.assertEqual(act.mode, 'delegate')
Пример #2
0
 def test_create_action1(self):
     '''Test instanciation of an Action through a dictionnary'''
     act = Action('start')
     act.fromdict({
         'target': 'localhost',
         'fanout': 4,
         'retry': 5,
         'delay': 2,
         'errors': 3,
         'timeout': 4,
         'cmd': '/bin/True',
         'desc': 'my desc',
         'mode': 'delegate',
     })
     self.assertTrue(act)
     self.assertEqual(act.name, 'start')
     self.assertEqual(act.target, NodeSet('localhost'))
     self.assertEqual(act.fanout, 4)
     self.assertEqual(act.maxretry, 5)
     self.assertEqual(act.errors, 3)
     self.assertEqual(act.delay, 2)
     self.assertEqual(act.timeout, 4)
     self.assertEqual(act.command, '/bin/True')
     self.assertEqual(act.desc, 'my desc')
     self.assertEqual(act.mode, 'delegate')
Пример #3
0
 def test_create_action1(self):
     """Test instanciation of an Action through a dictionnary"""
     act = Action("start")
     act.fromdict(
         {
             "target": "localhost",
             "fanout": 4,
             "retry": 5,
             "delay": 2,
             "errors": 3,
             "timeout": 4,
             "cmd": "/bin/True",
             "desc": "my desc",
             "mode": "delegate",
         }
     )
     self.assertTrue(act)
     self.assertEqual(act.name, "start")
     self.assertEqual(act.target, NodeSet("localhost"))
     self.assertEqual(act.fanout, 4)
     self.assertEqual(act.maxretry, 5)
     self.assertEqual(act.errors, 3)
     self.assertEqual(act.delay, 2)
     self.assertEqual(act.timeout, 4)
     self.assertEqual(act.command, "/bin/True")
     self.assertEqual(act.desc, "my desc")
     self.assertEqual(act.mode, "delegate")
Пример #4
0
 def test_resolve_all(self):
     """resolve_all() resolves in all Action properties"""
     act = Action('start')
     act.fromdict({
                     'variables': {
                         'label': 'Start action',
                      },
                     'desc': "%label",
                     'cmd': 'service foo %ACTION'
                  })
     act.resolve_all()
     self.assertEqual(act.desc, "Start action")
     self.assertEqual(act.command, "service foo start")
Пример #5
0
 def test_resolve_all(self):
     """resolve_all() resolves in all Action properties"""
     act = Action('start')
     act.fromdict({
         'variables': {
             'label': 'Start action',
         },
         'desc': "%label",
         'cmd': 'service foo %ACTION'
     })
     act.resolve_all()
     self.assertEqual(act.desc, "Start action")
     self.assertEqual(act.command, "service foo start")
Пример #6
0
 def test_create_action2(self):
     """Test instanciation of an action with variables"""
     act = Action("start")
     act.fromdict(
         {
             "target": "localhost",
             "variables": {"var1": "toto", "var2": "titi"},
             "fanout": 4,
             "retry": 5,
             "delay": 2,
             "timeout": 4,
             "cmd": "/bin/True",
         }
     )
     self.assertTrue(act)
     self.assertTrue(len(act.variables) == 2)
     self.assertTrue("var1" in act.variables)
     self.assertTrue("var2" in act.variables)
Пример #7
0
 def test_create_action2(self):
     '''Test instanciation of an action with variables'''
     act = Action('start')
     act.fromdict({
         'target': 'localhost',
         'variables': {
             'var1': 'toto',
             'var2': 'titi'
         },
         'fanout': 4,
         'retry': 5,
         'delay': 2,
         'timeout': 4,
         'cmd': '/bin/True'
     })
     self.assertTrue(act)
     self.assertTrue(len(act.variables) == 2)
     self.assertTrue('var1' in act.variables)
     self.assertTrue('var2' in act.variables)
Пример #8
0
 def test_create_action2(self):
     '''Test instanciation of an action with variables'''
     act = Action('start')
     act.fromdict(
         {
             'target': 'localhost',
             'variables': {
                 'var1': 'toto',
                 'var2': 'titi'
              },
             'fanout': 4,
             'retry': 5,
             'delay': 2,
             'timeout': 4,
             'cmd': '/bin/True'
         }
     )
     self.assertTrue(act)
     self.assertTrue(len(act.variables) == 2)
     self.assertTrue('var1' in act.variables)
     self.assertTrue('var2' in act.variables)
Пример #9
0
    def fromdict(self, svcdict):
        """Populate service attributes from dict."""
        BaseEntity.fromdict(self, svcdict)

        if 'actions' in svcdict:
            dependencies = {}
            for names, props in svcdict['actions'].items():
                for name in NodeSet(names):
                    action = Action(name)
                    self.add_action(action)
                    action.fromdict(props)

                    dependencies[name] = props.get('check', [])

            for action in self._actions.values():
                for dep in dependencies[action.name]:
                    action.add_dep(self._actions[dep])

        # Inherits properies between service and actions
        for action in self.iter_actions():
            action.inherits_from(self)
Пример #10
0
    def fromdict(self, svcdict):
        """Populate service attributes from dict."""
        BaseEntity.fromdict(self, svcdict)

        if "actions" in svcdict:
            dependencies = {}
            actions = {}
            for names, props in svcdict["actions"].items():
                for name in NodeSet(names):
                    action = Action(name)
                    action.fromdict(props)

                    actions[name] = action
                    dependencies[name] = props.get("check", [])

            for action in actions.values():
                for dep in dependencies[action.name]:
                    action.add_dep(actions[dep])
                self.add_action(action)

        # Inherits properies between service and actions
        for action in self.iter_actions():
            action.inherits_from(self)