Esempio n. 1
0
def test_link_events_from_master(db, default_account, calendar):
    # Test that by creating a recurring event and override separately, we
    # can link them together based on UID and namespace_id when starting
    # from the master event.
    master = recurring_event(db, default_account, calendar, TEST_EXDATE_RULE)
    original_start = parse_exdate(master)[0]
    override = recurring_override_instance(db, master, original_start,
                                           master.start, master.end)
    assert isinstance(master, RecurringEvent)
    assert len(link_events(db.session, master)) == 1
    assert override in master.overrides
    assert override.uid in [o.uid for o in master.overrides]
Esempio n. 2
0
def test_link_events_from_master(db, default_account, calendar):
    # Test that by creating a recurring event and override separately, we
    # can link them together based on UID and namespace_id when starting
    # from the master event.
    master = recurring_event(db, default_account, calendar, TEST_EXDATE_RULE)
    original_start = parse_exdate(master)[0]
    override = recurring_override_instance(db, master, original_start,
                                           master.start, master.end)
    assert isinstance(master, RecurringEvent)
    assert len(link_events(db.session, master)) == 1
    assert override in master.overrides
    assert override.uid in [o.uid for o in master.overrides]
Esempio n. 3
0
def test_link_events_from_master_diff_calendars(db, default_account, calendar,
                                                other_calendar):
    # Same as the previous test except that we check that it doesn't work across
    # calendars (see test_link_events_from_master_diff_calendars for more
    # details).
    master = recurring_event(db, default_account, calendar, TEST_EXDATE_RULE)
    original_start = parse_exdate(master)[0]
    override = recurring_override_instance(db, master, original_start,
                                           master.start, master.end)
    override.calendar = other_calendar
    assert isinstance(master, RecurringEvent)
    o = link_events(db.session, master)
    assert len(o) == 0
Esempio n. 4
0
def test_link_events_from_master_diff_calendars(db, default_account, calendar,
                                                other_calendar):
    # Same as the previous test except that we check that it doesn't work across
    # calendars (see test_link_events_from_master_diff_calendars for more
    # details).
    master = recurring_event(db, default_account, calendar, TEST_EXDATE_RULE)
    original_start = parse_exdate(master)[0]
    override = recurring_override_instance(db, master, original_start,
                                           master.start, master.end)
    override.calendar = other_calendar
    assert isinstance(master, RecurringEvent)
    o = link_events(db.session, master)
    assert len(o) == 0
Esempio n. 5
0
def test_link_events_from_override(db, default_account, calendar):
    # Test that by creating a recurring event and override separately, we
    # can link them together based on UID and namespace_id when starting
    # from the override.
    master = recurring_event(db, default_account, calendar, TEST_EXDATE_RULE)
    original_start = parse_exdate(master)[0]
    override = Event(original_start_time=original_start,
                     master_event_uid=master.uid,
                     namespace_id=master.namespace_id,
                     source='local')
    assert isinstance(override, RecurringEventOverride)
    link_events(db.session, override)
    assert override.master == master
Esempio n. 6
0
def test_linking_events_from_different_calendars(db, default_account,
                                                 calendar, other_calendar):
    # Test that two events with the same UID but in different calendars don't
    # get linked together. This is important because with the Google API, a
    # recurring events can be in two calendars and have the same UID.
    # In this case, we create two different recurring events.
    master = recurring_event(db, default_account, calendar, TEST_EXDATE_RULE)
    original_start = parse_exdate(master)[0]
    override = Event(original_start_time=original_start,
                     master_event_uid=master.uid,
                     namespace_id=master.namespace_id,
                     calendar_id=other_calendar.id,
                     uid='blah',
                     source='local')

    assert isinstance(override, RecurringEventOverride)
    link_events(db.session, override)
    assert override.master is None
Esempio n. 7
0
def test_linking_events_from_different_calendars(db, default_account, calendar,
                                                 other_calendar):
    # Test that two events with the same UID but in different calendars don't
    # get linked together. This is important because with the Google API, a
    # recurring events can be in two calendars and have the same UID.
    # In this case, we create two different recurring events.
    master = recurring_event(db, default_account, calendar, TEST_EXDATE_RULE)
    original_start = parse_exdate(master)[0]
    override = Event(original_start_time=original_start,
                     master_event_uid=master.uid,
                     namespace_id=master.namespace_id,
                     calendar_id=other_calendar.id,
                     uid='blah',
                     source='local')

    assert isinstance(override, RecurringEventOverride)
    link_events(db.session, override)
    assert override.master == None