def test_run_rules_without_variables(self):
     actions = SomeActions()
     run(
         {
             "conditions": {
                 "name": "ten",
                 "operator": "equal_to",
                 "value": 10
             },
             "actions": [{
                 "name": "some_action",
                 "params": {
                     "foo": 5
                 }
             }]
         }, SomeVariables(), actions)
     self.assertEquals(actions.result, 5)
 def test_run_rules_with_undefined_variables(self):
     actions = SomeActions()
     with self.assertRaises(AssertionError):
         run(
             {
                 "conditions": {
                     "name": "ten",
                     "operator": "equal_to",
                     "value": 10
                 },
                 "actions": [{
                     "name": "some_action",
                     "params": {
                         "foo": "${net}"
                     }
                 }]
             }, SomeVariables(), actions)
    def test_run_that_doesnt_trigger_rule(self, *args):
        rule = {'conditions': 'blah', 'actions': 'blah2'}
        variables = BaseVariables()
        actions = BaseActions()

        result = engine.run(rule, variables, actions)
        self.assertEqual(result, False)
        engine.check_conditions_recursively.assert_called_once_with(
                rule['conditions'], variables, None)
        self.assertEqual(engine.do_actions.call_count, 0)
Beispiel #4
0
    def test_run_that_doesnt_trigger_rule(self, *args):
        rule = {'conditions': 'blah', 'actions': 'blah2'}
        variables = BaseVariables()
        actions = BaseActions()

        result = engine.run(rule, variables, actions)
        self.assertEqual(result, False)
        engine.check_conditions_recursively.assert_called_once_with(
                rule['conditions'], variables)
        self.assertEqual(engine.do_actions.call_count, 0)
    def test_run_that_triggers_rule(self, *args):
        rule = {'conditions': 'blah', 'actions': 'blah2'}
        variables = BaseVariables()
        actions = BaseActions()

        result = engine.run(rule, variables, actions)
        expected = None
        self.assertEqual(result, expected)
        engine.check_conditions_recursively.assert_called_once_with(
            rule['conditions'], variables)
        engine.do_actions.assert_called_once_with(rule['actions'], actions)
    def test_run_that_triggers_rule_with_overrides(self, *args):
        rule = {'conditions': 'blah', 'actions': 'blah2'}
        variables = BaseVariables()
        actions = BaseActions()

        result = engine.run(rule, variables, actions)
        self.assertEqual(result, True)
        engine.check_conditions_recursively.assert_called_once_with(
            rule['conditions'], variables)
        engine.do_actions.assert_called_once_with(rule['actions'],
                                                  actions,
                                                  override_params=OVERRIDE_A1)