Exemplo n.º 1
0
 def test_notification_set_scenario(scenario1):
     params = dict(description='description goes here.',
                   notifier='email-notifier',
                   on_start=True)
     note = Notification(name='note', parameters=params)
     note.scenario = scenario1
     assert note.scenario
Exemplo n.º 2
0
 def test_notification_set_on_demand():
     params = dict(description='description goes here.',
                   notifier='email-notifier',
                   on_demand=True)
     note = Notification(name='note', parameters=params)
     with pytest.raises(AttributeError):
         note.on_demand = False
Exemplo n.º 3
0
 def test_notification_build_profile():
     params = dict(
         description='description goes here.',
         notifier='email-notifier',
         on_start=True
     )
     note = Notification(name='note', parameters=params)
     assert isinstance(note.profile(), dict)
Exemplo n.º 4
0
 def test_notification_set_notifier():
     params = dict(
         name='note',
         description='description goes here.',
     )
     note = Notification(parameters=params)
     with pytest.raises(AttributeError) as ex:
         note.notifier = 'blah'
Exemplo n.º 5
0
 def test_notification_set_on_tasks():
     tasks = ['validate', 'provision']
     params = dict(description='description goes here.',
                   notifier='email-notifier',
                   on_tasks=tasks)
     note = Notification(name='note', parameters=params)
     with pytest.raises(AttributeError):
         note.on_tasks = tasks
Exemplo n.º 6
0
 def test_notification_set_credential():
     params = dict(
         description='description goes here.',
         notifier='email-notifier'
     )
     note = Notification(name='note', parameters=params)
     with pytest.raises(AttributeError):
         note.credential = 'gmail'
Exemplo n.º 7
0
 def test_notification_no_credential():
     params = dict(
         description='description goes here.',
         notifier='email-notifier'
     )
     note = Notification(name='note', parameters=params)
     assert not note.credential
Exemplo n.º 8
0
    def test_create_notification_with_name_in_parameters():
        params = dict(name='note',
                      description='description goes here.',
                      notifier='email-notifier')

        note = Notification(parameters=params)
        assert note.name == 'note'
Exemplo n.º 9
0
 def test_create_notification_on_demand():
     params = dict(description='description goes here.',
                   notifier='email-notifier',
                   on_demand=True)
     note = Notification(name='note', parameters=params)
     assert note.on_demand
     assert getattr(note, 'on_start') is None
Exemplo n.º 10
0
 def test_create_notification_without_notifier():
     params = dict(
         name='note',
         description='description goes here.'
     )
     note = Notification(parameters=params)
     assert note.notifier
Exemplo n.º 11
0
 def test_notification_credential(config):
     params = dict(
         description='description goes here.',
         notifier='email-notifier'
     )
     note = Notification(name='note', parameters=params, config=config)
     assert note.credential is None
Exemplo n.º 12
0
 def test_create_notification_with_name():
     params = dict(
         description='description goes here.',
         notifier='email-notifier'
     )
     note = Notification(name='note', parameters=params)
     assert isinstance(note, Notification)
Exemplo n.º 13
0
 def test_notification_load_params():
     params = dict(
         description='description goes here.',
         notifier='email-notifier',
         foo='bar'
     )
     note = Notification(name='note', parameters=params)
     assert note.foo
Exemplo n.º 14
0
 def test_create_notification_on_tasks():
     tasks = ['validate', 'provision']
     params = dict(description='description goes here.',
                   notifier='email-notifier',
                   on_tasks=tasks)
     note = Notification(name='note', parameters=params)
     assert note.on_tasks
     assert set(note.on_tasks).intersection(tasks)
Exemplo n.º 15
0
 def test_create_notification_on_success_and_failure():
     params = dict(description='description goes here.',
                   notifier='email-notifier',
                   on_success=True,
                   on_failure=False)
     note = Notification(name='note', parameters=params)
     assert note.on_success
     assert not note.on_failure
Exemplo n.º 16
0
 def test_create_notification_default_triggers():
     params = dict(
         description='description goes here.',
         notifier='email-notifier'
     )
     note = Notification(name='note', parameters=params)
     assert note.on_success
     assert note.on_failure
Exemplo n.º 17
0
 def test_create_notification_unregistered_notifier():
     params = dict(
         name='note',
         description='description goes here.',
         notifier='blah'
     )
     with pytest.raises(TefloResourceError) as ex:
         Notification(parameters=params)
Exemplo n.º 18
0
    def test_create_notification_without_name():
        params = dict(
            description='description goes here.',
            notifier='email-notifier'
        )

        with pytest.raises(TefloResourceError):
            Notification(parameters=params)
Exemplo n.º 19
0
    def test_notify_no_config(scenario, note_params):
        setattr(scenario, 'passed_tasks', ['validate'])
        setattr(scenario, 'failed_tasks', [])
        setattr(scenario, 'overall_status', 0)

        note = Notification(name='note', parameters=note_params, config=getattr(scenario, 'config'))
        setattr(note, 'scenario', scenario)
        emailer = EmailNotificationPlugin(note)
        with pytest.raises(TefloNotifierError):
            emailer.notify()
Exemplo n.º 20
0
def notification_default_resource(default_note_params, config):
    params = copy.deepcopy(default_note_params)
    params['on_tasks'] = ['validate']
    return Notification(name='note02', parameters=params, config=config)
Exemplo n.º 21
0
def notification_on_failure_resource(default_note_params, config):
    params = copy.deepcopy(default_note_params)
    params['on_tasks'] = ['report']
    params['on_failure'] = True
    return Notification(name='note04', parameters=params, config=config)
Exemplo n.º 22
0
def notification_on_success_resource(default_note_params, config):
    params = copy.deepcopy(default_note_params)
    params['on_tasks'] = ['provision']
    params['on_success'] = True
    return Notification(name='note03', parameters=params, config=config)
Exemplo n.º 23
0
def notification_on_demand_resource(default_note_params, config):
    params = copy.deepcopy(default_note_params)
    params['on_demand'] = True
    return Notification(name='note05', parameters=params, config=config)