Example #1
0
    def test_importer_export_imported(self):
        try:
            # Import event
            importer = ExternalEventImporter(self.directory)
            event = self.create_fetch_entry(source_id='s', fetch_id='f')
            imports, deleted = importer.fetch_one('source', lambda: [event])
            self.assertEquals(imports, 1)

            # Add own event
            event = self.create_event(start=datetime.today().replace(second=0))
            event.submit()
            event.publish()
            reindex_directory(self.directory)

            # Export events
            events = [idx for idx in enumerate(self.catalog.export())]
            self.assertEquals(len(events), 1)

        finally:
            # Clean up (transaction has been commited)
            self.cleanup_after_fetch_one()
Example #2
0
    def test_importer_update_time(self):
        importer = ExternalEventImporter(self.directory)

        set_time = lambda t: importer.set_last_update_time(t)
        get_time = lambda: importer.get_last_update_time()

        # No key
        self.assertRaises(AttributeError, get_time)
        self.assertRaises(AttributeError, set_time, default_now())
        self.assertRaises(AttributeError, get_time)

        importer.annotation_key = 'key'

        # Wrong dates
        self.assertRaises(AssertionError, set_time, None)
        self.assertRaises(AssertionError, set_time, 25)
        self.assertRaises(AssertionError, set_time, datetime.today())

        # Ok
        update = default_now()
        importer.set_last_update_time(update)
        last_update = importer.get_last_update_time()
        self.assertEquals(last_update, update.replace(microsecond=0))
Example #3
0
    def test_importer_update_category_suggestions(self):
        try:
            importer = ExternalEventImporter(self.directory)

            events = []
            fetch = lambda: events

            events.append(
                self.create_fetch_entry(source_id='1',
                                        fetch_id='1',
                                        cat1=set(['cat1-1']),
                                        cat2=set(['cat2-1'])))
            events.append(
                self.create_fetch_entry(source_id='2',
                                        fetch_id='1',
                                        cat1=set(['cat1-2', 'cat1-4']),
                                        cat2=set(['cat2-1'])))
            events.append(
                self.create_fetch_entry(source_id='3',
                                        fetch_id='1',
                                        cat1=set(),
                                        cat2=set(
                                            ['cat2-1', 'cat2-2', 'cat2-3'])))

            imports, deleted = importer.fetch_one('source', fetch)
            self.assertEquals(imports, 3)
            self.assertTrue('cat1-1' in self.directory.cat1_suggestions)
            self.assertTrue('cat1-2' in self.directory.cat1_suggestions)
            self.assertTrue('cat1-4' in self.directory.cat1_suggestions)
            self.assertTrue('cat2-1' in self.directory.cat2_suggestions)
            self.assertTrue('cat2-2' in self.directory.cat2_suggestions)
            self.assertTrue('cat2-3' in self.directory.cat2_suggestions)

        finally:
            # Clean up (transaction has been commited)
            self.cleanup_after_fetch_one()
Example #4
0
    def test_importer_sources(self):
        self.create_guidle_source(enabled=True)
        self.create_guidle_source(enabled=False)

        self.assertEqual(len(ExternalEventImporter(self.directory).sources()),
                         1)