Exemple #1
0
class TestCompatibilityFactory(unittest.TestCase):

    def setUp(self):
        python_info = mock.create_autospec(PythonInfo).return_value
        self.factory = CompatibilityFactory(python_info)

    @mock.patch('xcrawler.compatibility.compatibility_factory.WriteOpenerPython2')
    def test_create_file_write_strings_python2(self, mock_write_opener_python2_class):
        mock_write_opener = mock.create_autospec(WriteOpenerPython2).return_value
        mock_write_opener_python2_class.return_value = mock_write_opener
        self.factory.python_info.is_python2.return_value = True
        result = self.factory.create_compatible_write_opener()
        self.assertEquals(result, mock_write_opener)

    @mock.patch('xcrawler.compatibility.compatibility_factory.WriteOpenerPython3')
    def test_create_file_write_strings_python3(self, mock_write_opener_python3_class):
        mock_write_opener = mock.create_autospec(WriteOpenerPython3).return_value
        mock_write_opener_python3_class.return_value = mock_write_opener
        self.factory.python_info.is_python2.return_value = False
        result = self.factory.create_compatible_write_opener()
        self.assertEquals(result, mock_write_opener)

    @mock.patch('xcrawler.compatibility.compatibility_factory.ObjectConverterPython2')
    def test_create_object_converter_python2(self, mock_object_converter_python2_class):
        mock_converter = mock.create_autospec(ObjectConverterPython2).return_value
        mock_object_converter_python2_class.return_value = mock_converter
        self.factory.python_info.is_python2.return_value = True
        result = self.factory.create_compatible_object_converter()
        self.assertEquals(result, mock_converter)

    @mock.patch('xcrawler.compatibility.compatibility_factory.ObjectConverterPython3')
    def test_create_object_converter_python3(self, mock_object_converter_python3_class):
        mock_converter = mock.create_autospec(ObjectConverterPython3).return_value
        mock_object_converter_python3_class.return_value = mock_converter
        self.factory.python_info.is_python2.return_value = False
        result = self.factory.create_compatible_object_converter()
        self.assertEquals(result, mock_converter)

    @mock.patch('xcrawler.compatibility.compatibility_factory.StringConverterPython2')
    def test_create_string_converter_python2(self, mock_string_converter_python2_class):
        mock_converter = mock.create_autospec(StringConverterPython2).return_value
        mock_string_converter_python2_class.return_value = mock_converter
        self.factory.python_info.is_python2.return_value = True
        result = self.factory.create_compatible_string_converter()
        self.assertEquals(result, mock_converter)

    @mock.patch('xcrawler.compatibility.compatibility_factory.StringConverterPython3')
    def test_create_string_converter_python3(self, mock_string_converter_python3_class):
        mock_converter = mock.create_autospec(StringConverterPython3).return_value
        mock_string_converter_python3_class.return_value = mock_converter
        self.factory.python_info.is_python2.return_value = False
        result = self.factory.create_compatible_string_converter()
        self.assertEquals(result, mock_converter)
class TestCompatibilityFactory(unittest.TestCase):
    def setUp(self):
        python_info = mock.create_autospec(PythonInfo).return_value
        self.factory = CompatibilityFactory(python_info)

    @mock.patch("xcrawler.compatibility.compatibility_factory.WriteOpenerPython2")
    def test_create_file_write_strings_python2(self, mock_write_opener_python2_class):
        mock_write_opener = mock.create_autospec(WriteOpenerPython2).return_value
        mock_write_opener_python2_class.return_value = mock_write_opener
        self.factory.python_info.is_python2.return_value = True
        result = self.factory.create_compatible_write_opener()
        self.assertEquals(result, mock_write_opener)

    @mock.patch("xcrawler.compatibility.compatibility_factory.WriteOpenerPython3")
    def test_create_file_write_strings_python3(self, mock_write_opener_python3_class):
        mock_write_opener = mock.create_autospec(WriteOpenerPython3).return_value
        mock_write_opener_python3_class.return_value = mock_write_opener
        self.factory.python_info.is_python2.return_value = False
        result = self.factory.create_compatible_write_opener()
        self.assertEquals(result, mock_write_opener)

    @mock.patch("xcrawler.compatibility.compatibility_factory.ObjectConverterPython2")
    def test_create_object_converter_python2(self, mock_object_converter_python2_class):
        mock_converter = mock.create_autospec(ObjectConverterPython2).return_value
        mock_object_converter_python2_class.return_value = mock_converter
        self.factory.python_info.is_python2.return_value = True
        result = self.factory.create_compatible_object_converter()
        self.assertEquals(result, mock_converter)

    @mock.patch("xcrawler.compatibility.compatibility_factory.ObjectConverterPython3")
    def test_create_object_converter_python3(self, mock_object_converter_python3_class):
        mock_converter = mock.create_autospec(ObjectConverterPython3).return_value
        mock_object_converter_python3_class.return_value = mock_converter
        self.factory.python_info.is_python2.return_value = False
        result = self.factory.create_compatible_object_converter()
        self.assertEquals(result, mock_converter)

    @mock.patch("xcrawler.compatibility.compatibility_factory.StringConverterPython2")
    def test_create_string_converter_python2(self, mock_string_converter_python2_class):
        mock_converter = mock.create_autospec(StringConverterPython2).return_value
        mock_string_converter_python2_class.return_value = mock_converter
        self.factory.python_info.is_python2.return_value = True
        result = self.factory.create_compatible_string_converter()
        self.assertEquals(result, mock_converter)

    @mock.patch("xcrawler.compatibility.compatibility_factory.StringConverterPython3")
    def test_create_string_converter_python3(self, mock_string_converter_python3_class):
        mock_converter = mock.create_autospec(StringConverterPython3).return_value
        mock_string_converter_python3_class.return_value = mock_converter
        self.factory.python_info.is_python2.return_value = False
        result = self.factory.create_compatible_string_converter()
        self.assertEquals(result, mock_converter)
Exemple #3
0
 def __init__(self,
              url,
              page_scraper,
              request_factory=RequestFactory(),
              extractor_factory=ExtractorFactory(),
              url_joiner=UrlJoiner(),
              request_sender=RequestSender(),
              compatibility_factory=CompatibilityFactory()):
     self.url = url
     self.scraper = page_scraper
     self._content = None
     self.extractor = None
     self.request_factory = request_factory
     self.request = self.request_factory.create_request('GET', self.url)
     self.extractor_factory = extractor_factory
     self.url_joiner = url_joiner
     self.request_sender = request_sender
     self.string_converter = compatibility_factory.create_compatible_string_converter(
     )
Exemple #4
0
 def setUp(self):
     python_info = mock.create_autospec(PythonInfo).return_value
     self.factory = CompatibilityFactory(python_info)
 def __init__(self, compatibility_factory=CompatibilityFactory()):
     self.compatibility_factory = compatibility_factory
 def setUp(self):
     python_info = mock.create_autospec(PythonInfo).return_value
     self.factory = CompatibilityFactory(python_info)