def test_create_entry(pytestconfig): # cook up a datetime for our calendar entry (dt_now, dt_mtg_start, dt_mtg_end) = start_two_hours_from_now() dt_cal_start = dt_now - timedelta(10) # example script to add X-MAINTNOTE to an ical cal = Calendar() cal.add('prodid', '-//Maint Note//https://github.com/maint-notification//') cal.add('version', '2.0') event = xmaintnote.XMaintNoteEvent() event.add('summary', 'Maint Note Example') event.add('uid', '42') event.add('sequence', 1) event.add('dtstart', dt_mtg_start) event.add('dtend', dt_mtg_end) event.add('dtstamp', dt_now) organizer = vCalAddress('mailto:[email protected]') organizer.params['cn'] = vText('Example NOC') event['organizer'] = organizer # maintnote stuff event.add('x-maintnote-provider', 'example.com') event.add('x-maintnote-account', '137.035999173') event.add('x-maintnote-maintenance-id', 'WorkOrder-31415') event.add('x-maintnote-object-id', 'acme-widgets-as-a-service') event.add('x-maintnote-impact', "NO-IMPACT") # test the regex #event.add('x-maintnote-impact', "GARBAGE"); if 0: organizer = vCalAddress('MAILTO:[email protected]') organizer.params['cn'] = vText('Max Rasmussen') organizer.params['role'] = vText('CHAIR') event['organizer'] = organizer event['location'] = vText('Odense, Denmark') event['uid'] = '20050115T101010/[email protected]' event.add('priority', 5) attendee = vCalAddress('MAILTO:[email protected]') attendee.params['cn'] = vText('Max Rasmussen') attendee.params['ROLE'] = vText('REQ-PARTICIPANT') event.add('attendee', attendee, encode=0) attendee = vCalAddress('MAILTO:[email protected]') attendee.params['cn'] = vText('The Dude') attendee.params['ROLE'] = vText('REQ-PARTICIPANT') event.add('attendee', attendee, encode=0) cal.add_component(event) expected_output = pytestconfig.rootdir.join('tests/example.ical') assert display(cal) == expected_output.read().strip()
return (dt_now, dt_mtg_start, dt_mtg_end) # cook up a datetime for our calendar entry (dt_now, dt_mtg_start, dt_mtg_end) = start_two_hours_from_now() dt_cal_start = dt_now - timedelta(10) # example script to add X-MAINTNOTE to an ical cal = Calendar() cal.add('prodid', '-//Maint Note//https://github.com/maint-notification//') cal.add('version', '2.0') # either of these work fine #event = Event() event = xmaintnote.XMaintNoteEvent() event.add('summary', 'Maint Note Example') event.add('uid', '42') event.add('sequence', 1) #event.add('dtstart', datetime(2015, 10, 10, 8, 0, 0, tzinfo=pytz.utc)) #event.add('dtend', datetime(2015, 10, 10, 10, 0, 0, tzinfo=pytz.utc)) #event.add('dtstamp', datetime(2015, 10, 10, 0, 10, 0, tzinfo=pytz.utc)) event.add('dtstart', dt_mtg_start) event.add('dtend', dt_mtg_end) event.add('dtstamp', dt_now) organizer = vCalAddress('mailto:[email protected]') organizer.params['cn'] = vText('Example NOC') event['organizer'] = organizer
def test_multiple_objects(): event = xmaintnote.XMaintNoteEvent() event.add('x-maintnote-object-id', 'object1') event.add('x-maintnote-object-id', 'object2') assert len(event['x-maintnote-object-id']) == 2
def test_multiple_impacts_raises(): event = xmaintnote.XMaintNoteEvent() event.add('x-maintnote-impact', 'NO-IMPACT') with pytest.raises(exc.PropertyError): event.add('x-maintnote-impact', 'OUTAGE')