Ejemplo n.º 1
0
class TestExtractor(unittest.TestCase):
    def setUp(self):
        root_element = mock.create_autospec(Element).return_value
        extractor_xpath = mock.create_autospec(ExtractorXPath).return_value
        extractor_css = mock.create_autospec(ExtractorCss).return_value
        self.extractor = Extractor(root_element, extractor_xpath,
                                   extractor_css)

    def test_xpath(self):
        mock_path = "//div[@class='header_blue']"
        self.extractor.root_element.__str__ = "<html><div class='header_blue'>text1</div><div class='header_blue'>text2</div></html>"
        self.extractor.extractor_xpath.xpath.return_value = mock_factory.create_mock_fallback_list(
            ["<div>", "<div>"])
        result = self.extractor.xpath(mock_path)
        self.assertEquals(result, ["<div>", "<div>"])

    def test_css(self):
        mock_path = "a"
        self.extractor.root_element.__str__ = "<html><a href='url1'>text1</a><a href='url2'>text2</a></html>"
        self.extractor.extractor_css.css.return_value = mock_factory.create_mock_fallback_list(
            ["<a>", "<a>"])
        result = self.extractor.css(mock_path)
        self.assertEquals(result, ["<a>", "<a>"])

    def test_css_text(self):
        mock_path = "a"
        self.extractor.root_element.__str__ = "<html><a href='url1'>text1</a><a href='url2'>text2</a></html>"
        self.extractor.extractor_css.css_text.return_value = mock_factory.create_mock_fallback_list(
            ["text1", "text2"])
        result = self.extractor.css_text(mock_path)
        self.assertEquals(result, ["text1", "text2"])

    def test_css_attr(self):
        mock_path = "a"
        mock_attribute_name = "href"
        self.extractor.root_element.__str__ = "<html><a href='url1'>text1</a><a href='url2'>text2</a></html>"
        self.extractor.extractor_css.css_attr.return_value = mock_factory.create_mock_fallback_list(
            ["url1", "url2"])
        result = self.extractor.css_attr(mock_path, mock_attribute_name)
        self.assertEquals(result, ["url1", "url2"])
Ejemplo n.º 2
0
class TestExtractor(unittest.TestCase):

    def setUp(self):
        root_element = mock.create_autospec(Element).return_value
        extractor_xpath = mock.create_autospec(ExtractorXPath).return_value
        extractor_css = mock.create_autospec(ExtractorCss).return_value
        self.extractor = Extractor(root_element, extractor_xpath, extractor_css)
        
    def test_xpath(self):
        mock_path = "//div[@class='header_blue']"
        self.extractor.root_element.__str__ = "<html><div class='header_blue'>text1</div><div class='header_blue'>text2</div></html>"
        self.extractor.extractor_xpath.xpath.return_value = mock_factory.create_mock_fallback_list(["<div>", "<div>"])
        result = self.extractor.xpath(mock_path)
        self.assertEquals(result, ["<div>", "<div>"])

    def test_css(self):
        mock_path = "a"
        self.extractor.root_element.__str__ = "<html><a href='url1'>text1</a><a href='url2'>text2</a></html>"
        self.extractor.extractor_css.css.return_value = mock_factory.create_mock_fallback_list(["<a>", "<a>"])
        result = self.extractor.css(mock_path)
        self.assertEquals(result, ["<a>", "<a>"])

    def test_css_text(self):
        mock_path = "a"
        self.extractor.root_element.__str__ = "<html><a href='url1'>text1</a><a href='url2'>text2</a></html>"
        self.extractor.extractor_css.css_text.return_value = mock_factory.create_mock_fallback_list(["text1", "text2"])
        result = self.extractor.css_text(mock_path)
        self.assertEquals(result, ["text1", "text2"])

    def test_css_attr(self):
        mock_path = "a"
        mock_attribute_name = "href"
        self.extractor.root_element.__str__ = "<html><a href='url1'>text1</a><a href='url2'>text2</a></html>"
        self.extractor.extractor_css.css_attr.return_value = mock_factory.create_mock_fallback_list(["url1", "url2"])
        result = self.extractor.css_attr(mock_path, mock_attribute_name)
        self.assertEquals(result, ["url1", "url2"])
Ejemplo n.º 3
0
 def create_extractor(self, element):
     extractor_xpath = self.create_extractor_xpath(element)
     extractor_css = self.create_extractor_css(element)
     extractor = Extractor(element, extractor_xpath, extractor_css)
     return extractor
Ejemplo n.º 4
0
 def setUp(self):
     root_element = mock.create_autospec(Element).return_value
     extractor_xpath = mock.create_autospec(ExtractorXPath).return_value
     extractor_css = mock.create_autospec(ExtractorCss).return_value
     self.extractor = Extractor(root_element, extractor_xpath, extractor_css)
Ejemplo n.º 5
0
 def setUp(self):
     root_element = mock.create_autospec(Element).return_value
     extractor_xpath = mock.create_autospec(ExtractorXPath).return_value
     extractor_css = mock.create_autospec(ExtractorCss).return_value
     self.extractor = Extractor(root_element, extractor_xpath,
                                extractor_css)