Beispiel #1
0
    def test_fetch(self, mock_utcnow):
        """Test whether archives are fetched"""

        mock_utcnow.return_value = datetime.datetime(2016, 4, 10,
                                                     tzinfo=dateutil.tz.tzutc())

        mbox_march = read_file('data/hyperkitty/hyperkitty_2016_march.mbox')
        mbox_april = read_file('data/hyperkitty/hyperkitty_2016_april.mbox')

        httpretty.register_uri(httpretty.GET,
                               HYPERKITTY_URL,
                               body="")
        httpretty.register_uri(httpretty.GET,
                               HYPERKITTY_URL + 'export/2016-03.mbox.gz',
                               body=mbox_march)
        httpretty.register_uri(httpretty.GET,
                               HYPERKITTY_URL + 'export/2016-04.mbox.gz',
                               body=mbox_april)

        from_date = datetime.datetime(2016, 3, 10)

        hkls = HyperKittyList('http://example.com/archives/list/[email protected]/',
                              self.tmp_path)
        fetched = hkls.fetch(from_date=from_date)

        self.assertEqual(len(fetched), 2)

        self.assertEqual(fetched[0][0], HYPERKITTY_URL + 'export/2016-03.mbox.gz')
        self.assertEqual(fetched[0][1], os.path.join(self.tmp_path, '2016-03.mbox.gz'))
        self.assertEqual(fetched[1][0], HYPERKITTY_URL + 'export/2016-04.mbox.gz')
        self.assertEqual(fetched[1][1], os.path.join(self.tmp_path, '2016-04.mbox.gz'))

        mboxes = hkls.mboxes
        self.assertEqual(mboxes[0].filepath, os.path.join(self.tmp_path, '2016-03.mbox.gz'))
        self.assertEqual(mboxes[1].filepath, os.path.join(self.tmp_path, '2016-04.mbox.gz'))
    def test_fetch_from_date_after_current_day(self, mock_utcnow):
        """Test if it does not store anything when from_date is a date from the future"""

        mock_utcnow.return_value = datetime.datetime(
            2016, 4, 10, tzinfo=dateutil.tz.tzutc())

        httpretty.register_uri(httpretty.GET, HYPERKITTY_URL, body="")

        from_date = datetime.datetime(2017, 1, 10)

        hkls = HyperKittyList(
            'http://example.com/archives/list/[email protected]/',
            self.tmp_path)
        fetched = hkls.fetch(from_date=from_date)

        self.assertEqual(len(fetched), 0)