Exemplo n.º 1
0
    def test_fetch_from_date(self):
        """Test whether it fetches and parses messages since the given date"""

        setup_http_server()

        from_date = datetime.datetime(2018, 5, 5)

        backend = Groupsio('beta+api', self.tmp_path, '*****@*****.**', 'aaaaa')
        messages = [m for m in backend.fetch(from_date=from_date)]

        self.assertEqual(len(messages), 8)

        message = messages[0]
        self.assertEqual(message['data']['Message-ID'], '<*****@*****.**>')
        self.assertEqual(message['origin'], 'https://groups.io/g/beta+api')
        self.assertEqual(message['uuid'], 'fe0b6b64b4b297796c6139c821ff3d10dee1dc92')
        self.assertEqual(message['updated_on'], 1526087603.0)
        self.assertEqual(message['category'], 'message')
        self.assertEqual(message['tag'], 'https://groups.io/g/beta+api')

        message = messages[3]
        self.assertEqual(message['data']['Message-ID'], '<*****@*****.**>')
        self.assertEqual(message['origin'], 'https://groups.io/g/beta+api')
        self.assertEqual(message['uuid'], 'bd02e439127edf51df9ecbb15f3e57d473f6418f')
        self.assertEqual(message['updated_on'], 1527915246.0)
        self.assertEqual(message['category'], 'message')
        self.assertEqual(message['tag'], 'https://groups.io/g/beta+api')

        message = messages[7]
        self.assertEqual(message['data']['Message-ID'], '<*****@*****.**>')
        self.assertEqual(message['origin'], 'https://groups.io/g/beta+api')
        self.assertEqual(message['uuid'], '397508a441b878459cd9deabba034171bce9058d')
        self.assertEqual(message['updated_on'], 1530334100.0)
        self.assertEqual(message['category'], 'message')
        self.assertEqual(message['tag'], 'https://groups.io/g/beta+api')
Exemplo n.º 2
0
    def test_fetch(self):
        """Test whether it fetches and parses messages"""

        setup_http_server()

        backend = Groupsio('beta+api', self.tmp_path, '*****@*****.**', 'aaaaa')
        messages = [m for m in backend.fetch()]

        self.assertEqual(len(messages), 49)

        message = messages[0]
        self.assertEqual(message['data']['Message-ID'], '<*****@*****.**>')
        self.assertEqual(message['origin'], 'https://groups.io/g/beta+api')
        self.assertEqual(message['uuid'], 'ee0a9d612a20cd359a0492685e2f6db90aaa637f')
        self.assertEqual(message['updated_on'], 1411493115.0)
        self.assertEqual(message['category'], 'message')
        self.assertEqual(message['tag'], 'https://groups.io/g/beta+api')

        message = messages[25]
        self.assertEqual(message['data']['Message-ID'], '<*****@*****.**>')
        self.assertEqual(message['origin'], 'https://groups.io/g/beta+api')
        self.assertEqual(message['uuid'], 'cb9119226ab58fe0f06f83b6178b217ccbaa28bf')
        self.assertEqual(message['updated_on'], 1515301791.0)
        self.assertEqual(message['category'], 'message')
        self.assertEqual(message['tag'], 'https://groups.io/g/beta+api')

        message = messages[45]
        self.assertEqual(message['data']['Message-ID'], '<*****@*****.**>')
        self.assertEqual(message['origin'], 'https://groups.io/g/beta+api')
        self.assertEqual(message['uuid'], '73e23136f519e3534ae8372da9457e7f8967b526')
        self.assertEqual(message['updated_on'], 1528518785.0)
        self.assertEqual(message['category'], 'message')
        self.assertEqual(message['tag'], 'https://groups.io/g/beta+api')
Exemplo n.º 3
0
    def test_fetch_empty(self):
        """Test whether an empty mbox is stored when the group is empty"""

        setup_http_server(empty_mbox=True)

        backend = Groupsio('beta+api', self.tmp_path, '*****@*****.**', 'aaaaa')
        messages = [m for m in backend.fetch()]

        self.assertListEqual(messages, [])
