Exemple #1
0
    def test_change_tz_utc_only(self):
        """Change any UTC timezones of events in a component to a different
        timezone"""

        # Setup - create a stub vevent list
        utc_tz = dateutil.tz.gettz('UTC')  # 0:00
        non_utc_tz = dateutil.tz.gettz('America/Santiago')  # -4:00
        new_tz = dateutil.tz.gettz('America/Chicago')  # -5:00

        dates = [(datetime.datetime(1999, 12, 31, 23, 59, 59, 0,
                                    tzinfo=utc_tz),
                  datetime.datetime(2000, 1, 1, 0, 0, 0, 0,
                                    tzinfo=non_utc_tz))]

        cal = self.StubCal(dates)

        # Exercise - change the timezone passing utc_only=True
        change_tz(cal, new_tz, dateutil.tz.gettz('UTC'), utc_only=True)

        # Test - that only the utc item has changed
        expected_new_dates = [(datetime.datetime(1999,
                                                 12,
                                                 31,
                                                 17,
                                                 59,
                                                 59,
                                                 0,
                                                 tzinfo=new_tz), dates[0][1])]

        for vevent, expected_datepair in zip(cal.vevent_list,
                                             expected_new_dates):
            self.assertEqual(vevent.dtstart.value, expected_datepair[0])
            self.assertEqual(vevent.dtend.value, expected_datepair[1])
Exemple #2
0
    def test_change_tz_default(self):
        """Change the timezones of events in a component to a different
        timezone, passing a default timezone that is assumed when the events
        don't have one"""

        # Setup - create a stub vevent list
        old_tz = dateutil.tz.gettz('UTC')  # 0:00
        new_tz = dateutil.tz.gettz('America/Chicago')  # -5:00

        dates = [
            (datetime.datetime(1999, 12, 31, 23, 59, 59, 0, tzinfo=None),
             datetime.datetime(2000, 1, 1, 0, 0, 0, 0, tzinfo=None))]

        cal = self.StubCal(dates)

        # Exercise - change the timezone
        change_tz(cal, new_tz, dateutil.tz.gettz('UTC'))

        # Test - that the tzs were converted correctly
        expected_new_dates = [
            (datetime.datetime(1999, 12, 31, 17, 59, 59, 0, tzinfo=new_tz),
             datetime.datetime(1999, 12, 31, 18, 0, 0, 0, tzinfo=new_tz))]

        for vevent, expected_datepair in zip(cal.vevent_list,
                                             expected_new_dates):
            self.assertEqual(vevent.dtstart.value, expected_datepair[0])
            self.assertEqual(vevent.dtend.value, expected_datepair[1])
Exemple #3
0
    def test_change_tz_utc_only(self):
        """Change any UTC timezones of events in a component to a different
        timezone"""

        # Setup - create a stub vevent list
        utc_tz = dateutil.tz.gettz('UTC')  # 0:00
        non_utc_tz = dateutil.tz.gettz('America/Santiago')  # -4:00
        new_tz = dateutil.tz.gettz('America/Chicago')  # -5:00

        dates = [
            (datetime.datetime(1999, 12, 31, 23, 59, 59, 0, tzinfo=utc_tz),
             datetime.datetime(2000, 1, 1, 0, 0, 0, 0, tzinfo=non_utc_tz))]

        cal = self.StubCal(dates)

        # Exercise - change the timezone passing utc_only=True
        change_tz(cal, new_tz, dateutil.tz.gettz('UTC'), utc_only=True)

        # Test - that only the utc item has changed
        expected_new_dates = [
            (datetime.datetime(1999, 12, 31, 17, 59, 59, 0, tzinfo=new_tz),
             dates[0][1])]

        for vevent, expected_datepair in zip(cal.vevent_list,
                                             expected_new_dates):
            self.assertEqual(vevent.dtstart.value, expected_datepair[0])
            self.assertEqual(vevent.dtend.value, expected_datepair[1])
Exemple #4
0
    def test_change_tz(self):
        """Change the timezones of events in a component to a different
        timezone"""

        # Setup - create a stub vevent list
        old_tz = dateutil.tz.gettz('UTC')  # 0:00
        new_tz = dateutil.tz.gettz('America/Chicago')  # -5:00

        dates = [(datetime.datetime(1999, 12, 31, 23, 59, 59, 0,
                                    tzinfo=old_tz),
                  datetime.datetime(2000, 1, 1, 0, 0, 0, 0, tzinfo=old_tz)),
                 (datetime.datetime(2010, 12, 31, 23, 59, 59, 0,
                                    tzinfo=old_tz),
                  datetime.datetime(2011, 1, 2, 3, 0, 0, 0, tzinfo=old_tz))]

        cal = self.StubCal(dates)

        # Exercise - change the timezone
        change_tz(cal, new_tz, dateutil.tz.gettz('UTC'))

        # Test - that the tzs were converted correctly
        expected_new_dates = [(datetime.datetime(1999,
                                                 12,
                                                 31,
                                                 17,
                                                 59,
                                                 59,
                                                 0,
                                                 tzinfo=new_tz),
                               datetime.datetime(1999,
                                                 12,
                                                 31,
                                                 18,
                                                 0,
                                                 0,
                                                 0,
                                                 tzinfo=new_tz)),
                              (datetime.datetime(2010,
                                                 12,
                                                 31,
                                                 17,
                                                 59,
                                                 59,
                                                 0,
                                                 tzinfo=new_tz),
                               datetime.datetime(2011,
                                                 1,
                                                 1,
                                                 21,
                                                 0,
                                                 0,
                                                 0,
                                                 tzinfo=new_tz))]

        for vevent, expected_datepair in zip(cal.vevent_list,
                                             expected_new_dates):
            self.assertEqual(vevent.dtstart.value, expected_datepair[0])
            self.assertEqual(vevent.dtend.value, expected_datepair[1])