コード例 #1
0
ファイル: item_processor.py プロジェクト: cardsurf/xcrawler
 def open_output_file_if_needed(self):
     if self.config.output_mode == Config.OUTPUT_MODE_FILE:
         item_writer_factory = ItemWriterFactory()
         self.item_writer = item_writer_factory.create_item_writer_based_on_file_extension(
             self.config.output_file_name
         )
         self.item_writer.open_output_file(self.config.output_file_name)
コード例 #2
0
ファイル: test_item_writer.py プロジェクト: cardsurf/xcrawler
class TestItemWriterFactory(unittest.TestCase):

    def setUp(self):
        filepath_splitter = mock.create_autospec(FilePathSplitter).return_value
        object_writer_factory = mock.create_autospec(ObjectWriterFactory).return_value
        self.item_writer_factory = ItemWriterFactory(filepath_splitter, object_writer_factory)

    @mock.patch.object(ItemWriterFactory, 'create_item_writer_csv')
    def test_create_item_writer_based_on_file_extension_csv(self, mock_create_item_writer_csv):
        mock_file_name = "mock.csv"
        self.item_writer_factory.filepath_splitter.get_file_extension.return_value = ".csv"
        mock_item_writer = mock.create_autospec(ItemWriter).return_value
        mock_create_item_writer_csv.return_value = mock_item_writer
        result = self.item_writer_factory.create_item_writer_based_on_file_extension(mock_file_name)
        self.assertEquals(result, mock_item_writer)

    def test_create_item_writer_based_on_file_extension_value_error(self):
        mock_file_name = "mock.exe"
        self.item_writer_factory.filepath_splitter.get_file_extension.return_value = ".exe"
        self.assertRaises(ValueError, self.item_writer_factory.create_item_writer_based_on_file_extension, mock_file_name)

    @mock.patch('xcrawler.files.writers.item_writer.ItemWriter')
    def test_create_item_writer_csv(self, mock_item_writer_class):
        mock_object_writer_csv = mock.create_autospec(ObjectWriterCsv).return_value
        mock_item_writer_csv = mock.create_autospec(ItemWriter).return_value
        self.item_writer_factory.object_writer_factory.create_object_writer_csv.return_value = mock_object_writer_csv
        mock_item_writer_class.return_value = mock_item_writer_csv
        result = self.item_writer_factory.create_item_writer_csv()
        self.assertEquals(result, mock_item_writer_csv)
コード例 #3
0
class TestItemWriterFactory(unittest.TestCase):
    def setUp(self):
        filepath_splitter = mock.create_autospec(FilePathSplitter).return_value
        object_writer_factory = mock.create_autospec(
            ObjectWriterFactory).return_value
        self.item_writer_factory = ItemWriterFactory(filepath_splitter,
                                                     object_writer_factory)

    @mock.patch.object(ItemWriterFactory, 'create_item_writer_csv')
    def test_create_item_writer_based_on_file_extension_csv(
            self, mock_create_item_writer_csv):
        mock_file_name = "mock.csv"
        self.item_writer_factory.filepath_splitter.get_file_extension.return_value = ".csv"
        mock_item_writer = mock.create_autospec(ItemWriter).return_value
        mock_create_item_writer_csv.return_value = mock_item_writer
        result = self.item_writer_factory.create_item_writer_based_on_file_extension(
            mock_file_name)
        self.assertEquals(result, mock_item_writer)

    def test_create_item_writer_based_on_file_extension_value_error(self):
        mock_file_name = "mock.exe"
        self.item_writer_factory.filepath_splitter.get_file_extension.return_value = ".exe"
        self.assertRaises(
            ValueError, self.item_writer_factory.
            create_item_writer_based_on_file_extension, mock_file_name)

    @mock.patch('xcrawler.files.writers.item_writer.ItemWriter')
    def test_create_item_writer_csv(self, mock_item_writer_class):
        mock_object_writer_csv = mock.create_autospec(
            ObjectWriterCsv).return_value
        mock_item_writer_csv = mock.create_autospec(ItemWriter).return_value
        self.item_writer_factory.object_writer_factory.create_object_writer_csv.return_value = mock_object_writer_csv
        mock_item_writer_class.return_value = mock_item_writer_csv
        result = self.item_writer_factory.create_item_writer_csv()
        self.assertEquals(result, mock_item_writer_csv)
コード例 #4
0
 def open_output_file_if_needed(self):
     if self.config.output_mode == Config.OUTPUT_MODE_FILE:
         item_writer_factory = ItemWriterFactory()
         self.item_writer = item_writer_factory.create_item_writer_based_on_file_extension(
             self.config.output_file_name)
         self.item_writer.open_output_file(self.config.output_file_name)
コード例 #5
0
ファイル: test_item_writer.py プロジェクト: cardsurf/xcrawler
 def setUp(self):
     filepath_splitter = mock.create_autospec(FilePathSplitter).return_value
     object_writer_factory = mock.create_autospec(ObjectWriterFactory).return_value
     self.item_writer_factory = ItemWriterFactory(filepath_splitter, object_writer_factory)
コード例 #6
0
 def setUp(self):
     filepath_splitter = mock.create_autospec(FilePathSplitter).return_value
     object_writer_factory = mock.create_autospec(
         ObjectWriterFactory).return_value
     self.item_writer_factory = ItemWriterFactory(filepath_splitter,
                                                  object_writer_factory)