Exemplo n.º 4
0
    def test_search_fields(self):
        """Test whether the search_fields is properly set"""

        setup_http_server()

        backend = Groupsio('beta+api', self.tmp_path, '*****@*****.**', 'aaaaa')
        messages = [m for m in backend.fetch()]

        for message in messages:
            self.assertEqual(backend.metadata_id(message['data']), message['search_fields']['item_id'])
            self.assertEqual(message['search_fields']['group_name'], 'beta+api')
    def test_fetch_empty(self):
        """Test whether an empty mbox is stored when the group is empty"""

        groupsio_mbox_archive = read_file('data/groupsio/empty.zip')

        httpretty.register_uri(httpretty.GET,
                               GROUPSIO_API_URL + 'downloadarchives',
                               body=groupsio_mbox_archive)

        backend = Groupsio('acme_group', self.tmp_path, 'aaaaa')
        messages = [m for m in backend.fetch()]

        self.assertListEqual(messages, [])
    def test_fetch_from_date(self):
        """Test whether it fetches and parses messages since the given date"""

        groupsio_mbox_archive = read_file('data/groupsio/messages.zip')

        httpretty.register_uri(httpretty.GET,
                               GROUPSIO_API_URL + 'downloadarchives',
                               body=groupsio_mbox_archive)

        from_date = datetime.datetime(2018, 5, 5)

        backend = Groupsio('acme_group', self.tmp_path, 'aaaaa')
        messages = [m for m in backend.fetch(from_date=from_date)]

        self.assertEqual(len(messages), 8)

        message = messages[0]
        self.assertEqual(message['data']['Message-ID'], '<*****@*****.**>')
        self.assertEqual(message['origin'], 'https://groups.io/g/acme_group')
        self.assertEqual(message['uuid'], '078f740e54131b8833f69d605eae637b97797295')
        self.assertEqual(message['updated_on'], 1526087603.0)
        self.assertEqual(message['category'], 'message')
        self.assertEqual(message['tag'], 'https://groups.io/g/acme_group')

        message = messages[3]
        self.assertEqual(message['data']['Message-ID'], '<*****@*****.**>')
        self.assertEqual(message['origin'], 'https://groups.io/g/acme_group')
        self.assertEqual(message['uuid'], 'c4a8db34d926f231ac99f5cc0eb340ed6b404e06')
        self.assertEqual(message['updated_on'], 1527915246.0)
        self.assertEqual(message['category'], 'message')
        self.assertEqual(message['tag'], 'https://groups.io/g/acme_group')

        message = messages[7]
        self.assertEqual(message['data']['Message-ID'], '<*****@*****.**>')
        self.assertEqual(message['origin'], 'https://groups.io/g/acme_group')
        self.assertEqual(message['uuid'], '787835d4cc343299b8d1a427fa580365bb7feb0d')
        self.assertEqual(message['updated_on'], 1530334100.0)
        self.assertEqual(message['category'], 'message')
        self.assertEqual(message['tag'], 'https://groups.io/g/acme_group')
    def test_fetch(self):
        """Test whether it fetches and parses messages"""

        groupsio_mbox_archive = read_file('data/groupsio/messages.zip')

        httpretty.register_uri(httpretty.GET,
                               GROUPSIO_API_URL + 'downloadarchives',
                               body=groupsio_mbox_archive)

        backend = Groupsio('acme_group', self.tmp_path, 'aaaaa')
        messages = [m for m in backend.fetch()]

        self.assertEqual(len(messages), 49)

        message = messages[0]
        self.assertEqual(message['data']['Message-ID'], '<*****@*****.**>')
        self.assertEqual(message['origin'], 'https://groups.io/g/acme_group')
        self.assertEqual(message['uuid'], '5d668945b4f339563f7bb1497ae097b00c1b2fc1')
        self.assertEqual(message['updated_on'], 1411493115.0)
        self.assertEqual(message['category'], 'message')
        self.assertEqual(message['tag'], 'https://groups.io/g/acme_group')

        message = messages[25]
        self.assertEqual(message['data']['Message-ID'], '<*****@*****.**>')
        self.assertEqual(message['origin'], 'https://groups.io/g/acme_group')
        self.assertEqual(message['uuid'], 'c4ebc4bdbe8d396302ba67306f9ff1fd51cf19cf')
        self.assertEqual(message['updated_on'], 1515301791.0)
        self.assertEqual(message['category'], 'message')
        self.assertEqual(message['tag'], 'https://groups.io/g/acme_group')

        message = messages[45]
        self.assertEqual(message['data']['Message-ID'], '<*****@*****.**>')
        self.assertEqual(message['origin'], 'https://groups.io/g/acme_group')
        self.assertEqual(message['uuid'], 'c1ab131763deb7b417e7f26cedb9ae17656ede15')
        self.assertEqual(message['updated_on'], 1528518785.0)
        self.assertEqual(message['category'], 'message')
        self.assertEqual(message['tag'], 'https://groups.io/g/acme_group')