Example #1
0
 def test_confirm(self, m):
     confirm_args = ['some', 'confirm']
     fallback_args = ['some', 'fallback']
     sut = CommandNotifier(confirm_args=confirm_args +
                           ['{message}'], fallback_args=fallback_args + ['{message}'])
     message = 'Something happened!'
     sut.confirm(message)
     m.assert_called_with(confirm_args + [message])
Example #2
0
 def test_state(self, m):
     state_args = ['some', 'state']
     fallback_args = ['some', 'fallback']
     sut = CommandNotifier(
         state_args=state_args + ['{message}'], fallback_args=fallback_args + ['{message}'])
     message = 'Something happened!'
     sut.state(message)
     m.assert_called_with(state_args + [message])
Example #3
0
 def test_alert(self, m):
     alert_args = ['some', 'alert']
     fallback_args = ['some', 'fallback']
     sut = CommandNotifier(
         alert_args=alert_args + ['{message}'], fallback_args=fallback_args + ['{message}'])
     message = 'Something happened!'
     sut.alert(message)
     m.assert_called_with(alert_args + [message])
Example #4
0
 def test_init_without_alert_and_fallback(self):
     state_args = ['some', 'state']
     inform_args = ['some', 'inform']
     confirm_args = ['some', 'confirm']
     with self.assertRaises(ValueError):
         CommandNotifier(state_args=state_args,
                         inform_args=inform_args, confirm_args=confirm_args)
Example #5
0
def _new_command_notifier_from_configuration_data(configuration, configuration_data):
    """Parse configuration from raw, built-in types such as dictionaries, lists, and scalars.

    :param configuration: Configuration
    :param configuration_data: dict
    :return: CommandNotifier
    :raise: ValueError
    """
    state_args = configuration_data['state'] if 'state' in configuration_data else None
    inform_args = configuration_data['inform'] if 'inform' in configuration_data else None
    confirm_args = configuration_data['confirm'] if 'confirm' in configuration_data else None
    alert_args = configuration_data['alert'] if 'alert' in configuration_data else None
    fallback_args = configuration_data['fallback'] if 'fallback' in configuration_data else None
    if None in [state_args, inform_args, confirm_args, alert_args] and fallback_args is None:
        raise ValueError(
            '`fallback` must be given if one or more of the other arguments are omitted.')

    return CommandNotifier(state_args, inform_args, confirm_args, alert_args, fallback_args)
Example #6
0
 def test_inform_should_fall_back(self, m):
     fallback_args = ['some', 'fallback']
     sut = CommandNotifier(fallback_args=fallback_args + ['{message}'])
     message = 'Something happened!'
     sut.inform(message)
     m.assert_called_with(fallback_args + [message])