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')
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')
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")
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")
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)
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)
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)
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)
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)