class RenderTest(unittest.TestCase): def setUp(self): self.render = Render() def test_options(self): chrome_options = [ '--headless', '--window-size=1280x1024', '--hide-scrollbars', '--no-sandbox' ] self.assertListEqual(self.render.chrome_options.arguments, chrome_options) firefox_options = ['-headless', '--width 1280'] self.assertListEqual(self.render.firefox_options.arguments, firefox_options) self.assertFalse(self.render.is_open) self.assertIsNone(self.render.browser) @patch.object(webdriver, 'Firefox', MagicMock(options=None)) def test_open_with_firefox(self): self.render.open_browser('firefox') self.assertTrue(self.render.is_open) self.assertEqual(self.render.browser, 'firefox') assert webdriver.Firefox.called @patch.object(webdriver, 'Chrome', MagicMock(options=None)) def test_open_with_chrome(self): self.render.open_browser('chrome') self.assertTrue(self.render.is_open) self.assertEqual(self.render.browser, 'chrome') assert webdriver.Chrome.called @patch.object(webdriver, 'Chrome', MagicMock(options=None, quit=MagicMock())) def test_close_browser(self): self.render.open_browser('chrome') self.render.close_browser() self.assertFalse(self.render.is_open) self.assertEqual(self.render.browser, 'chrome') assert self.render.driver.quit.called def test_set_max_height(self): self.render.open_browser('chrome') self.render.driver.get(BASE64_HTML_MAX_HEIGHT) height = self.render.get_max_height() self.assertEqual(height, 2000) def test_render_selector(self): self.render.open_browser('chrome') image = self.render.render(BASE64_HTML_SELECTOR, '1280', '#test-me', '') # with open(os.path.join(dir_path, 'images', 'rendered-selector.png'), 'wb') as write_file: # write_file.write(image) with open(os.path.join(dir_path, 'selector.png'), 'rb') as file: png_data = file.read() self.assertEqual(png_data, image) def test_render_hide_selector(self): self.render.open_browser('chrome') image = self.render.render(BASE64_HTML_SELECTOR, '1280', '', '#do-not-test-me') # with open(os.path.join(dir_path, 'images', 'rendered-hide-selector.png'), 'wb') as write_file: # write_file.write(image) with open(os.path.join(dir_path, 'hide-selector.png'), 'rb') as file: png_data = file.read() self.assertEqual(png_data, image)