def test_action_unknown(self):
     """Verify that attempt to perform unknown action fails"""
     bad_action = "foo"
     actions.main([bad_action])
     actions.function_fail.assert_called_with(
         "Action {} undefined" "".format(bad_action)
     )
    def test_invokes_action(self):
        dummy_calls = []

        def dummy_action(args):
            dummy_calls.append(True)

        with mock.patch.dict(actions.ACTIONS, {"foo": dummy_action}):
            actions.main(["foo"])
        self.assertEqual(dummy_calls, [True])
    def test_invokes_action(self):
        dummy_calls = []

        def dummy_action(args):
            dummy_calls.append(True)

        with mock.patch.dict(actions.ACTIONS, {"foo": dummy_action}):
            actions.main(["foo"])
        self.assertEqual(dummy_calls, [True])
    def test_failing_action(self):
        """Actions which traceback trigger action_fail() calls."""
        dummy_calls = []

        self.action_fail.side_effect = dummy_calls.append

        def dummy_action(args):
            raise ValueError("uh oh")

        with mock.patch.dict(actions.ACTIONS, {"foo": dummy_action}):
            actions.main(["foo"])
        self.assertEqual(dummy_calls, ["uh oh"])
    def test_failing_action(self):
        """Actions which traceback trigger action_fail() calls."""
        dummy_calls = []

        self.action_fail.side_effect = dummy_calls.append

        def dummy_action(args):
            raise ValueError("uh oh")

        with mock.patch.dict(actions.ACTIONS, {"foo": dummy_action}):
            actions.main(["foo"])
        self.assertEqual(dummy_calls, ["uh oh"])
Esempio n. 6
0
 def test_main(self):
     self.patch_object(actions, 'ACTIONS')
     self.patch_object(actions.ch_core.hookenv, 'action_fail')
     args = ['/non-existent/path/to/charm/binary/promote']
     function = mock.MagicMock()
     self.ACTIONS.__getitem__.return_value = function
     actions.main(args)
     function.assert_called_once_with(args)
     self.ACTIONS.__getitem__.side_effect = KeyError
     self.assertEqual(actions.main(args), 'Action promote is undefined')
     self.ACTIONS.__getitem__.side_effect = None
     function.side_effect = Exception('random exception')
     actions.main(args)
     self.action_fail.assert_called_once_with('random exception')
 def test_unknown_action(self):
     """Unknown actions aren't a traceback."""
     exit_string = actions.main(["foo"])
     self.assertEqual("Action foo undefined", exit_string)
 def test_unknown_action(self):
     """Unknown actions aren't a traceback."""
     exit_string = actions.main(["foo"])
     self.assertEqual("Action foo undefined", exit_string)
Esempio n. 9
0
 def call_action(self):
     """Shortcut to calling action based on the current TestCase"""
     actions.main([self.NAME])